Qovery Applications API

The Applications API from Qovery — 4 operation(s) for applications.

Operations 5

GET /environment/{environmentId}/application List applications #
POST /environment/{environmentId}/application Create an application #
GET /environment/{environmentId}/application/status List all environment applications statuses #
GET /defaultApplicationAdvancedSettings List default application advanced settings #
POST /application/{applicationId}/clone Clone application #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/qovery-applications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

qovery-applications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.4
  title: Qovery Account Info Applications API
  description: '- Qovery is the fastest way to deploy your full-stack apps on any Cloud provider.

    - ℹ️ The API is stable and still in development.

    '
  contact:
    name: Qovery Product Team
    url: https://www.qovery.com
    email: support+api+documentation@qovery.com
  x-logo:
    url: https://console.qovery.com/assets/logos/logo-white.svg
    altText: Qovery
servers:
- url: https://api.qovery.com
security:
- bearerAuth: []
- ApiKeyAuth: []
tags:
- name: Applications
paths:
  /environment/{environmentId}/application:
    get:
      summary: List applications
      operationId: listApplication
      parameters:
      - $ref: '#/components/parameters/environmentId'
      - $ref: '#/paths/~1environment~1%7BenvironmentId%7D~1job/get/parameters/1'
      tags:
      - Applications
      responses:
        '200':
          description: List applications
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    post:
      summary: Create an application
      operationId: createApplication
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Applications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationRequest'
      responses:
        '201':
          description: Create application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          description: Application name within the environment is already taken
  /environment/{environmentId}/application/status:
    get:
      summary: List all environment applications statuses
      description: Returns a list of applications with only their id and status.
      operationId: getEnvironmentApplicationStatus
      parameters:
      - $ref: '#/components/parameters/environmentId'
      tags:
      - Applications
      responses:
        '200':
          description: Get status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceObjectStatusResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /defaultApplicationAdvancedSettings:
    get:
      summary: List default application advanced settings
      operationId: getDefaultApplicationAdvancedSettings
      description: Default values for each setting are available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/advanced-settings/)
      tags:
      - Applications
      responses:
        '200':
          description: Default application advanced settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationAdvancedSettings'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
  /application/{applicationId}/clone:
    post:
      summary: Clone application
      description: This will create a new application with the same configuration on the targeted environment Id.
      operationId: cloneApplication
      parameters:
      - $ref: '#/components/parameters/applicationId'
      tags:
      - Applications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloneServiceRequest'
      responses:
        '202':
          description: Application clone has been requested
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          description: Operation is in progress
components:
  schemas:
    BuildModeEnum:
      type: string
      enum:
      - DOCKER
      description: '`DOCKER` requires `dockerfile_path`

        '
      default: DOCKER
    ReferenceObject:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
    ServiceLabelsRequestList:
      type: array
      items:
        $ref: '#/components/schemas/ServiceLabelRequest'
    OrganizationAnnotationsGroupScopeEnum:
      type: string
      description: Annotations Group Scope
      enum:
      - DEPLOYMENTS
      - STATEFUL_SETS
      - SERVICES
      - INGRESS
      - GATEWAY_API_ROUTES
      - HPA
      - PODS
      - SECRETS
      - JOBS
      - CRON_JOBS
    ApplicationAdvancedSettings:
      type: object
      properties:
        deployment.custom_domain_check_enabled:
          type: boolean
          description: disable custom domain check when deploying an application
        deployment.termination_grace_period_seconds:
          type: integer
          description: define how long in seconds an application is supposed to be stopped gracefully
        deployment.affinity.node.required:
          type: object
          description: Set pod placement on specific Kubernetes nodes labels
          additionalProperties:
            type: string
        deployment.antiaffinity.pod:
          type: string
          enum:
          - Preferred
          - Requirred
          description: 'Define how you want pods affinity to behave:

            * `Preferred` allows, but does not require, pods of a given service are not co-located (or co-hosted) on a single node

            * `Requirred` ensures that the pods of a given service are not co-located (or co-hosted) on a single node (safer in term of availability but can be expensive depending on the number of replicas)

            '
        deployment.topology_spread.zone:
          type: string
          enum:
          - Disabled
          - ScheduleAnyway
          - DoNotSchedule
          description: 'Define how you want pods to be spread across availability zones:

            * `Disabled` no topology spread constraints are applied

            * `ScheduleAnyway` pods are spread across zones on a best-effort basis (soft constraint)

            * `DoNotSchedule` pods must be evenly spread across zones with a maxSkew of 1 (hard constraint)

            '
        deployment.lifecycle.post_start_exec_command:
          type: array
          x-stoplight:
            id: ucpjmpaclq1wl
          description: Allows you to run a command after the application is started. The command should be a shell command or script.
          items:
            x-stoplight:
              id: 8zq97yrgn1iom
            type: string
        deployment.lifecycle.pre_stop_exec_command:
          type: array
          x-stoplight:
            id: skk1wo5xhz5mc
          description: Allows you to run a command before the application is stopped. The command should be a shell command or script. Qovery requires the sh shell by default and sets a sleep of 15 seconds to let Nginx update its config. Avoiding error codes returned during a rolling update.
          items:
            x-stoplight:
              id: oomiyuna5h91g
            type: string
        deployment.update_strategy.type:
          type: string
          enum:
          - RollingUpdate
          - Recreate
          description: '* `RollingUpdate` gracefully rollout new versions, and automatically rollback if the new version fails to start

            * `Recreate` stop all current versions and create new ones once all old ones have been shutdown

            '
        deployment.update_strategy.rolling_update.max_unavailable_percent:
          type: integer
          description: Define the percentage of a maximum number of pods that can be unavailable during the update process
        deployment.update_strategy.rolling_update.max_surge_percent:
          type: integer
          description: Define the percentage of the maximum number of pods that can be created over the desired number of pods
        build.timeout_max_sec:
          type: integer
        build.cpu_max_in_milli:
          type: integer
          description: define the max cpu resources (in milli)
        build.ram_max_in_gib:
          type: integer
          description: define the max ram resources (in gib)
        build.disable_buildkit_cache:
          type: boolean
          description: disable buildkit registry cache during build
        network.ingress.proxy_body_size_mb:
          type: integer
        network.ingress.force_ssl_redirect:
          type: boolean
          x-stoplight:
            id: am7oh5tdono3z
          description: When using SSL offloading outside of cluster, you can enforce a redirect to HTTPS even when there is no TLS certificate available
        network.ingress.enable_cors:
          type: boolean
        network.ingress.cors_allow_origin:
          type: string
        network.ingress.cors_allow_methods:
          type: string
        network.ingress.cors_allow_headers:
          type: string
        network.ingress.proxy_buffer_size_kb:
          type: integer
          description: header buffer size used while reading response header from upstream
        network.ingress.keepalive_time_seconds:
          type: integer
          description: Limits the maximum time (in seconds) during which requests can be processed through one keepalive connection
        network.ingress.keepalive_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) during which an idle keepalive connection to an upstream server will stay open.
        network.ingress.send_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for transmitting a response to the client
        network.ingress.proxy_connect_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for establishing a connection to a proxied server
        network.ingress.proxy_send_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for transmitting a request to the proxied server
        network.ingress.proxy_read_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for reading a response from the proxied server
        network.ingress.proxy_buffering:
          type: string
          description: Allows to enable or disable nginx `proxy-request-buffering`
        network.ingress.whitelist_source_range:
          type: string
          description: "list of source ranges to allow access to ingress proxy. \nThis property can be used to whitelist source IP ranges for ingress proxy.\nThe value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1\nTo allow all source ranges, set 0.0.0.0/0.\n"
        network.ingress.denylist_source_range:
          type: string
          description: "list of source ranges to deny access to ingress proxy. \nThis property can be used to blacklist source IP ranges for ingress proxy.\nThe value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1\n"
        network.ingress.basic_auth_env_var:
          type: string
          description: 'Set the name of an environment variable to use as a basic authentication (`login:crypted_password`) from `htpasswd` command.

            '
        network.ingress.enable_sticky_session:
          type: boolean
          description: 'Enable the load balancer to bind a user''s session to a specific target.

            This ensures that all requests from the user during the session are sent to the same target

            '
        network.ingress.grpc_send_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for transmitting a request to the grpc server
        network.ingress.grpc_read_timeout_seconds:
          type: integer
          description: Sets a timeout (in seconds) for transmitting a request to the grpc server
        network.ingress.extra_headers:
          type: string
          description: Allows to define response headers
          example: '{"X-Frame-Options":"DENY ","X-Content-Type-Options":"nosniff"}'
        network.gateway_api.http_request_timeout_seconds:
          type:
          - integer
          - 'null'
          minimum: 0
          description: Sets a timeout (in seconds) for requests proxied through the Gateway API route.
        network.gateway_api.http_connection_idle_timeout_seconds:
          type:
          - integer
          - 'null'
          minimum: 0
          description: Sets the idle timeout (in seconds) for HTTP connections proxied through the Gateway API route.
        hpa.cpu.average_utilization_percent:
          type: integer
          description: Percentage value of cpu usage at which point pods should scale up.
        hpa.memory.average_utilization_percent:
          type:
          - integer
          - 'null'
          description: Percentage value of memory usage at which point pods should scale up.
        security.service_account_name:
          type: string
          description: 'Allows you to set an existing Kubernetes service account name

            '
        security.automount_service_account_token:
          type: boolean
          description: 'Automount Kubernetes service account token to have access to Kubernetes API from pods

            '
        security.read_only_root_filesystem:
          type: boolean
          description: 'Mounts the container''s root filesystem as read-only

            '
    KedaAutoscalingResponse:
      title: KedaAutoscalingResponse
      x-stoplight:
        id: dgcb902szizvv
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        x-stoplight:
          id: zjlwqohiiyuwf
        required:
        - service_id
        - mode
        - polling_interval_seconds
        - cooldown_period_seconds
        - scalers
        properties:
          service_id:
            type: string
            x-stoplight:
              id: j9bxhtiyyl0iv
            format: uuid
          mode:
            $ref: '#/components/schemas/AutoscalingMode'
          polling_interval_seconds:
            type: integer
            x-stoplight:
              id: uone6zr48amok
            format: int32
          cooldown_period_seconds:
            type: integer
            x-stoplight:
              id: j2dapmjjjiafj
            format: int32
          scalers:
            type: array
            x-stoplight:
              id: oyhxgvwg36ixz
            minItems: 1
            items:
              $ref: '#/components/schemas/KedaScalerResponse'
      description: ''
    ServiceTypeEnum:
      type: string
      x-stoplight:
        id: d66063cd29913
      description: type of the service (application, database, job, ...)
      enum:
      - APPLICATION
      - DATABASE
      - CONTAINER
      - JOB
      - HELM
      - TERRAFORM
      - ARGOCD_APP
    ApplicationGitRepository:
      type: object
      required:
      - provider
      - owner
      - name
      - url
      properties:
        has_access:
          type: boolean
        provider:
          $ref: '#/components/schemas/GitProviderEnum'
        owner:
          type: string
          example: John Doe
        url:
          type: string
          format: uri
        name:
          type: string
          description: repository name
          example: simple-node-app
        branch:
          type: string
        root_path:
          type: string
        deployed_commit_id:
          type: string
          description: Git commit ID corresponding to the deployed version of the app
        deployed_commit_date:
          type: string
          readOnly: true
          format: date-time
          description: Git commit date corresponding to the deployed version of the app
        deployed_commit_contributor:
          type: string
          description: Git commit user corresponding to the deployed version of the app
        deployed_commit_tag:
          type: string
          example: v1.0.1
        git_token_id:
          type:
          - string
          - 'null'
        git_token_name:
          type:
          - string
          - 'null'
      title: ''
    OrganizationLabelsGroupResponseList:
      type: array
      items:
        $ref: '#/components/schemas/OrganizationLabelsGroupResponse'
      title: ''
    Healthcheck:
      type: object
      properties:
        readiness_probe:
          $ref: '#/components/schemas/Probe'
        liveness_probe:
          $ref: '#/components/schemas/Probe'
    Base:
      type: object
      required:
      - id
      - created_at
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created_at:
          type: string
          readOnly: true
          format: date-time
        updated_at:
          type: string
          readOnly: true
          format: date-time
    KedaTriggerAuthenticationRequest:
      title: KedaTriggerAuthenticationRequest
      x-stoplight:
        id: wp51tmturog3b
      type: object
      required:
      - name
      properties:
        name:
          type: string
          x-stoplight:
            id: ka4ltf1usuola
        config_yaml:
          type: string
          x-stoplight:
            id: 65znz6jclbew5
          description: Optional raw KEDA TriggerAuthentication YAML configuration.
    Probe:
      type:
      - object
      - 'null'
      properties:
        type:
          type: object
          properties:
            tcp:
              type:
              - object
              - 'null'
              properties:
                port:
                  type: integer
                host:
                  type:
                  - string
                  - 'null'
                  default: null
            http:
              type:
              - object
              - 'null'
              properties:
                path:
                  type: string
                  default: /
                scheme:
                  type: string
                  default: HTTP
                port:
                  type: integer
            exec:
              type:
              - object
              - 'null'
              description: Execute a command inside the container. The probe succeeds if the command exits with status code 0.
              properties:
                command:
                  type: array
                  description: 'Command to execute inside the container, specified as an array of strings. The first element is the executable, followed by its arguments. Example: ["sh", "-c", "test -f /tmp/healthy"]'
                  example:
                  - sh
                  - -c
                  - test -f /tmp/healthy
                  items:
                    type: string
                  minItems: 1
            grpc:
              type:
              - object
              - 'null'
              properties:
                service:
                  type:
                  - string
                  - 'null'
                  default: null
                port:
                  type: integer
        initial_delay_seconds:
          type: integer
          default: 30
        period_seconds:
          type: integer
          default: 10
        timeout_seconds:
          type: integer
          default: 5
        success_threshold:
          type: integer
          default: 1
        failure_threshold:
          type: integer
          default: 9
    ServicePortRequest:
      type: object
      properties:
        ports:
          type: array
          items:
            type: object
            required:
            - internal_port
            - publicly_accessible
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              internal_port:
                type: integer
                example: 8080
                description: The listening port of your service.
              external_port:
                type: integer
                example: 8080
                description: The exposed port for your service. This is optional. If not set a default port will be used.
              publicly_accessible:
                type: boolean
                description: Expose the port to the world
              is_default:
                type: boolean
                description: is the default port to use for domain
              protocol:
                $ref: '#/components/schemas/PortProtocolEnum'
              public_path:
                type: string
                description: "Indicate the path or regex that must match for traffic to be accepted on your service\ni.e: /api/ will only accept http calls that start with /api/ \nOnly valid for publicly_accessible HTTP or GRPC ports."
              public_path_rewrite:
                type: string
                description: "Indicate the new path that will be used to reach your service after replacement\ni.e: public_path -> /(.*)  public_path_rewrite -> /api/$1 will append /api/ on all externaly requested url when reaching the service \nexternal/use url -> example.com/foobar  -> url seen by the service -> example.com/api/foobar\nOnly valid for publicly_accessible HTTP or GRPC ports."
    Label:
      type: object
      required:
      - key
      - value
      - propagate_to_cloud_provider
      properties:
        key:
          type: string
        value:
          type: string
        propagate_to_cloud_provider:
          type: boolean
    KedaScalerResponse:
      title: KedaScalerResponse
      x-stoplight:
        id: gaaqg32ivl48h
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        x-stoplight:
          id: 74tt3hgf95nfe
        required:
        - scaler_type
        - enabled
        - role
        properties:
          scaler_type:
            type: string
            x-stoplight:
              id: 1ckp76ziimkg4
          enabled:
            type: boolean
            x-stoplight:
              id: 0dnjwnlkuj3kp
          role:
            $ref: '#/components/schemas/KedaScalerRole'
          config_json:
            type:
            - object
            - 'null'
          config_yaml:
            type:
            - string
            - 'null'
          trigger_authentication:
            $ref: '#/components/schemas/KedaTriggerAuthenticationResponse'
    ServicePortResponseList:
      type: array
      items:
        $ref: '#/components/schemas/ServicePort'
    ServiceStorage:
      type: object
      properties:
        storage:
          type: array
          items:
            type: object
            required:
            - id
            - type
            - size
            - mount_point
            properties:
              id:
                type: string
                format: uuid
              type:
                $ref: '#/components/schemas/StorageTypeEnum'
              size:
                type: integer
                description: unit is GB
                example: 16
              mount_point:
                type: string
                example: /mnt/images
    ServiceActionEnum:
      type: string
      enum:
      - DEPLOY
      - DELETE
      - RESTART
      - STOP
      - UNKNOWN
    ApplicationGitRepositoryRequest:
      type: object
      required:
      - url
      - owner
      - name
      - provider
      properties:
        url:
          type: string
          description: application git repository URL
          example: https://github.com/Qovery/simple-node-app
        branch:
          type: string
          description: 'Name of the branch to use. This is optional

            If not specified, then the branch used is the `main` or `master` one

            '
          example: feat/text_xxx
        root_path:
          type: string
          default: /
          description: indicates the root path of the application.
        git_token_id:
          type:
          - string
          - 'null'
          format: uuid
          description: The git token id on Qovery side
        provider:
          $ref: '#/components/schemas/GitProviderEnum'
    ServiceSubActionEnum:
      type: string
      default: NONE
      enum:
      - NONE
      - TERRAFORM_PLAN_ONLY
      - TERRAFORM_PLAN_AND_APPLY
      - TERRAFORM_DESTROY
      - TERRAFORM_FORCE_UNLOCK_STATE
      - TERRAFORM_MIGRATE_STATE
    ServiceActionStatusEnum:
      type: string
      enum:
      - QUEUED
      - ONGOING
      - SUCCESS
      - ERROR
      - EXECUTING
      - CANCELED
      - CANCELING
      - NEVER
    OrganizationAnnotationsGroupResponseList:
      type: array
      items:
        $ref: '#/components/schemas/OrganizationAnnotationsGroupResponse'
    KedaScalerRole:
      title: KedaScalerRole
      x-stoplight:
        id: 1sl0mlxoqzr8w
      type: string
      enum:
      - PRIMARY
      - SAFETY
    StorageTypeEnum:
      type: string
      enum:
      - FAST_SSD
    OrganizationLabelsGroupResponse:
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        required:
        - name
        - labels
        properties:
          name:
            type: string
          labels:
            type: array
            items:
              $ref: '#/components/schemas/Label'
      title: ''
    StatusDetails:
      type: object
      required:
      - action
      - status
      - sub_action
      properties:
        action:
          $ref: '#/components/schemas/ServiceActionEnum'
        status:
          $ref: '#/components/schemas/ServiceActionStatusEnum'
        sub_action:
          $ref: '#/components/schemas/ServiceSubActionEnum'
    ServiceStepMetrics:
      type: object
      required:
      - total_duration_sec
      - total_computing_duration_sec
      - details
      properties:
        total_duration_sec:
          description: The total duration in seconds of the service deployment or null if the deployment is not completed.
          type:
          - integer
          - 'null'
        total_computing_duration_sec:
          description: The total duration in seconds of the service deployment without queuing steps.
          type: integer
        details:
          description: A list of metrics for deployment steps of the service.
          type: array
          items:
            $ref: '#/components/schemas/ServiceStepMetric'
    ServiceStepMetricNameEnum:
      type: string
      enum:
      - REGISTRY_CREATE_REPOSITORY
      - GIT_CLONE
      - BUILD_QUEUEING
      - BUILD
      - DEPLOYMENT_QUEUEING
      - DEPLOYMENT
      - ROUTER_DEPLOYMENT
      - MIRROR_IMAGE
      - EXECUTING
      description: "The name of the deployment step at the service level:\n- REGISTRY_CREATE_REPOSITORY: The step to create the repository in the registry.\n- GIT_CLONE: The step to clone the source code repository. \n- BUILD_QUEUEING: The queuing time preceding the actual building step.\n- BUILD: The step to build the source code.\n- DEPLOYMENT_QUEUEING: The queuing time preceding the actual deployment step.\n- DEPLOYMENT: The step to deploy the service. \n- ROUTER_DEPLOYMENT: The step to deploy the router. \n- MIRROR_IMAGE: The step to mirror the image to the private registry.\n- EXECUTING: The step to execute a job or terraform apply.\n"
    ApplicationRequest:
      allOf:
      - $ref: '#/components/schemas/ServiceStorageRequest'
      - $ref: '#/components/schemas/ServicePortRequest'
      - type: object
        required:
        - name
        - git_repository
        - healthchecks
        properties:
          name:
            type: string
            description: name is case insensitive
          description:
            type:
            - string
            - 'null'
            description: give a description to this application
          git_repository:
            $ref: '#/components/schemas/ApplicationGitRepositoryRequest'
          build_mode:
            $ref: '#/components/schemas/BuildModeEnum'
          dockerfile_path:
            type:
            - string
            - 'null'
            description: The path of the associated Dockerfile. Only if you are using build_mode = DOCKER
          cpu:
            type: integer
            description: unit is millicores (m). 1000m = 1 cpu
            default: 500
            example: 1250
          memory:
            type: integer
            description: unit is MB. 1024 MB = 1GB
            default: 512
            example: 1024
          gpu:
            type: integer
            x-stoplight:
              id: 1jq9ic2dbgx3l
            default: 0
            minimum: 0
            example: 1
          min_running_instances:
            type: integer
            minimum: 0
            description: 'Minimum number of instances running. This resource auto-scale based on the CPU and Memory consumption.

              Note: 0 means that there is no application running.

              '
            default: 1
          max_running_instances:
            type: integer
            description: 'Maximum number of instances running. This resource auto-scale based on the CPU and Memory consumption.

              Note: -1 means that there is no limit.

              '
            default: 1
          healthchecks:
            $ref: '#/components/schemas/Healthcheck'
          auto_preview:
            type: boolean
            description: "Specify if the environment preview option is activated or not for this application.  \nIf activated, a preview environment will be automatically cloned at each pull request.  \nIf not specified, it takes the value of the `auto_preview` property from the associated environment.\n"
            default: true
          arguments:
            type: array
            items:
              type: string
          entrypoint:
            type: string
            description: optional entrypoint when launching container
          auto_deploy:
            type:
            - boolean
            - 'null'
            description: Specify if the application will be automatically updated after receiving a new commit.
          annotations_groups:
            $ref: '#/components/schemas/ServiceAnnotationsRequestList'
          labels_groups:
            $ref: '#/components/schemas/ServiceLabelsRequestList'
          icon_uri:
            type: string
            format: uri
            description: Icon URI representing the application.
            x-stoplight:
              id: om4lw1ulknsrg
          docker_target_build_stage:
            type:
            - string
            - 'null'
            x-stoplight:
              id: xg9q0urac8kdq
            description: The target build stage in the Dockerfile to build
          autoscaling:
            $ref: '#/components/schemas/AutoscalingPolicyRequest'
    KedaScalerRequest:
      title: KedaScalerRequest
      x-stoplight:
        id: hfn4tfrtivkcs
      type: object
      required:
      - scaler_type
      - role
      properties:
        scaler_type:
          type: string
          x-stoplight:
            id: 3ba9iisjwqgsp
        enabled:
          type: boolean
          x-stoplight:
            id: 9m67trg9m0ioz
        role:
          $ref: '#/components/schemas/KedaScalerRole'
        config_json:
          type: object
          x-stoplight:
            id: si5ekni2hc6w9
        config_yaml:
          type: string
          x-stoplight:
            id: 8c7vktd7svl30
        trigger_authentication:
          $ref: '#/components/schemas/KedaTriggerAuthenticationRequest'
    ServiceStorageRequest:
      type: object
      properties:
        storage:
          type: array
          items:
            type: object
            required:
            - type
            - size
            - mount_point
            properties:
              id:
                type: string
                format: uuid
              type:
                $ref: '#/components/schemas/St

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