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 invalid parameters: helmOf: name: of in: query description: Source of git commit. Can be 'chart' or 'values' schema: type: string default: chart helmId: name: helmId in: path description: Helm ID required: true schema: type: string format: uuid securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'JWT tokens should be used with OIDC account (human to machine). JWT tokens used by the Qovery console to communicate with the API have a TTL. Curl Example '' curl https://console.qovery.com/organization -H "Authorization: Bearer $qovery_token" ''' ApiKeyAuth: type: apiKey in: header name: Authorization description: 'Token API are generated by Qovery to manage machine to machine interaction and do not have a TTL. Curl Example '' curl https://console.qovery.com/organization -H "Authorization: Token $qovery_token" ''' x-tagGroups: - name: Organization tags: - Organization Main Calls - Organization Api Token - Organization Account Git Repositories - Organization Cluster Lock - Organization Webhook - Organization Custom Role - Organization Event - Organization Annotations Group - Organization Labels Group - Organization Enterprise Connection - Projects - Members - Billing - Clusters - Cloud Provider - Cloud Provider Credentials - Github App - Container Registries - Helm Repositories - name: Project tags: - Project Main Calls - Environments - Project Deployment Rule - Project Environment Variable - Project Secret - name: Environment tags: - Environment Main Calls - Applications - Containers - Databases - Jobs - Helms - Terraforms - Environment Actions - Environment Logs - Environment Deployment History - Environment Deployment Rule - Environment Variable - Environment Secret - Environment Export - name: Deployment Stage tags: - Deployment Stage Main Calls - name: Application tags: - Application Main Calls - Application Actions - Application Configuration - Application Custom Domain - Application Database - Application Logs - Application Deployment Restriction - Application Deployment History - Application Environment Variable - Application Secret - Application Annotations Group - name: Container tags: - Container Main Calls - Container Actions - Container Configuration - Container Custom Domain - Container Database - Container Logs - Container Deployment History - Container Environment Variable - Container Secret - Container Annotations Group - name: Database tags: - Database Main Calls - Database Actions - Database Applications - Database Deployment History - Database Containers - Database Application - Database Container - Backups - Database Annotations Group - name: Job tags: - Job Main Calls - Job Actions - Job Configuration - Job Custom Domain - Job Deployment Restriction - Job Deployment History - Job Environment Variable - Job Secret - Job Annotations Group - name: Helm tags: - Helm Main Calls - Helm Actions - Helm Configuration - Helm Custom Domain - Helm Deployment Restriction - Helm Deployment History - name: Terraform tags: - Terraform Main Calls - Terraform Actions - Terraform Configuration - Terraform Deployment Restriction - Terraform Deployment History - name: Account tags: - Account Info - Git repositories - Referral & Rewards - name: Git tags: - Git repositories - name: Variable tags: - Variable Main Calls - name: Lifecycle Template tags: - Lifecycle Template Main Calls - name: Admin tags: - User Sign Up - name: Alerting tags: - Alert Receivers - Alert Rules