Qovery Helm Main Calls API

The Helm Main Calls API from Qovery — 5 operation(s) for helm main calls.

OpenAPI Specification

qovery-helm-main-calls-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.4
  title: Qovery Account Info Helm Main Calls 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: Helm Main Calls
paths:
  /helm/{helmId}:
    get:
      summary: Get helm by ID
      operationId: getHelm
      parameters:
      - $ref: '#/components/parameters/helmId'
      tags:
      - Helm Main Calls
      responses:
        '200':
          description: Get helm by ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HelmResponse'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    put:
      summary: Edit helm
      description: '- To edit the helm you must have the admin permission.

        '
      operationId: editHelm
      parameters:
      - $ref: '#/components/parameters/helmId'
      tags:
      - Helm Main Calls
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HelmRequest'
      responses:
        '200':
          description: Edit helm
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HelmResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          description: Helm name within the environment is already taken
    delete:
      summary: Delete helm
      description: To delete the helm you must have the admin permission
      operationId: deleteHelm
      parameters:
      - $ref: '#/components/parameters/helmId'
      tags:
      - Helm Main Calls
      responses:
        '204':
          $ref: '#/components/responses/204-deletion'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /helm/{helmId}/commit:
    get:
      summary: List last helm commits
      description: Returns list of the last 100 commits made on the repository linked to helm
      operationId: listHelmCommit
      parameters:
      - $ref: '#/components/parameters/helmId'
      - $ref: '#/components/parameters/helmOf'
      tags:
      - Helm Main Calls
      responses:
        '200':
          description: List Helm commits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /helm/{helmId}/status:
    get:
      summary: Get helm status
      operationId: getHelmStatus
      parameters:
      - $ref: '#/components/parameters/helmId'
      tags:
      - Helm Main Calls
      responses:
        '200':
          description: Get status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /helm/{helmId}/link:
    get:
      summary: List all URLs of the helm
      description: This will return all the custom domains and Qovery autogenerated domain for the given helm
      operationId: listHelmLinks
      parameters:
      - $ref: '#/components/parameters/helmId'
      tags:
      - Helm Main Calls
      responses:
        '200':
          description: List links
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkResponseList'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /helm/{helmId}/listServices:
    parameters:
    - schema:
        type: string
      name: helmId
      in: path
      required: true
    get:
      summary: Get helm kubernetes services
      tags:
      - Helm Main Calls
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/KubernetesServiceResponseList'
        '401':
          description: ' Access token is missing or invalid'
        '403':
          description: Resource not found
        '404':
          description: Not Found
      operationId: getHelmKubernetesServices
      x-stoplight:
        id: 7cl74u6hzmccd
      description: Get helm kubernetes services
components:
  schemas:
    HelmPortResponseBase:
      type: object
      required:
      - id
      - internal_port
      - protocol
      - port_type
      properties:
        id:
          type: string
          format: uuid
        port_type:
          type: string
        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.
        namespace:
          type: string
        protocol:
          $ref: '#/components/schemas/HelmPortProtocolEnum'
        is_default:
          type: boolean
          description: is the default port to use for domain
    ReferenceObject:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
    HelmPortProtocolEnum:
      type: string
      default: HTTP
      enum:
      - HTTP
      - GRPC
    Link:
      type: object
      required:
      - service_id
      - service_type
      - url
      - internal_port
      - external_port
      - is_qovery_domain
      - is_default
      properties:
        service_id:
          type: string
          format: uuid
          description: ID of the associated service
        service_type:
          $ref: '#/components/schemas/ServiceTypeEnum'
        url:
          type: string
          description: URL to access the service
        internal_port:
          type: integer
          description: The port from which the service is reachable from within the cluster
        external_port:
          type: integer
          description: 'The port from which the service is reachable from externally (i.e: 443 for HTTPS)'
        is_qovery_domain:
          type: boolean
          description: True if the domain is managed by Qovery, false if it belongs to the user
        is_default:
          type: boolean
          description: 'Indicate if the link is using the root of the domain and not one derivated from port

            i.e:

            p8080.zxxxx.jvm.worl      => is_default = false, is_qovery = true

            zxxxx.jvm.world           => is_default = true, is_qovery = true

            p8080-my-super-domain.com => is_default = false, is_qovery = false

            my-super-domain.com       => is_default = true, is_qovery = false

            '
    GitProviderEnum:
      type: string
      enum:
      - BITBUCKET
      - GITHUB
      - GITLAB
    HelmKeyValues:
      type: array
      description: 'The input is in json array format: [ [$KEY,$VALUE], [...] ]'
      items:
        type: array
        items:
          type: string
    HelmPortResponseWithServiceName:
      allOf:
      - $ref: '#/components/schemas/HelmPortResponseBase'
      - type: object
        required:
        - service_name
        properties:
          service_name:
            type: string
    HelmSourceRepositoryResponse:
      title: HelmSourceRepositoryResponse
      x-stoplight:
        id: 4u8sg5mvbz502
      type: object
      required:
      - chart_name
      - chart_version
      - repository
      properties:
        chart_name:
          type: string
          x-stoplight:
            id: myqqxis6r2wum
        chart_version:
          type: string
          x-stoplight:
            id: bxqymhkfiwauw
        repository:
          type: object
          x-stoplight:
            id: fr4th9yrro2rh
          required:
          - id
          - name
          - url
          properties:
            id:
              type: string
              x-stoplight:
                id: 4mb2ymh7anud4
              format: uu
            name:
              type: string
              x-stoplight:
                id: bamkqh6qvsenc
            url:
              type: string
              x-stoplight:
                id: qxjxb9crdcsyv
              format: uri
    HelmRequest:
      allOf:
      - $ref: '#/components/schemas/HelmPortRequest'
      - type: object
        required:
        - name
        - auto_deploy
        - source
        - arguments
        - values_override
        properties:
          name:
            type: string
            description: name is case insensitive
          description:
            type: string
          timeout_sec:
            type: integer
            minimum: 0
            default: 600
            description: 'Maximum number of seconds allowed for helm to run before killing it and mark it as failed

              '
          auto_preview:
            type: boolean
            description: "Indicates if the 'environment preview option' is enabled.  \nIf enabled, a preview environment will be automatically cloned when `/preview` endpoint is called or when a new commit is updated.\nIf not specified, it takes the value of the `auto_preview` property from the associated environment.\n"
            nullable: true
          auto_deploy:
            type: boolean
            description: 'Specify if the helm will be automatically updated after receiving a new image tag or a new commit according to the source type.

              '
          source:
            oneOf:
            - type: object
              properties:
                git_repository:
                  $ref: '#/components/schemas/HelmGitRepositoryRequest'
            - type: object
              properties:
                helm_repository:
                  type: object
                  properties:
                    repository:
                      type: string
                      format: UUID
                      description: The id of the helm repository
                      nullable: true
                    chart_name:
                      type: string
                      description: The name of the chart in the repository
                    chart_version:
                      type: string
                      description: The version of the chart to use
          arguments:
            type: array
            description: The extra arguments to pass to helm
            items:
              type: string
          allow_cluster_wide_resources:
            type: boolean
            default: false
            description: 'If we should allow the chart to deploy object outside his specified namespace.

              Setting this flag to true, requires special rights

              '
          values_override:
            type: object
            description: 'Specify helm values you want to set or override

              '
            properties:
              set:
                $ref: '#/components/schemas/HelmKeyValues'
              set_string:
                $ref: '#/components/schemas/HelmKeyValues'
              set_json:
                $ref: '#/components/schemas/HelmKeyValues'
              file:
                type: object
                nullable: true
                properties:
                  git:
                    type: object
                    nullable: true
                    required:
                    - git_repository
                    - paths
                    properties:
                      git_repository:
                        $ref: '#/components/schemas/ApplicationGitRepositoryRequest'
                      paths:
                        type: array
                        description: List of path inside your git repository to locate values file. Must start by a /
                        items:
                          type: string
                  raw:
                    type: object
                    nullable: true
                    properties:
                      values:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              description: The name of the value file
                            content:
                              type: string
                              description: The content of the value file
          icon_uri:
            type: string
            format: uri
            description: Icon URI representing the helm service.
            x-stoplight:
              id: 117p5u95nwx2p
    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
          nullable: true
        git_token_name:
          type: string
          nullable: true
      title: ''
    KubernetesServiceResponseList:
      title: KubernetesServiceResponseList
      x-stoplight:
        id: 91mgvynk8ostk
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/KubernetesService'
    KubernetesService:
      title: KubernetesService
      x-stoplight:
        id: e93yew0imhkxz
      type: object
      required:
      - metadata
      - service_spec
      properties:
        metadata:
          $ref: '#/components/schemas/KubernetesMetadata'
        service_spec:
          $ref: '#/components/schemas/KubernetesServiceSpec'
    KubernetesServiceSpec:
      title: KubernetesServiceSpec
      x-stoplight:
        id: qecw98tpxage0
      type: object
      properties:
        type:
          type: string
          x-stoplight:
            id: 5bi9ckakwdfod
        ports:
          type: array
          x-stoplight:
            id: xaa6ow6ugihju
          items:
            $ref: '#/components/schemas/KubernetesServicePort'
        selectors:
          type: array
          x-stoplight:
            id: snld7nhiy088w
          items:
            $ref: '#/components/schemas/KubernetesSelector'
    ServiceTypeEnum:
      type: string
      x-stoplight:
        id: d66063cd29913
      description: type of the service (application, database, job, ...)
      enum:
      - APPLICATION
      - DATABASE
      - CONTAINER
      - JOB
      - HELM
      - TERRAFORM
      - ARGOCD_APP
    KubernetesMetadata:
      title: KubernetesMetadata
      x-stoplight:
        id: ajq08tq9ym2vh
      type: object
      properties:
        name:
          type: string
          x-stoplight:
            id: n0gt58vsemvlv
    StepMetricStatusEnum:
      type: string
      enum:
      - SUCCESS
      - ERROR
      - CANCEL
      - SKIP
      description: 'The status of completion for the step:

        - SUCCESS: The step completed successfully.

        - ERROR: The step completed with an error.

        - CANCEL: The step was canceled.

        - SKIP: The step was skipped because it was not necessary.

        '
    LinkResponseList:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Link'
    ServiceSubActionEnum:
      type: string
      default: NONE
      enum:
      - NONE
      - TERRAFORM_PLAN_ONLY
      - TERRAFORM_PLAN_AND_APPLY
      - TERRAFORM_DESTROY
      - TERRAFORM_FORCE_UNLOCK_STATE
      - TERRAFORM_MIGRATE_STATE
    HelmSourceGitResponse:
      title: HelmSourceGitResponse
      x-stoplight:
        id: lsxautcdafty6
      type: object
      required:
      - git_repository
      properties:
        git_repository:
          $ref: '#/components/schemas/ApplicationGitRepository'
    HelmGitRepositoryRequest:
      type: object
      required:
      - provider
      - owner
      - name
      - url
      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
          format: uuid
          description: The git token id on Qovery side
          nullable: true
      title: ''
    ServiceStepMetric:
      type: object
      properties:
        step_name:
          $ref: '#/components/schemas/ServiceStepMetricNameEnum'
        status:
          $ref: '#/components/schemas/StepMetricStatusEnum'
        duration_sec:
          description: The duration of the step in seconds.
          type: integer
    ServiceDeploymentStatusEnum:
      type: string
      enum:
      - NEVER_DEPLOYED
      - OUT_OF_DATE
      - UP_TO_DATE
    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"
    HelmPortRequest:
      type: object
      properties:
        ports:
          type: array
          items:
            allOf:
            - type: object
              required:
              - internal_port
              properties:
                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.
                namespace:
                  type: string
                protocol:
                  $ref: '#/components/schemas/HelmPortProtocolEnum'
                is_default:
                  type: boolean
                  description: is the default port to use for domain
            - oneOf:
              - type: object
                properties:
                  service_selectors:
                    type: array
                    items:
                      $ref: '#/components/schemas/KubernetesSelector'
              - type: object
                properties:
                  service_name:
                    type: string
    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
          nullable: true
        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'
    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
          format: uuid
          description: The git token id on Qovery side
          nullable: true
        provider:
          $ref: '#/components/schemas/GitProviderEnum'
    ServiceActionEnum:
      type: string
      enum:
      - DEPLOY
      - DELETE
      - RESTART
      - STOP
      - UNKNOWN
    HelmResponse:
      allOf:
      - $ref: '#/components/schemas/Base'
      - type: object
        required:
        - environment
        - name
        - auto_preview
        - auto_deploy
        - source
        - arguments
        - allow_cluster_wide_resources
        - values_override
        - icon_uri
        - service_type
        properties:
          environment:
            $ref: '#/components/schemas/ReferenceObject'
          name:
            type: string
            description: name is case insensitive
          description:
            type: string
          timeout_sec:
            type: integer
            minimum: 0
            default: 600
            description: 'Maximum number of seconds allowed for helm to run before killing it and mark it as failed

              '
          auto_preview:
            type: boolean
            description: "Indicates if the 'environment preview option' is enabled.  \nIf enabled, a preview environment will be automatically cloned when `/preview` endpoint is called.  \nIf not specified, it takes the value of the `auto_preview` property from the associated environment.\n"
          auto_deploy:
            type: boolean
            description: 'Specify if the service will be automatically updated after receiving a new image tag or a new commit according to the source type.

              '
          ports:
            type: array
            items:
              oneOf:
              - $ref: '#/components/schemas/HelmPortResponseWithServiceName'
              - $ref: '#/components/schemas/HelmPortResponseWithServiceSelectors'
              discriminator:
                propertyName: port_type
                mapping:
                  SERVICE_NAME: '#/components/schemas/HelmPortResponseWithServiceName'
                  SERVICE_SELECTORS: '#/components/schemas/HelmPortResponseWithServiceSelectors'
          source:
            nullable: false
            oneOf:
            - required:
              - git
              properties:
                git:
                  $ref: '#/components/schemas/HelmSourceGitResponse'
              type: object
            - x-stoplight:
                id: 0prdehm6z8pua
              required:
              - repository
              properties:
                repository:
                  $ref: '#/components/schemas/HelmSourceRepositoryResponse'
              type: object
          arguments:
            type: array
            description: The extra arguments to pass to helm
            items:
              type: string
          allow_cluster_wide_resources:
            type: boolean
            default: false
            description: 'If we should allow the chart to deploy object outside his specified namespace.

              Setting this flag to true, requires special rights

              '
          values_override:
            type: object
            description: 'Specify helm values you want to set or override

              '
            properties:
              set:
                $ref: '#/components/schemas/HelmKeyValues'
              set_string:
                $ref: '#/components/schemas/HelmKeyValues'
              set_json:
                $ref: '#/components/schemas/HelmKeyValues'
              file:
                type: object
                nullable: true
                properties:
                  raw:
                    type: object
                    nullable: true
                    required:
                    - values
                    properties:
                      values:
                        type: array
                        items:
                          type: object
                          required:
                          - name
                          - content
                          properties:
                            name:
                              type: string
                              description: The name of the value file
                            content:
                              type: string
                              description: The content of the value file
                  git:
                    type: object
                    nullable: true
                    required:
                    - git_repository
                    - paths
                    properties:
                      git_repository:
                        $ref: '#/components/schemas/ApplicationGitRepository'
                      paths:
                        type: array
                        description: List of path inside your git repository to locate values file. Must start by a /
                        items:
                          type: string
          icon_uri:
            type: string
            format: uri
            description: Icon URI representing the helm service.
            x-stoplight:
              id: i2pvbugqsldhe
          service_type:
            $ref: '#/components/schemas/ServiceTypeEnum'
    KubernetesSelector:
      title: KubernetesSelector
      x-stoplight:
        id: 4i1ztgngi75vs
      type: object
      required:
      - key
      - value
      properties:
        key:
          type: string
          x-stoplight:
            id: 1zcgvzdknhr8n
        value:
          type: string
          x-stoplight:
            id: 6zpc45u4laog4
    KubernetesServicePort:
      title: KubernetesServicePort
      x-stoplight:
        id: wgdmnyglzosd6
      type: object
      required:
      - port
      properties:
        name:
          type: string
          x-stoplight:
            id: tusjgcztulh9m
        port:
          type: integer
          x-stoplight:
            id: iloqun4s628bz
    StateEnum:
      type: string
      enum:
      - BUILDING
      - BUILD_ERROR
      - CANCELED
      - CANCELING
      - DELETED
      - DELETE_ERROR
      - DELETE_QUEUED
      - DELETING
      - DEPLOYED
      - DEPLOYING
      - DEPLOYMENT_ERROR
      - DEPLOYMENT_QUEUED
      - EXECUTING
      - QUEUED
      - READY
      - RECAP
      - RESTARTED
      - RESTARTING
      - RESTART_ERROR
      - RESTART_QUEUED
      - STOPPED
      - STOPPING
      - STOP_ERROR
      - STOP_QUEUED
      - UNAVAILABLE
      - WAITING_DELETING
      - WAITING_RESTARTING
      - WAITING_RUNNING
      - WAITING_STOPPING
    Commit:
      type: object
      nullable: true
      required:
      - git_commit_id
      - created_at
      - author_name
      - message
      - tag
      properties:
        created_at:
          type: string
          format: date-time
        git_commit_id:
          type: string
        tag:
          type: string
          example: v2.1.1
        message:
          type: string
        author_name:
          type: string
        author_avatar_url:
          type: string
        commit_page_url:
          type: string
    HelmPortResponseWithServiceSelectors:
      allOf:
      - $ref: '#/components/schemas/HelmPortResponseBase'
      - type: object
        required:
        - service_selectors
        properties:
          service_selectors:
            type: array
            items:
              $ref: '#/components/schemas/KubernetesSelector'
    Status:
      type: object
      required:
      - id
      - state
      - service_deployment_status
      - status_details
      - is_part_last_deployment
      - deployment_requests_count
      - deployment_request_id
      properties:
        id:
          type: string
          format: uuid
        state:
          $ref: '#/components/schemas/StateEnum'
        service_deployment_status:
          $ref: '#/components/schemas/ServiceDeploymentStatusEnum'
        last_deployment_date:
          type: string
          format: date-time
        is_part_last_deployment:
          type: boolean
        steps:
          $ref: '#/components/schemas/ServiceStepMetrics'
        execution_id:
          type: string
          x-stoplight:
            id: 3o9tz4272s2ct
        status_details:
          $ref: '#/components/schemas/StatusDetails'
        deployment_request_id:
          type: string
          x-stoplight:
            id: bepixrb7tyzme
          format: uuid
          nullable: true
        deployment_requests_count:
          type: integer
          x-stoplight:
            id: crku532vt3v4p
    CommitResponseList:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Commit'
    ServiceActionStatusEnum:
      type: string
      enum:
      - QUEUED
      - ONGOING
      - SUCCESS
      - ERROR
      - EXECUTING
      - CANCELED
      - CANCELING
      - NEVER
    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
    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'
  responses:
    '400':
      description: Bad request
    204-deletion:
      description: The resource was deleted successfully
    '403':
      description: Access forbidden
    '404':
      description: Resource not found
    '401':
      description: Access token is missing or inv

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