Koyeb Deployments API

The Deployments API from Koyeb — 5 operation(s) for deployments.

OpenAPI Specification

koyeb-deployments-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Koyeb Rest activity Deployments API
  description: 'The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests.

    '
  version: 1.0.0
host: app.koyeb.com
schemes:
- https
security:
- Bearer: []
tags:
- name: Deployments
paths:
  /v1/deployment/{id}/scaling:
    get:
      summary: Get Deployment Scaling
      operationId: GetDeploymentScaling
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/GetDeploymentScalingReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: id
        in: path
        required: true
        type: string
      - name: region
        description: (Optional) Filter on region
        in: query
        required: false
        type: string
      - name: replica_index
        description: (Optional) Filter on replica_index
        in: query
        required: false
        type: integer
        format: int64
      tags:
      - Deployments
  /v1/deployment_events:
    get:
      summary: List Deployment events
      operationId: ListDeploymentEvents
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ListDeploymentEventsReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: deployment_id
        description: (Optional) Filter on deployment id
        in: query
        required: false
        type: string
      - name: types
        description: (Optional) Filter on deployment event types
        in: query
        required: false
        type: array
        items:
          type: string
        collectionFormat: multi
      - name: limit
        description: (Optional) The number of items to return
        in: query
        required: false
        type: string
      - name: offset
        description: (Optional) The offset in the list of item to return
        in: query
        required: false
        type: string
      - name: order
        description: (Optional) Sorts the list in the ascending or the descending order
        in: query
        required: false
        type: string
      tags:
      - Deployments
  /v1/deployments:
    get:
      summary: List Deployments
      operationId: ListDeployments
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/ListDeploymentsReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: app_id
        description: (Optional) Filter on application id
        in: query
        required: false
        type: string
      - name: service_id
        description: (Optional) Filter on service id
        in: query
        required: false
        type: string
      - name: limit
        description: (Optional) The number of items to return
        in: query
        required: false
        type: string
      - name: offset
        description: (Optional) The offset in the list of item to return
        in: query
        required: false
        type: string
      - name: statuses
        description: (Optional) Filter on statuses
        in: query
        required: false
        type: array
        items:
          type: string
          enum:
          - PENDING
          - PROVISIONING
          - SCHEDULED
          - CANCELING
          - CANCELED
          - ALLOCATING
          - STARTING
          - HEALTHY
          - DEGRADED
          - UNHEALTHY
          - STOPPING
          - STOPPED
          - ERRORING
          - ERROR
          - STASHED
          - SLEEPING
        collectionFormat: multi
      tags:
      - Deployments
  /v1/deployments/{id}:
    get:
      summary: Get Deployment
      operationId: GetDeployment
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/GetDeploymentReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: id
        description: The id of the deployment
        in: path
        required: true
        type: string
      tags:
      - Deployments
  /v1/deployments/{id}/cancel:
    post:
      summary: Cancel Deployment
      description: "Deployment cancellation is allowed for the following status:\n - pending\n - provisioning\n - scheduled"
      operationId: CancelDeployment
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/CancelDeploymentReply'
        '400':
          description: Validation error
          schema:
            $ref: '#/definitions/ErrorWithFields'
        '401':
          description: Returned when the token is not valid.
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Returned when the user does not have permission to access the resource.
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Returned when the resource does not exist.
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Returned in case of server error.
          schema:
            $ref: '#/definitions/Error'
        '503':
          description: Service is unavailable.
          schema:
            $ref: '#/definitions/Error'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/google.rpc.Status'
      parameters:
      - name: id
        description: The id of the deployment to cancel.
        in: path
        required: true
        type: string
      tags:
      - Deployments
definitions:
  GitSource:
    type: object
    properties:
      repository:
        type: string
        description: 'A url to a git repository (contains the provider as well) .e.g: github.com/koyeb/test.'
      branch:
        type: string
        title: A git branch that will be tracked for new commits and deployments will be created
      tag:
        type: string
        title: A git tag that should be built
      sha:
        type: string
        title: A git commit that should be built (useful for pinning to a commit, this will always be set when a deployment is created by a code push)
      build_command:
        type: string
        title: A command used to override the build command, run after all build steps — deprecated, use buildpack.build_command instead
      run_command:
        type: string
        title: A command used to override the default run command - deprecated, use buildpack.run_command instead
      no_deploy_on_push:
        type: boolean
        title: A flag to disable a new deployment when a push event is detected
      workdir:
        type: string
        title: A subdirectory to use as the build directory
      buildpack:
        $ref: '#/definitions/BuildpackBuilder'
      docker:
        $ref: '#/definitions/DockerBuilder'
  DeploymentListItem:
    type: object
    properties:
      id:
        type: string
      created_at:
        type: string
        format: date-time
      updated_at:
        type: string
        format: date-time
      allocated_at:
        type: string
        format: date-time
      started_at:
        type: string
        format: date-time
      succeeded_at:
        type: string
        format: date-time
      terminated_at:
        type: string
        format: date-time
      organization_id:
        type: string
      app_id:
        type: string
      service_id:
        type: string
      parent_id:
        type: string
      child_id:
        type: string
      status:
        $ref: '#/definitions/Deployment.Status'
      metadata:
        $ref: '#/definitions/DeploymentMetadata'
      definition:
        $ref: '#/definitions/DeploymentDefinition'
      messages:
        type: array
        items:
          type: string
      provisioning_info:
        $ref: '#/definitions/DeploymentProvisioningInfo'
      database_info:
        $ref: '#/definitions/DeploymentDatabaseInfo'
      version:
        type: string
        format: uint64
      deployment_group:
        type: string
  NeonPostgresDatabase.NeonRole:
    type: object
    properties:
      name:
        type: string
      secret:
        type: string
  BasicAuthPolicy:
    type: object
    properties:
      username:
        type: string
      password:
        type: string
  DatabaseDeploymentMetadata:
    type: object
    properties:
      neon_postgres:
        $ref: '#/definitions/NeonPostgresDatabaseDeploymentMetadata'
  TriggerDeploymentMetadata.ActorType:
    type: string
    enum:
    - UNKNOWN_ACTOR
    - USER
    - SYSTEM
    default: UNKNOWN_ACTOR
  DeploymentProvisioningInfo.Stage.BuildAttempt:
    type: object
    properties:
      id:
        type: integer
        format: int64
      status:
        $ref: '#/definitions/DeploymentProvisioningInfo.Stage.Status'
      messages:
        type: array
        items:
          type: string
      started_at:
        type: string
        format: date-time
      finished_at:
        type: string
        format: date-time
      steps:
        type: array
        items:
          $ref: '#/definitions/DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep'
      image_pushed:
        type: boolean
      internal_failure:
        type: boolean
      retryable_failure:
        type: boolean
      wait_completion:
        type: boolean
        description: This flag is used to finalize the build, and continue the deployment in case of success, or cancel and potentially retry the build in case of failure.
  CancelDeploymentReply:
    type: object
  Deployment.Role:
    type: string
    enum:
    - INVALID
    - ACTIVE
    - UPCOMING
    - CURRENT
    default: INVALID
  DeploymentScalingTargetSleepIdleDelay:
    type: object
    properties:
      value:
        type: integer
        format: int64
        description: 'DEPRECATED: use deep_sleep_value instead.

          Delay in seconds after which a service which received 0 request is put to deep sleep.'
      deep_sleep_value:
        type: integer
        format: int64
        description: Delay in seconds after which a service which received 0 request is put to deep sleep.
      light_sleep_value:
        type: integer
        format: int64
        description: Delay in seconds after which a service which received 0 request is put to light sleep.
  GetDeploymentScalingReply:
    type: object
    properties:
      replicas:
        type: array
        items:
          $ref: '#/definitions/GetDeploymentScalingReplyItem'
        title: The replicas
  DeploymentMetadata:
    type: object
    properties:
      trigger:
        $ref: '#/definitions/TriggerDeploymentMetadata'
      database:
        $ref: '#/definitions/DatabaseDeploymentMetadata'
      git:
        $ref: '#/definitions/GitDeploymentMetadata'
      archive:
        $ref: '#/definitions/ArchiveDeploymentMetadata'
      proxy_ports:
        type: array
        items:
          $ref: '#/definitions/DeploymentProxyPortMetadata'
  DeploymentStrategy:
    type: object
    properties:
      type:
        $ref: '#/definitions/DeploymentStrategyType'
        title: Strategy type
  DeploymentDefinition:
    type: object
    properties:
      name:
        type: string
      type:
        $ref: '#/definitions/DeploymentDefinition.Type'
      strategy:
        $ref: '#/definitions/DeploymentStrategy'
      routes:
        type: array
        items:
          $ref: '#/definitions/DeploymentRoute'
      ports:
        type: array
        items:
          $ref: '#/definitions/DeploymentPort'
      proxy_ports:
        type: array
        items:
          $ref: '#/definitions/DeploymentProxyPort'
      env:
        type: array
        items:
          $ref: '#/definitions/DeploymentEnv'
      regions:
        type: array
        items:
          type: string
      scalings:
        type: array
        items:
          $ref: '#/definitions/DeploymentScaling'
      instance_types:
        type: array
        items:
          $ref: '#/definitions/DeploymentInstanceType'
      health_checks:
        type: array
        items:
          $ref: '#/definitions/DeploymentHealthCheck'
      volumes:
        type: array
        items:
          $ref: '#/definitions/DeploymentVolume'
      config_files:
        type: array
        items:
          $ref: '#/definitions/ConfigFile'
      skip_cache:
        type: boolean
      docker:
        $ref: '#/definitions/DockerSource'
      git:
        $ref: '#/definitions/GitSource'
      database:
        $ref: '#/definitions/DatabaseSource'
      archive:
        $ref: '#/definitions/ArchiveSource'
  ProxyPortProtocol:
    type: string
    enum:
    - tcp
    default: tcp
  DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep:
    type: object
    properties:
      name:
        type: string
      status:
        $ref: '#/definitions/DeploymentProvisioningInfo.Stage.Status'
      messages:
        type: array
        items:
          type: string
      started_at:
        type: string
        format: date-time
      finished_at:
        type: string
        format: date-time
  DockerSource:
    type: object
    properties:
      image:
        type: string
      command:
        type: string
      args:
        type: array
        items:
          type: string
      image_registry_secret:
        type: string
      entrypoint:
        type: array
        items:
          type: string
      privileged:
        type: boolean
        title: A flag to run the container in privileged mode
  DeploymentProxyPort:
    type: object
    properties:
      port:
        type: integer
        format: int64
      protocol:
        $ref: '#/definitions/ProxyPortProtocol'
  DeploymentPort:
    type: object
    properties:
      port:
        type: integer
        format: int64
      protocol:
        type: string
        title: One of http, http2, tcp
  DeploymentNeonPostgresDatabaseInfo:
    type: object
    properties:
      active_time_seconds:
        type: string
        format: int64
      compute_time_seconds:
        type: string
        format: int64
      written_data_bytes:
        type: string
        format: int64
      data_transfer_bytes:
        type: string
        format: int64
      data_storage_bytes_hour:
        type: string
        format: int64
      server_host:
        type: string
      server_port:
        type: integer
        format: int64
      endpoint_state:
        type: string
      endpoint_last_active:
        type: string
        format: date-time
      default_branch_id:
        type: string
      default_branch_name:
        type: string
      default_branch_state:
        type: string
      default_branch_logical_size:
        type: string
        format: int64
      roles:
        type: array
        items:
          $ref: '#/definitions/DeploymentNeonPostgresDatabaseInfoRole'
  GetDeploymentReply:
    type: object
    properties:
      deployment:
        $ref: '#/definitions/Deployment'
  BuildpackBuilder:
    type: object
    properties:
      build_command:
        type: string
        title: A command used to override the build command, run after all build steps
      run_command:
        type: string
        title: A command used to override the default run command
      privileged:
        type: boolean
        title: A flag to run the container in privileged mode
  DeploymentEvent:
    type: object
    properties:
      id:
        type: string
      when:
        type: string
        format: date-time
      organization_id:
        type: string
      deployment_id:
        type: string
      type:
        type: string
      message:
        type: string
      metadata:
        type: object
  DeploymentScaling:
    type: object
    properties:
      scopes:
        type: array
        items:
          type: string
      min:
        type: integer
        format: int64
      max:
        type: integer
        format: int64
      targets:
        type: array
        items:
          $ref: '#/definitions/DeploymentScalingTarget'
  DeploymentScalingTarget:
    type: object
    properties:
      average_cpu:
        $ref: '#/definitions/DeploymentScalingTargetAverageCPU'
      average_mem:
        $ref: '#/definitions/DeploymentScalingTargetAverageMem'
      requests_per_second:
        $ref: '#/definitions/DeploymentScalingTargetRequestsPerSecond'
      concurrent_requests:
        $ref: '#/definitions/DeploymentScalingTargetConcurrentRequests'
      requests_response_time:
        $ref: '#/definitions/DeploymentScalingTargetRequestsResponseTime'
      sleep_idle_delay:
        $ref: '#/definitions/DeploymentScalingTargetSleepIdleDelay'
  DeploymentScalingTargetConcurrentRequests:
    type: object
    properties:
      value:
        type: integer
        format: int64
  NeonPostgresDatabase:
    type: object
    properties:
      pg_version:
        type: integer
        format: int64
      region:
        type: string
      instance_type:
        type: string
      roles:
        type: array
        items:
          $ref: '#/definitions/NeonPostgresDatabase.NeonRole'
      databases:
        type: array
        items:
          $ref: '#/definitions/NeonPostgresDatabase.NeonDatabase'
  DeploymentScalingTargetAverageCPU:
    type: object
    properties:
      value:
        type: integer
        format: int64
  ArchiveDeploymentMetadata:
    type: object
    properties:
      last_provisioned_deployment_id:
        type: string
  DeploymentStrategyType:
    type: string
    enum:
    - DEPLOYMENT_STRATEGY_TYPE_INVALID
    - DEPLOYMENT_STRATEGY_TYPE_DEFAULT
    - DEPLOYMENT_STRATEGY_TYPE_CANARY
    - DEPLOYMENT_STRATEGY_TYPE_ROLLING
    - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN
    - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE
    default: DEPLOYMENT_STRATEGY_TYPE_INVALID
    description: " - DEPLOYMENT_STRATEGY_TYPE_INVALID: DEPRECATED: Use DEPLOYMENT_STRATEGY_TYPE_DEFAULT instead.\n - DEPLOYMENT_STRATEGY_TYPE_DEFAULT: Default/unspecified strategy (resolves to platform default, currently ROLLING).\n - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy.\n - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy.\n - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy.\n - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy."
  Deployment.Status:
    type: string
    enum:
    - PENDING
    - PROVISIONING
    - SCHEDULED
    - CANCELING
    - CANCELED
    - ALLOCATING
    - STARTING
    - HEALTHY
    - DEGRADED
    - UNHEALTHY
    - STOPPING
    - STOPPED
    - ERRORING
    - ERROR
    - STASHED
    - SLEEPING
    default: PENDING
  NeonPostgresDatabase.NeonDatabase:
    type: object
    properties:
      name:
        type: string
      owner:
        type: string
  ErrorWithFields:
    type: object
    properties:
      status:
        type: integer
        format: int32
      code:
        type: string
      message:
        type: string
      fields:
        type: array
        items:
          $ref: '#/definitions/ErrorField'
  Deployment:
    type: object
    properties:
      id:
        type: string
      created_at:
        type: string
        format: date-time
      updated_at:
        type: string
        format: date-time
      allocated_at:
        type: string
        format: date-time
      started_at:
        type: string
        format: date-time
      succeeded_at:
        type: string
        format: date-time
      terminated_at:
        type: string
        format: date-time
      organization_id:
        type: string
      app_id:
        type: string
      service_id:
        type: string
      parent_id:
        type: string
      child_id:
        type: string
      status:
        $ref: '#/definitions/Deployment.Status'
      metadata:
        $ref: '#/definitions/DeploymentMetadata'
      definition:
        $ref: '#/definitions/DeploymentDefinition'
      messages:
        type: array
        items:
          type: string
      provisioning_info:
        $ref: '#/definitions/DeploymentProvisioningInfo'
      database_info:
        $ref: '#/definitions/DeploymentDatabaseInfo'
      skip_build:
        type: boolean
      role:
        $ref: '#/definitions/Deployment.Role'
      version:
        type: string
        format: uint64
      deployment_group:
        type: string
  GitDeploymentMetadata:
    type: object
    properties:
      last_provisioned_deployment_id:
        type: string
      git_env:
        $ref: '#/definitions/GitEnvDeploymentMetadata'
  DeploymentProxyPortMetadata:
    type: object
    properties:
      host:
        type: string
      public_port:
        type: integer
        format: int64
      port:
        type: integer
        format: int64
      protocol:
        $ref: '#/definitions/ProxyPortProtocol'
  ErrorField:
    type: object
    properties:
      field:
        type: string
      description:
        type: string
  DeploymentInstanceType:
    type: object
    properties:
      scopes:
        type: array
        items:
          type: string
      type:
        type: string
  Error:
    type: object
    properties:
      status:
        type: integer
        format: int32
      code:
        type: string
      message:
        type: string
  ArchiveSource:
    type: object
    properties:
      id:
        type: string
        title: The ID of the archive to deploy
      buildpack:
        $ref: '#/definitions/BuildpackBuilder'
      docker:
        $ref: '#/definitions/DockerBuilder'
  DeploymentRoute:
    type: object
    properties:
      port:
        type: integer
        format: int64
      path:
        type: string
      security_policies:
        $ref: '#/definitions/SecurityPolicies'
  google.rpc.Status:
    type: object
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string
      details:
        type: array
        items:
          $ref: '#/definitions/google.protobuf.Any'
  DeploymentProvisioningInfo.Stage.Status:
    type: string
    enum:
    - UNKNOWN
    - PENDING
    - RUNNING
    - FAILED
    - COMPLETED
    - ABORTED
    default: UNKNOWN
  ListDeploymentsReply:
    type: object
    properties:
      deployments:
        type: array
        items:
          $ref: '#/definitions/DeploymentListItem'
        title: The collection of deployments
      limit:
        type: integer
        format: int64
        title: The limit in the request
      offset:
        type: integer
        format: int64
        title: The offset in the request
      count:
        type: integer
        format: int64
        title: The total number of items
      has_next:
        type: boolean
        title: If there is more items after in the collection
  DeploymentEnv:
    type: object
    properties:
      scopes:
        type: array
        items:
          type: string
      key:
        type: string
      value:
        type: string
      secret:
        type: string
  ListDeploymentEventsReply:
    type: object
    properties:
      events:
        type: array
        items:
          $ref: '#/definitions/DeploymentEvent'
        title: The collection of events
      limit:
        type: integer
        format: int64
        title: The limit in the request
      offset:
        type: integer
        format: int64
        title: The offset in the request
      order:
        type: string
        title: The order in the request
      has_next:
        type: boolean
        title: If there is more items after in the collection
  DatabaseSource:
    type: object
    properties:
      neon_postgres:
        $ref: '#/definitions/NeonPostgresDatabase'
  DeploymentDefinition.Type:
    type: string
    enum:
    - INVALID
    - WEB
    - WORKER
    - DATABASE
    - SANDBOX
    default: INVALID
  TriggerDeploymentMetadata.TriggerType:
    type: string
    enum:
    - UNKNOWN_TYPE
    - GIT
    - RESUME
    - DATABASE_SYNC
    default: UNKNOWN_TYPE
  Instance:
    type: object
    properties:
      id:
        type: string
      created_at:
        type: string
        format: date-time
      updated_at:
        type: string
        format: date-time
      organization_id:
        type: string
      app_id:
        type: string
      service_id:
        type: string
      regional_deployment_id:
        type: string
      allocation_id:
        type: string
      type:
        type: string
      replica_index:
        type: integer
        format: int64
      region:
        type: string
      datacenter:
        type: string
      hypervisor:
        type: string
      status:
        $ref: '#/definitions/Instance.Status'
      messages:
        type: array
        items:
          type: string
      started_at:
        type: string
        format: date-time
      succeeded_at:
        type: string
        format: date-time
      terminated_at:
        type: string
        format: date-time
      xyz_deployment_id:
        type: string
        description: 'WARNING: Please don''t use the following attribute.

          Koyeb doesn''t guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.

          USE AT YOUR OWN RISK.'
  NeonPostgresDatabaseDeploymentMetadata:
    type: object
    properties:
      reset_role_passwords:
        type: array
        items:
          type: string
  DockerBuilder:
    type: object
    properties:
      dockerfile:
        type: string
        title: A path to the Dockerfile
      entrypoint:
        type: array
        items:
          type: string
        title: The docker ENTRYPOINT
      command:
        type: string
        title: The docker CMD
      args:
        type: array
        items:
          type: string
        title: The docker CMD args
      target:
        type: string
        title: The target for multi-stage builds
      privileged:
        type: boolean
        title: A flag to run the container in privileged mode
  DeploymentScalingTargetRequestsPerSecond:
    type: object
    properties:
      value:
        type: integer
        format: int64
  GitEnvDeploymentMetadata:
    type: object
    properties:
      sha:
        type: string
      commit_author:
        type: string
      commit_message:
        type: string
  HTTPHeader:
    type: object
    properties:
      key:
        type: string
      value:
        type: string
  DeploymentHealthCheck:
    type: object
    properties:
      grace_period:
        type: integer
        format: int64
        title: An optional initial period in seconds to wait for the instance to become healthy, default is 5s
      interval:
        type: integer
        format: int64
        title: An optional period in seconds between two health checks, default is 60s
      restart_limit:
        type: integer
        format: int64
        title: An optional number of consecutive failures before attempting to restart the service, default is 3
      timeout:
        type: integer
        format: int64
        title: An optional maximum time to wait in seconds before considering the check as a failure, default is 5s
      tcp:
        $ref: '#/definitions/TCPHealthCheck'
      http:
        $ref: '#/definitions/HTTPHealthCheck'
  DeploymentNeonPostgresDatabaseInfoRole:
    type: object
    properties:
      name:
        type: string
      secret_id:
        type: string
  DeploymentDatabaseInfo:
    type: object
    properties:
      neon_postgres:
        $ref: '#/definitions/DeploymentNeonPostgresDatabaseInfo'
  DeploymentProvisioningInfo:
    type: object
    properties:
      sha:
        type: string
        description: The git sha for this build (we resolve the reference at the start of the build).
      image:
        type: string
        description: The docker image built as a result of this build.
      stages:
        type: array
        items:
          $ref: '#/definitions/DeploymentProvisioningInfo.Stage'
        description: Some info about the build.
  TCPHealthCheck:
    type: object
    properties:
      port:
        type: integer
        format: int64
        title: The port to use to perform the health check, must be declared in the ports section
  TriggerGitDeploymentMetadata.Provider:
    type: string
    enum:
    - UNKNOWN
    - GITHUB
    default: UNKNOWN
  DeploymentScalingTargetAverageMem:
    type: object
    properties:
      value:
        type: integer
        format: int64
  ConfigFile:
    type: object
    properties:
      path:
        type: string
        title: the path where the file is copied
      permissions:
        type: string
        title: the permissions of the file in format 0644
      content:
        type: string
        title: the content of the file
  HTTPHealthCheck:
    type: object
    properties:
      port:
        type: integer
        format: int64
        title: The port to use to perform the health check, must be declared in the ports section
      path:
        type: string
        title

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/koyeb/refs/heads/main/openapi/koyeb-deployments-api-openapi.yml