openapi: 3.0.0 info: version: 1.0.4 title: Qovery 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 tags: - name: Account - name: Account Info - name: Alert Receivers - name: Alert Rules - name: Admin - name: Application - name: Application Actions - name: Application Configuration - name: Application Database - name: Application Deployment Restriction - name: Application Deployment History - name: Application Environment Variable - name: Application Logs - name: Application Main Calls - name: Application Secret - name: Application Annotations Group - name: Applications - name: Container - name: Container Actions - name: Container Configuration - name: Container Database - name: Container Deployment History - name: Container Environment Variable - name: Container Logs - name: Container Main Calls - name: Container Registry - name: Container Secret - name: Container Annotations Group - name: Containers - name: Deployment Stage Main Calls - name: Job - name: Job Actions - name: Job Configuration - name: Job Database - name: Job Deployment Restriction - name: Job Deployment History - name: Job Environment Variable - name: Job Logs - name: Job Main Calls - name: Job Registry - name: Job Secret - name: Job Annotations Group - name: Jobs - name: Helm - name: Helm Actions - name: Helm Configuration - name: Helm Database - name: Helm Deployment Restriction - name: Helm Deployment History - name: Helm Logs - name: Helm Main Calls - name: Helm Repository - name: Helms - name: Backups - name: Billing - name: Cloud Provider - name: Cloud Provider Credentials - name: Clusters - name: Custom Domain - name: Container Custom Domain - name: Database - name: Database Actions - name: Database Application - name: Database Container - name: Database Deployment History - name: Database Main Calls - name: Database Annotations Group - name: Databases - name: Environment - name: Environment Actions - name: Environment Deployment History - name: Environment Deployment Rule - name: Environment Logs - name: Environment Main Calls - name: Environment Secret - name: Environment Variable - name: Environments - name: Git - name: Github App - name: Git repositories - name: Members - name: Organization - name: Organization Account Git Repositories - name: Organization Cluster Lock - name: Organization Main Calls - name: Organization Custom Role - name: Organization Event - name: Organization Api Token - name: Organization Webhook - name: Organization Annotations Group - name: Organization Labels Group - name: Organization Enterprise Connection - name: Project - name: Project Deployment Rule - name: Project Environment Variable - name: Project Main Calls - name: Project Secret - name: Projects - name: Referral & Rewards - name: Terraforms - name: Terraform Main Calls - name: Terraform Deployment History - name: Terraform Deployment Restriction - name: Container Registries - name: Helm Repositories - name: User Sign Up - name: Variable Main Calls - name: Helm Custom Domain - name: Lifecycle Template Main Calls 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 servers: - url: 'https://api.qovery.com' paths: /organization: get: summary: List user organizations operationId: listOrganization tags: - Organization Main Calls responses: '200': description: List organizations content: application/json: schema: $ref: '#/components/schemas/OrganizationResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create an organization operationId: createOrganization tags: - Organization Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationRequest' responses: '201': description: Create organization content: application/json: schema: $ref: '#/components/schemas/Organization' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Organization name is already taken '/organization/{organizationId}': get: summary: Get organization by ID operationId: getOrganization parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Main Calls responses: '200': description: Get organization by ID content: application/json: schema: $ref: '#/components/schemas/Organization' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an organization description: To edit an organization you must have the admin permission operationId: editOrganization parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationEditRequest' responses: '200': description: Edit an organization content: application/json: schema: $ref: '#/components/schemas/Organization' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Organization name is already taken delete: summary: Delete an organization description: To delete an organization you must have the admin permission operationId: deleteOrganization parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Main Calls responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/apiToken': get: summary: List organization api tokens description: List organization api tokens operationId: listOrganizationApiTokens parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Api Token responses: '200': description: List organization api tokens content: application/json: schema: $ref: '#/components/schemas/OrganizationApiTokenResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create an organization api token description: Create an organization api token. You can use the generated token to interact in a programmatic way with our API. operationId: createOrganizationApiToken parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Api Token requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationApiTokenCreateRequest' responses: '201': description: Organization api token created content: application/json: schema: $ref: '#/components/schemas/OrganizationApiTokenCreate' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Organization Api Token name is already taken '/organization/{organizationId}/apiToken/{apiTokenId}': delete: summary: Delete organization api token description: Delete organization api token operationId: deleteOrganizationApiToken parameters: - $ref: '#/components/parameters/organizationId' - name: apiTokenId in: path description: Organization Api Token ID required: true schema: type: string format: uuid tags: - Organization Api Token responses: '204': $ref: '#/components/responses/204' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/availableRole': get: summary: List organization available roles description: List organization available roles operationId: listOrganizationAvailableRoles parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Main Calls responses: '200': description: List organization available roles content: application/json: schema: $ref: '#/components/schemas/OrganizationAvailableRoleList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/gitToken': get: summary: List organization git tokens description: List organization git tokens operationId: listOrganizationGitTokens parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Main Calls responses: '200': description: List organization git tokens content: application/json: schema: $ref: '#/components/schemas/GitTokenResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a git token description: Create a new git token to be used as a git provider by a service operationId: createGitToken parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/GitTokenRequest' responses: '201': description: Git token created content: application/json: schema: $ref: '#/components/schemas/GitTokenResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/gitToken/{gitTokenId}': get: summary: Get organization git token description: Get organization git token operationId: getOrganizationGitToken parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/gitTokenId' tags: - Organization Main Calls responses: '200': description: Get organization git token content: application/json: schema: $ref: '#/components/schemas/GitTokenResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a git token operationId: editGitToken parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/gitTokenId' tags: - Organization Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/GitTokenRequest' responses: '200': description: Git token edited content: application/json: schema: $ref: '#/components/schemas/GitTokenResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a git token operationId: deleteGitToken parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/gitTokenId' tags: - Organization Main Calls responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/gitToken/{gitTokenId}/associatedServices': get: summary: Get organization git token associated services description: Get organization git tokens associated services operationId: getGitTokenAssociatedServices parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/gitTokenId' tags: - Organization Main Calls responses: '200': description: Get organization git token associated services content: application/json: schema: $ref: '#/components/schemas/GitTokenAssociatedServicesResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/member': get: summary: Get organization members operationId: getOrganizationMembers parameters: - $ref: '#/components/parameters/organizationId' tags: - Members responses: '200': description: Get members content: application/json: schema: $ref: '#/components/schemas/MemberResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an organization member role description: Edit an organization member role operationId: editOrganizationMemberRole parameters: - $ref: '#/components/parameters/organizationId' tags: - Members requestBody: content: application/json: schema: $ref: '#/components/schemas/MemberRoleUpdateRequest' responses: '200': description: Edit an organization member role '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Remove a member operationId: deleteMember parameters: - $ref: '#/components/parameters/organizationId' requestBody: content: application/json: schema: type: object required: - user_id properties: user_id: type: string format: uuid tags: - Members responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/inviteMember': get: summary: Get invited members operationId: getOrganizationInvitedMembers parameters: - $ref: '#/components/parameters/organizationId' tags: - Members responses: '200': description: Get invited members content: application/json: schema: $ref: '#/components/schemas/InviteMemberResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Invite someone in the organization operationId: postInviteMember parameters: - $ref: '#/components/parameters/organizationId' tags: - Members requestBody: content: application/json: schema: $ref: '#/components/schemas/InviteMemberRequest' responses: '201': description: User invited content: application/json: schema: $ref: '#/components/schemas/InviteMember' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: User already invited '/organization/{organizationId}/inviteMember/{inviteId}': get: summary: Get member invitation operationId: getMemberInvitation parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/inviteId' tags: - Members responses: '200': description: Get member invitation content: application/json: schema: $ref: '#/components/schemas/InviteMember' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Accept Invite in the organization operationId: postAcceptInviteMember parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/inviteId' tags: - Members responses: '201': description: User invited content: application/json: schema: $ref: '#/components/schemas/InviteMember' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: User already invited delete: summary: Remove an invited member operationId: deleteInviteMember parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/inviteId' tags: - Members responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/transferOwnership': post: summary: Transfer organization ownership to another user operationId: postOrganizationTransferOwnership parameters: - $ref: '#/components/parameters/organizationId' tags: - Members requestBody: content: application/json: schema: $ref: '#/components/schemas/TransferOwnershipRequest' responses: '204': $ref: '#/components/responses/204' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/currentCost': get: summary: Get organization current cost operationId: getOrganizationCurrentCost parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing responses: '200': description: Get Cost content: application/json: schema: $ref: '#/components/schemas/OrganizationCurrentCost' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/creditCode': post: summary: Add credit code operationId: addCreditCode parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationCreditCodeRequest' responses: '200': description: add credit code '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/changePlan': post: summary: Change organization plan operationId: changePlan parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationChangePlanRequest' responses: '200': description: plan has been successfully changed content: application/json: schema: $ref: '#/components/schemas/Organization' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/currentCost': get: summary: Get cluster current cost operationId: getClusterCurrentCost description: | Get your cluster cost range. We are unable to give a precise cost of your infrastructure at the moment. But Qovery guarantees that the cost of your cluster will not exceed the max range. parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Billing responses: '200': description: Get cluster cost content: application/json: schema: $ref: '#/components/schemas/CostRange' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/billingInfo': get: summary: Get organization billing info operationId: getOrganizationBillingInfo parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing responses: '200': description: Get Billing Info content: application/json: schema: $ref: '#/components/schemas/BillingInfo' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit Organization Billing Info operationId: editOrganizationBillingInfo parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing requestBody: content: application/json: schema: $ref: '#/components/schemas/BillingInfoRequest' responses: '200': description: Edit billing info content: application/json: schema: $ref: '#/components/schemas/BillingInfo' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/billingStatus': get: summary: Get organization billing status description: | This endpoint returns a "is_valid" boolean field reflecting the billing status of the organization: - If true, the organization billing is valid - For Startup organization, it returns false if there is at least 1 invoice unpaid since 1 week - For Community organization, it returns false if there is no credit left operationId: getOrganizationBillingStatus parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing responses: '200': description: Get Billing Status content: application/json: schema: $ref: '#/components/schemas/BillingStatus' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/billingUsageReport': post: summary: Generate organization billing usage report operationId: generateBillingUsageReport parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingUsageReportRequest' responses: '200': description: billing usage report has been successfully generated content: application/json: schema: $ref: '#/components/schemas/OrganizationBillingUsageReportResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/billingExternalId': get: summary: Get organization billing external ID description: | This endpoint returns the external ID of the organization's billing account. operationId: getOrganizationBillingExternalId parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing responses: '200': description: Get Billing External ID content: application/json: schema: $ref: '#/components/schemas/BillingExternalId' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/invoice': get: summary: List organization invoices operationId: listOrganizationInvoice parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing responses: '200': description: List Invoices content: application/json: schema: $ref: '#/components/schemas/InvoiceResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/invoice/{invoiceId}': get: summary: Get organization invoice operationId: getOrganizationInvoice parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/invoiceId' tags: - Billing responses: '200': description: Get Invoice content: application/json: schema: $ref: '#/components/schemas/Invoice' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/invoice/{invoiceId}/download': get: summary: Get invoice link description: This will return URL of the invoice PDF operationId: getOrganizationInvoicePDF parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/invoiceId' tags: - Billing responses: '200': description: Get invoice PDF content: application/json: schema: $ref: '#/components/schemas/Link' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/downloadInvoices': post: summary: Download all invoices operationId: organizationDownloadAllInvoices parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing responses: '202': description: You will receive an email containing your invoices '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/creditCard': get: summary: List organization credit cards operationId: listOrganizationCreditCards parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing responses: '200': description: List cfredit cards content: application/json: schema: $ref: '#/components/schemas/CreditCardResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add credit card operationId: addCreditCard parameters: - $ref: '#/components/parameters/organizationId' tags: - Billing requestBody: content: application/json: schema: $ref: '#/components/schemas/CreditCardRequest' responses: '201': description: Add credit card content: application/json: schema: $ref: '#/components/schemas/CreditCard' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/creditCard/{creditCardId}': delete: summary: Delete credit card operationId: deleteCreditCard parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/creditCardId' tags: - Billing responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/project': get: summary: List projects operationId: listProject parameters: - $ref: '#/components/parameters/organizationId' tags: - Projects responses: '200': description: List projects content: application/json: schema: $ref: '#/components/schemas/ProjectResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a project operationId: createProject parameters: - $ref: '#/components/parameters/organizationId' tags: - Projects requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectRequest' responses: '200': description: Create project content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Project name within the organization is already taken '/organization/{organizationId}/project/stats': get: summary: List total number of services and environments for each project of the organization description: 'Returns a list of project ids, and for each its total numberof services and environments' operationId: getOrganizationProjectStats parameters: - $ref: '#/components/parameters/organizationId' tags: - Projects responses: '200': description: Get number of services content: application/json: schema: $ref: '#/components/schemas/ProjectStatsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster': get: summary: List organization clusters operationId: listOrganizationCluster parameters: - $ref: '#/components/parameters/organizationId' tags: - Clusters responses: '200': description: List clusters content: application/json: schema: $ref: '#/components/schemas/ClusterResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a cluster operationId: createCluster parameters: - $ref: '#/components/parameters/organizationId' tags: - Clusters requestBody: content: application/json: schema: $ref: '#/components/schemas/ClusterRequest' responses: '201': description: Create cluster content: application/json: schema: $ref: '#/components/schemas/Cluster' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/status': get: summary: List all clusters statuses description: Returns a list of clusters with only their id and status. operationId: getOrganizationClusterStatus parameters: - $ref: '#/components/parameters/organizationId' tags: - Clusters responses: '200': description: Get statuses content: application/json: schema: $ref: '#/components/schemas/ClusterStatusResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}': delete: summary: Delete a cluster operationId: deleteCluster parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' - in: query name: deleteMode schema: $ref: '#/components/schemas/ClusterDeleteMode' tags: - Clusters responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a cluster operationId: editCluster parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters requestBody: content: application/json: schema: $ref: '#/components/schemas/ClusterRequest' responses: '200': description: Edited the cluster content: application/json: schema: $ref: '#/components/schemas/Cluster' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/status': get: summary: Get cluster status operationId: getClusterStatus parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters responses: '200': description: Get status content: application/json: schema: $ref: '#/components/schemas/ClusterStatus' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/installationHelmValues': get: summary: Get cluster helm values for self managed installation operationId: getInstallationHelmValues parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters responses: '200': description: Helm values content: application/x-yaml: schema: type: string '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/kubeconfig': get: summary: Get cluster kubeconfig operationId: getClusterKubeconfig parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' - schema: type: boolean in: query name: with_token_from_cli description: 'If true, the user auth part will have an exec command with qovery cli' tags: - Clusters responses: '200': description: Get kubeconfig of the cluster content: application/x-yaml: schema: type: string '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit cluster kubeconfig operationId: editClusterKubeconfig parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters requestBody: content: application/x-yaml: schema: type: string responses: '204': description: edit kubeconfig of the cluster '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/advancedSettings': get: summary: Get advanced settings description: | Get the list and values of the advanced settings of the cluster. Default values for each setting are available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/cluster-advanced-settings/) operationId: getClusterAdvancedSettings parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters responses: '200': description: Advanced settings list content: application/json: schema: $ref: '#/components/schemas/ClusterAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit advanced settings description: Edit advanced settings by returning table of advanced settings. operationId: editClusterAdvancedSettings parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters requestBody: content: application/json: schema: $ref: '#/components/schemas/ClusterAdvancedSettings' responses: '201': description: Updated advanced settings content: application/json: schema: $ref: '#/components/schemas/ClusterAdvancedSettings' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/routingTable': get: summary: Get routing table description: Retrieve network routing table where each line corresponds to a route between a destination and a target. operationId: getRoutingTable parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters responses: '200': description: Routing table content: application/json: schema: $ref: '#/components/schemas/ClusterRoutingTable' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit routing table description: Edit routing table by returning updated table. operationId: editRoutingTable parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters requestBody: content: application/json: schema: $ref: '#/components/schemas/ClusterRoutingTableRequest' responses: '201': description: Updated routing table content: application/json: schema: $ref: '#/components/schemas/ClusterRoutingTable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/logs': get: summary: List Cluster Logs description: List Cluster Logs operationId: listClusterLogs parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters responses: '200': description: list cluster logs content: application/json: schema: $ref: '#/components/schemas/ClusterLogsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/aws/credentials': get: summary: List AWS credentials operationId: listAWSCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials responses: '200': description: list credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentialsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create AWS credentials set operationId: createAWSCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/AwsCredentialsRequest' responses: '201': description: Credentials created content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/aws/credentials/{credentialsId}': get: summary: Get a set of AWS credentials operationId: getAWSCredentials parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/credentialsId' tags: - Cloud Provider Credentials responses: '200': description: Get a set of AWS credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a set of AWS credentials operationId: editAWSCredentials parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/credentialsId' tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/AwsCredentialsRequest' responses: '200': description: Edit a set of AWS credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a set of AWS credentials operationId: deleteAWSCredentials parameters: - $ref: '#/components/parameters/credentialsId' - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/onPremise/credentials': get: summary: List OnPremise credentials operationId: listOnPremiseCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials responses: '200': description: list credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentialsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create OnPremise credentials set operationId: createOnPremiseCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/OnPremiseCredentialsRequest' responses: '201': description: Credentials created content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/onPremise/credentials/{credentialsId}': get: summary: Get a set of OnPremise credentials operationId: getOnPremiseCredentials parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/credentialsId' tags: - Cloud Provider Credentials responses: '200': description: Get a set of OnPremise credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a set of OnPremise credentials operationId: editOnPremiseCredentials parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/credentialsId' tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/OnPremiseCredentialsRequest' responses: '200': description: Edit a set of OnPremise credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a set of OnPremise credentials operationId: deleteOnPremiseCredentials parameters: - $ref: '#/components/parameters/credentialsId' - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/scaleway/credentials': get: summary: List Scaleway credentials operationId: listScalewayCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials responses: '200': description: list credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentialsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create Scaleway credentials set operationId: createScalewayCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/ScalewayCredentialsRequest' responses: '201': description: Credentials created content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/scaleway/credentials/{credentialsId}': get: summary: Get a set of Scaleway credentials operationId: getScalewayCredentials parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/credentialsId' tags: - Cloud Provider Credentials responses: '200': description: Get a set of Scaleway credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a set of Scaleway credentials operationId: editScalewayCredentials parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/credentialsId' tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/ScalewayCredentialsRequest' responses: '200': description: Edit a set of Scaleway credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a set of Scaleway credentials operationId: deleteScalewayCredentials parameters: - $ref: '#/components/parameters/credentialsId' - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/gcp/credentials': get: summary: List GCP credentials operationId: listGcpCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials responses: '200': description: list credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentialsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create GCP credentials set operationId: createGcpCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/GcpCredentialsRequest' responses: '201': description: Credentials created content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/gcp/credentials/{credentialsId}': get: summary: Get a set of GCP credentials operationId: getGcpCredentials parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/credentialsId' tags: - Cloud Provider Credentials responses: '200': description: Get a set of GCP credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a set of GCP credentials operationId: editGcpCredentials parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/credentialsId' tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/GcpCredentialsRequest' responses: '200': description: Edit a set of GCP credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a set of GCP credentials operationId: deleteGcpCredentials parameters: - $ref: '#/components/parameters/credentialsId' - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/github/connect': post: summary: Connect a github account to an organization operationId: organizationGithubAppConnect parameters: - $ref: '#/components/parameters/organizationId' tags: - Github App requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationGithubAppConnectRequest' responses: '200': description: Github App connected '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/github/disconnect': delete: summary: Disconnect a github account from an organization operationId: organizationGithubAppDisconnect parameters: - $ref: '#/components/parameters/organizationId' - in: query name: force schema: type: boolean description: Indicates if the github app should be disconnected despite github applications linked to organization tags: - Github App responses: '204': description: Github App disconnected '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/account/gitAuthProvider': get: summary: Get git provider accounts operationId: getOrganizationGitProviderAccount parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Account Git Repositories responses: '200': description: Get account content: application/json: schema: $ref: '#/components/schemas/GitAuthProviderResponseList' '401': $ref: '#/components/responses/401' '/organization/{organizationId}/account/github/repository': get: summary: Get github repositories of the connected user operationId: getOrganizationGithubRepositories parameters: - $ref: '#/components/parameters/organizationId' - in: query name: gitTokenId schema: type: string format: uuid description: The git token id that must be used for the application tags: - Organization Account Git Repositories responses: '200': description: Get github repositories content: application/json: schema: $ref: '#/components/schemas/GitRepositoryResponseList' '401': $ref: '#/components/responses/401' '/organization/{organizationId}/account/github/repository/branch': get: summary: Get github branches of the specified repository operationId: getOrganizationGithubRepositoryBranches tags: - Organization Account Git Repositories parameters: - $ref: '#/components/parameters/organizationId' - in: query name: name schema: type: string description: The name of the repository where to retrieve the branches - in: query name: gitTokenId schema: type: string format: uuid description: The git token id that must be used for the application responses: '200': description: Get github repository branches content: application/json: schema: $ref: '#/components/schemas/GitRepositoryBranchResponseList' '401': $ref: '#/components/responses/401' '/organization/{organizationId}/account/gitlab/repository': get: summary: Get gitlab repositories of the connected user operationId: getOrganizationGitlabRepositories parameters: - $ref: '#/components/parameters/organizationId' - in: query name: gitTokenId schema: type: string format: uuid description: The git token id that must be used for the application tags: - Organization Account Git Repositories responses: '200': description: Get gitlab repositories content: application/json: schema: $ref: '#/components/schemas/GitRepositoryResponseList' '401': $ref: '#/components/responses/401' '/organization/{organizationId}/account/gitlab/repository/branch': get: summary: Get gitlab branches of the specified repository operationId: getOrganizationGitlabRepositoryBranches tags: - Organization Account Git Repositories parameters: - $ref: '#/components/parameters/organizationId' - in: query name: name schema: type: string description: The name of the repository to retrieve the branches - in: query name: gitTokenId schema: type: string format: uuid description: The git token id that must be used for the application responses: '200': description: Get gitlab repository branches content: application/json: schema: $ref: '#/components/schemas/GitRepositoryBranchResponseList' '401': $ref: '#/components/responses/401' '/organization/{organizationId}/account/bitbucket/repository': get: summary: Get bitbucket repositories of the connected user operationId: getOrganizationBitbucketRepositories parameters: - $ref: '#/components/parameters/organizationId' - in: query name: gitTokenId schema: type: string format: uuid description: The git token id that must be used for the application tags: - Organization Account Git Repositories responses: '200': description: Get bitbucket repositories content: application/json: schema: $ref: '#/components/schemas/GitRepositoryResponseList' '401': $ref: '#/components/responses/401' '/organization/{organizationId}/account/bitbucket/repository/branch': get: summary: Get bitbucket branches of the specified repository operationId: getOrganizationBitbucketRepositoryBranches tags: - Organization Account Git Repositories parameters: - $ref: '#/components/parameters/organizationId' - in: query name: name schema: type: string description: The name of the repository where to retrieve the branches - in: query name: gitTokenId schema: type: string format: uuid description: The git token id that must be used for the application responses: '200': description: Get bitbucket repository branches content: application/json: schema: $ref: '#/components/schemas/GitRepositoryBranchResponseList' '401': $ref: '#/components/responses/401' '/organization/{organizationId}/webhook': get: summary: List organization webhooks description: List organization webhooks operationId: listOrganizationWebHooks parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Webhook responses: '200': description: List organization webhooks content: application/json: schema: $ref: '#/components/schemas/OrganizationWebhookResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create an organization webhook description: Create an organization webhook. operationId: createOrganizationWebhook parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Webhook requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationWebhookCreateRequest' responses: '201': description: Organization webhook created content: application/json: schema: $ref: '#/components/schemas/OrganizationWebhookCreateResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '/organization/{organizationId}/webhook/{webhookId}': get: summary: Get an Organization webhook description: Get an Organization webhook operationId: getOrganizationWebhook parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/webhookId' tags: - Organization Webhook responses: '200': description: Get organization webhook content: application/json: schema: $ref: '#/components/schemas/OrganizationWebhookResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an organization webhook description: Edit an organization webhook operationId: editOrganizationWebhook parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/webhookId' tags: - Organization Webhook requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationWebhookCreateRequest' responses: '200': description: Edit an organization webhook content: application/json: schema: $ref: '#/components/schemas/OrganizationWebhookCreateResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete organization webhook description: Delete organization webhook operationId: deleteOrganizationWebhook parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/webhookId' tags: - Organization Webhook responses: '204': $ref: '#/components/responses/204' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/customRole': get: summary: List organization custom roles description: List organization custom roles operationId: listOrganizationCustomRoles parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Custom Role responses: '200': description: List organization custom roles content: application/json: schema: $ref: '#/components/schemas/OrganizationCustomRoleList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create an organization custom role description: Create an organization custom role operationId: createOrganizationCustomRole parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Custom Role requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationCustomRoleCreateRequest' responses: '201': description: Organization custom role created content: application/json: schema: $ref: '#/components/schemas/OrganizationCustomRole' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '/organization/{organizationId}/customRole/{customRoleId}': get: summary: 'Get an organization custom role ' description: 'Get an organization custom role ' operationId: getOrganizationCustomRole parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/customRoleId' tags: - Organization Custom Role responses: '200': description: 'Get an organization custom role ' content: application/json: schema: $ref: '#/components/schemas/OrganizationCustomRole' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an organization custom role description: Edit an organization custom role operationId: editOrganizationCustomRole parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/customRoleId' tags: - Organization Custom Role requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationCustomRoleUpdateRequest' responses: '200': description: Edit an organization custom role content: application/json: schema: $ref: '#/components/schemas/OrganizationCustomRole' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete organization custom role description: Delete organization custom role operationId: deleteOrganizationCustomRole parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/customRoleId' tags: - Organization Custom Role responses: '204': $ref: '#/components/responses/204' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/events': get: summary: Get all events inside the organization description: Get all events inside the organization operationId: getOrganizationEvents parameters: - $ref: '#/components/parameters/organizationId' - in: query name: pageSize description: The number of events to display in the current page schema: type: number nullable: true default: 10 - in: query name: fromTimestamp description: | Display events triggered since this timestamp. A range of date can be specified by using `from-timestamp` with `to-timestamp` The format is a timestamp with nano precision schema: type: string nullable: true - in: query name: toTimestamp description: | Display events triggered before this timestamp. A range of date can be specified by using `to-timestamp` with `from-timestamp` The format is a timestamp with nano precision schema: type: string nullable: true - in: query name: continueToken description: | Token used to fetch the next page results The format is a timestamp with nano precision schema: type: string - in: query name: stepBackToken description: | Token used to fetch the previous page results The format is a timestamp with nano precision schema: type: string - in: query name: eventType schema: $ref: '#/components/schemas/OrganizationEventType' - in: query name: targetType schema: $ref: '#/components/schemas/OrganizationEventTargetType' - in: query name: targetId description: | The target resource id to search. Must be specified with the corresponding `target_type` schema: type: string format: uuid nullable: true - in: query name: subTargetType schema: $ref: '#/components/schemas/OrganizationEventSubTargetType' - in: query name: triggeredBy description: Information about the owner of the event (user name / apitoken / automatic action) schema: type: string - in: query name: origin schema: $ref: '#/components/schemas/OrganizationEventOrigin' tags: - Organization Event responses: '200': description: Get organization events content: application/json: schema: $ref: '#/components/schemas/OrganizationEventResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/targets': get: summary: Get available event targets to filter events description: Get available event targets to filter events operationId: getOrganizationEventTargets parameters: - $ref: '#/components/parameters/organizationId' - in: query name: fromTimestamp description: | Display targets available since this timestamp. A range of date can be specified by using `from-timestamp` with `to-timestamp` The format is a timestamp with nano precision schema: type: string nullable: true - in: query name: toTimestamp description: | Display targets triggered before this timestamp. A range of date can be specified by using `to-timestamp` with `from-timestamp` The format is a timestamp with nano precision schema: type: string nullable: true - in: query name: eventType schema: $ref: '#/components/schemas/OrganizationEventType' - in: query name: targetType schema: $ref: '#/components/schemas/OrganizationEventTargetType' - in: query name: triggeredBy description: Information about the owner of the event (user name / apitoken / automatic action) schema: type: string - in: query name: origin schema: $ref: '#/components/schemas/OrganizationEventOrigin' - in: query name: projectId description: Mandatory when requesting an environment or a service schema: type: string format: uuid - in: query name: environmentId description: Mandatory when requesting a service schema: type: string format: uuid tags: - Organization Event responses: '200': description: Get organization event targets content: application/json: schema: $ref: '#/components/schemas/OrganizationEventTargetResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/annotationsGroups': get: summary: List organization annotations group description: List organization annotations group operationId: listOrganizationAnnotationsGroup parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Annotations Group responses: '200': description: List organization annotations groups content: application/json: schema: type: object properties: results: $ref: '#/components/schemas/OrganizationAnnotationsGroupEnrichedResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create an organization annotations group description: Create an organization annotations group operationId: createOrganizationAnnotationsGroup parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Annotations Group requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationAnnotationsGroupCreateRequest' responses: '201': description: Organization annotations group created content: application/json: schema: $ref: '#/components/schemas/OrganizationAnnotationsGroupResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '/organization/{organizationId}/annotationsGroups/{annotationsGroupId}': get: summary: Get organization annotations group description: Get organization annotations group operationId: getOrganizationAnnotationsGroup parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/annotationsGroupId' tags: - Organization Annotations Group responses: '200': description: List organization annotations groups content: application/json: schema: $ref: '#/components/schemas/OrganizationAnnotationsGroupResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit organization annotations group description: Edit organization annotations group operationId: editOrganizationAnnotationsGroup parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/annotationsGroupId' tags: - Organization Annotations Group requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationAnnotationsGroupCreateRequest' responses: '200': description: Edit organization annotations groups content: application/json: schema: $ref: '#/components/schemas/OrganizationAnnotationsGroupResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete organization annotations group description: Delete organization annotations group operationId: deleteOrganizationAnnotationsGroup parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/annotationsGroupId' tags: - Organization Annotations Group responses: '204': $ref: '#/components/responses/204' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/annotationsGroups/{annotationsGroupId}/associatedItems': get: summary: Get organization annotations group associated items description: Get organization annotations group associated items operationId: getOrganizationAnnotationsGroupAssociatedItems parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/annotationsGroupId' tags: - Organization Annotations Group responses: '200': description: Get organization annotations group token associated items content: application/json: schema: $ref: '#/components/schemas/OrganizationAnnotationsGroupAssociatedItemsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/labelsGroups': get: summary: List organization labels group description: List organization labels group operationId: listOrganizationLabelsGroup parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Labels Group responses: '200': description: List organization labels groups content: application/json: schema: type: object properties: results: $ref: '#/components/schemas/OrganizationLabelsGroupEnrichedResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create an organization labels group description: Create an organization labels group operationId: createOrganizationLabelsGroup parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Labels Group requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationLabelsGroupCreateRequest' responses: '201': description: Organization labels group created content: application/json: schema: $ref: '#/components/schemas/OrganizationLabelsGroupResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '/organization/{organizationId}/labelsGroups/{labelsGroupId}': get: summary: Get organization labels group description: Get organization labels group operationId: getOrganizationLabelssGroup parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/labelsGroupId' tags: - Organization Labels Group responses: '200': description: List organization labels groups content: application/json: schema: $ref: '#/components/schemas/OrganizationLabelsGroupResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit organization labels group description: Edit organization labels group operationId: editOrganizationLabelsGroup parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/labelsGroupId' tags: - Organization Labels Group requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationLabelsGroupCreateRequest' responses: '200': description: Edit organization labels groups content: application/json: schema: $ref: '#/components/schemas/OrganizationLabelsGroupResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete organization labels group description: Delete organization labels group operationId: deleteOrganizationLabelsGroup parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/labelsGroupId' tags: - Organization Labels Group responses: '204': $ref: '#/components/responses/204' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/labelsGroups/{labelsGroupId}/associatedItems': get: summary: Get organization labels group associated items description: Get organization labels group associated items operationId: getOrganizationLabelsGroupAssociatedItems parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/labelsGroupId' tags: - Organization Labels Group responses: '200': description: Get organization labels group token associated items content: application/json: schema: $ref: '#/components/schemas/OrganizationLabelsGroupAssociatedItemsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /cloudProvider: get: summary: List Cloud providers available operationId: listCloudProvider tags: - Cloud Provider responses: '200': description: list cloud providers content: application/json: schema: $ref: '#/components/schemas/CloudProviderResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /aws/region: get: summary: List AWS regions operationId: listAWSRegions tags: - Cloud Provider responses: '200': description: list regions content: application/json: schema: $ref: '#/components/schemas/ClusterRegionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /aws/clusterFeature: get: summary: List AWS features available operationId: listAWSFeatures tags: - Cloud Provider responses: '200': description: list features available for AWS cloud provider content: application/json: schema: $ref: '#/components/schemas/ClusterFeatureResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /aws/instanceType: get: summary: List AWS available instance types operationId: listAWSInstanceType tags: - Cloud Provider responses: '200': description: list the instance types available for AWS cloud provider content: application/json: schema: $ref: '#/components/schemas/ClusterInstanceTypeResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /aws/managedDatabase/type: get: summary: List AWS available managed database types operationId: listAWSManagedDatabaseType tags: - Cloud Provider responses: '200': description: list AWS available managed database types content: application/json: schema: $ref: '#/components/schemas/ManagedDatabaseTypeResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/aws/managedDatabase/instanceType/{region}/{databaseType}': get: summary: List AWS available managed database instance types operationId: listAWSManagedDatabaseInstanceType parameters: - $ref: '#/components/parameters/region' - $ref: '#/components/parameters/databaseType' tags: - Cloud Provider responses: '200': description: list AWS available managed database instance types content: application/json: schema: $ref: '#/components/schemas/ManagedDatabaseInstanceTypeResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/azure/aks/instanceType/{region}': get: summary: List Azure AKS available instance types operationId: listAzureAKSInstanceType parameters: - $ref: '#/components/parameters/region' - schema: type: boolean in: query name: only_meets_resource_reqs - schema: type: boolean in: query name: with_gpu description: 'deprecated field, use `gpu` instead' deprecated: true - schema: type: string enum: - ONLY - INCLUDE - EXCLUDE default: INCLUDE in: query name: gpu tags: - Cloud Provider responses: '200': description: list the instance types available for Azure AKS by region content: application/json: schema: $ref: '#/components/schemas/ClusterInstanceTypeResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/aws/eks/instanceType/{region}': get: summary: List AWS EKS available instance types operationId: listAWSEKSInstanceType parameters: - $ref: '#/components/parameters/region' - schema: type: boolean in: query name: only_meets_resource_reqs - schema: type: boolean in: query name: with_gpu description: 'deprecated field, use `gpu` instead' deprecated: true - schema: type: string enum: - INCLUDE - EXCLUDE - ONLY default: INCLUDE in: query name: gpu deprecated: true tags: - Cloud Provider responses: '200': description: list the instance types available for AWS EKS by region content: application/json: schema: $ref: '#/components/schemas/ClusterInstanceTypeResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /scaleway/region: get: summary: List Scaleway regions operationId: listScalewayRegions tags: - Cloud Provider responses: '200': description: list regions content: application/json: schema: $ref: '#/components/schemas/ClusterRegionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /scaleway/clusterFeature: get: summary: List Scaleway features available operationId: listScalewayFeatures tags: - Cloud Provider responses: '200': description: list features available for Scaleway cloud provider content: application/json: schema: $ref: '#/components/schemas/ClusterFeatureResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /scaleway/instanceType: get: summary: List Scaleway available instance types operationId: listScalewayInstanceType tags: - Cloud Provider responses: '200': description: list the instance types available for Scaleway cloud provider content: application/json: schema: $ref: '#/components/schemas/ClusterInstanceTypeResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /scaleway/managedDatabase/type: get: summary: List Scaleway available managed database types operationId: listSCWManagedDatabaseType tags: - Cloud Provider responses: '200': description: list Scaleway available managed database types content: application/json: schema: $ref: '#/components/schemas/ManagedDatabaseTypeResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/scaleway/instanceType/{zone}': get: summary: List Scaleway Kapsule available instance types operationId: listScalewayKapsuleInstanceType parameters: - name: zone in: path description: zone name required: true schema: type: string example: fr-par-1 tags: - Cloud Provider responses: '200': description: list the instance types available for Scaleway Kapsule by region content: application/json: schema: $ref: '#/components/schemas/ClusterInstanceTypeResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /gcp/region: get: summary: List GCP regions operationId: listGcpRegions tags: - Cloud Provider responses: '200': description: list regions content: application/json: schema: $ref: '#/components/schemas/ClusterRegionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /gcp/clusterFeature: get: summary: List GCP features available operationId: listGcpFeatures tags: - Cloud Provider responses: '200': description: list features available for GCP cloud provider content: application/json: schema: $ref: '#/components/schemas/ClusterFeatureResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/gcp/instanceType/{region}': get: summary: List GCP GKE available instance types operationId: listGcpGkeInstanceType parameters: - $ref: '#/components/parameters/region' tags: - Cloud Provider responses: '200': description: list the instance types available for GCP GKE by region content: application/json: schema: $ref: '#/components/schemas/ClusterInstanceTypeResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/cloudProviderInfo': get: summary: Get cluster cloud provider info and credentials operationId: getOrganizationCloudProviderInfo parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters responses: '200': description: get cloud provider info and credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCloudProviderInfo' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Specify cluster cloud provider info and credentials operationId: specifyClusterCloudProviderInfo parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters requestBody: content: application/json: schema: $ref: '#/components/schemas/ClusterCloudProviderInfoRequest' responses: '201': description: Create cluster content: application/json: schema: $ref: '#/components/schemas/ClusterCloudProviderInfo' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/isReady': get: summary: Know if a cluster is ready to be deployed or not operationId: getClusterReadinessStatus parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters responses: '200': description: Get Cluster Readiness Status content: application/json: schema: $ref: '#/components/schemas/ClusterReadinessStatus' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/deploy': post: summary: Deploy a cluster description: allows to deploy a cluster operationId: deployCluster parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' - schema: type: boolean in: query name: dry_run description: 'default: false. Decide if the deployment of the cluster should be done in dry_run mode. Avoiding any changes' tags: - Clusters responses: '201': description: Deploy cluster content: application/json: schema: $ref: '#/components/schemas/ClusterStatus' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/cluster/{clusterId}/upgrade': post: summary: Upgrade a cluster description: allows to upgrade a cluster to next available kubernetes version operationId: upgradeCluster parameters: - $ref: '#/components/parameters/clusterId' tags: - Clusters responses: '201': description: Upgrade cluster content: application/json: schema: $ref: '#/components/schemas/ClusterStatus' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/karpenterPrivateSubnetIds': put: summary: Update karpenter private fargate subnet ids description: Update karpenter private fargate subnet ids operationId: updateKarpenterPrivateFargateSubnetIds parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters requestBody: content: application/json: schema: $ref: '#/components/schemas/ClusterKarpenterPrivateSubnetIdsPutRequest' responses: '200': description: Updated '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/cluster/{clusterId}/stop': post: summary: Stop cluster description: Cluster stop has been requester. operationId: StopCluster parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/clusterId' tags: - Clusters responses: '202': description: Update cluster content: application/json: schema: $ref: '#/components/schemas/ClusterStatus' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Cluster is already stopped or an operation is in progress '/organization/{organizationId}/containerRegistry': get: summary: List organization container registries operationId: listContainerRegistry parameters: - $ref: '#/components/parameters/organizationId' tags: - Container Registries responses: '200': description: List container registries content: application/json: schema: $ref: '#/components/schemas/ContainerRegistryResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a container registry operationId: createContainerRegistry parameters: - $ref: '#/components/parameters/organizationId' tags: - Container Registries requestBody: content: application/json: schema: $ref: '#/components/schemas/ContainerRegistryRequest' responses: '201': description: Create a Container Registry content: application/json: schema: $ref: '#/components/schemas/ContainerRegistryResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/containerRegistry/{containerRegistryId}': get: summary: Get a container registry operationId: getContainerRegistry parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/containerRegistryId' tags: - Container Registries responses: '200': description: The container registry content: application/json: schema: $ref: '#/components/schemas/ContainerRegistryResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a container registry operationId: deleteContainerRegistry parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/containerRegistryId' tags: - Container Registries responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a container registry operationId: editContainerRegistry parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/containerRegistryId' tags: - Container Registries requestBody: content: application/json: schema: $ref: '#/components/schemas/ContainerRegistryRequest' responses: '200': description: Edited the container registry content: application/json: schema: $ref: '#/components/schemas/ContainerRegistryResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/containerRegistry/{containerRegistryId}/images': get: summary: List image version for a container registry operationId: getContainerVersions parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/containerRegistryId' - $ref: '#/components/parameters/imageName' - $ref: '#/components/parameters/searchImageName' tags: - Container Registries responses: '200': description: The container registry versions list content: application/json: schema: $ref: '#/components/schemas/ContainerVersionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/containerRegistry/{containerRegistryId}/container/status': get: summary: List all container registry container statuses description: Returns a list of containers with only their id and status. operationId: getContainerRegistryContainerStatus parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/containerRegistryId' tags: - Containers 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' /availableContainerRegistry: get: summary: List supported container registries description: List supported container registries by Qovery and get the mandatory authentification configuration. operationId: listAvailableContainerRegistry tags: - Container Registries responses: '200': description: supported container registries content: application/json: schema: $ref: '#/components/schemas/AvailableContainerRegistryResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /availableHelmRepository: get: summary: List supported helm repository description: List supported helm repository by Qovery and get the mandatory authentification configuration. operationId: listAvailableHelmRepository tags: - Helm Repositories responses: '200': description: supported helm repositories content: application/json: schema: $ref: '#/components/schemas/AvailableHelmRepositoryResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/helmRepository': get: summary: List organization helm repositories operationId: listHelmRepository parameters: - $ref: '#/components/parameters/organizationId' tags: - Helm Repositories responses: '200': description: List helm repositories content: application/json: schema: $ref: '#/components/schemas/HelmRepositoryResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a helm repository operationId: createHelmRepository parameters: - $ref: '#/components/parameters/organizationId' tags: - Helm Repositories requestBody: content: application/json: schema: $ref: '#/components/schemas/HelmRepositoryRequest' responses: '201': description: Create a helm repository content: application/json: schema: $ref: '#/components/schemas/HelmRepositoryResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/helmRepository/{helmRepositoryId}': get: summary: Get a helm repository operationId: getHelmRepository parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/helmRepositoryId' tags: - Helm Repositories responses: '200': description: The helm repository content: application/json: schema: $ref: '#/components/schemas/HelmRepositoryResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a helm repository operationId: deleteHelmRepository parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/helmRepositoryId' tags: - Helm Repositories responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a helm repository operationId: editHelmRepository parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/helmRepositoryId' tags: - Helm Repositories requestBody: content: application/json: schema: $ref: '#/components/schemas/HelmRepositoryRequest' responses: '200': description: Edited the helm repository content: application/json: schema: $ref: '#/components/schemas/HelmRepositoryResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/helmRepository/{helmRepositoryId}/charts': get: summary: List helm charts contained inside the repository operationId: getHelmCharts parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/helmRepositoryId' - $ref: '#/components/parameters/chartName' tags: - Helm Repositories responses: '200': description: The helm repository versions content: application/json: schema: $ref: '#/components/schemas/HelmVersionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}': get: summary: Get project by ID operationId: getProject parameters: - $ref: '#/components/parameters/projectId' tags: - Project Main Calls responses: '200': description: Get project by ID content: application/json: schema: $ref: '#/components/schemas/Project' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a project description: To edit a project you must have the admin permission operationId: editProject parameters: - $ref: '#/components/parameters/projectId' tags: - Project Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectRequest' responses: '200': description: Edit a project content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Project name within the organization is already taken delete: summary: Delete a project description: To delete a project you must have the admin permission operationId: deleteProject parameters: - $ref: '#/components/parameters/projectId' tags: - Project Main Calls responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/deploymentRule': get: summary: List project deployment rules description: List project deployment rules operationId: listProjectDeploymentRules parameters: - $ref: '#/components/parameters/projectId' tags: - Project Deployment Rule responses: '200': description: Get project deployment rules content: application/json: schema: $ref: '#/components/schemas/ProjectDeploymentRuleResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a deployment rule description: Create a deployment rule operationId: createDeploymentRule parameters: - $ref: '#/components/parameters/projectId' tags: - Project Deployment Rule requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectDeploymentRuleRequest' responses: '201': description: Create deployment rule content: application/json: schema: $ref: '#/components/schemas/ProjectDeploymentRule' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/deploymentRule/{deploymentRuleId}': get: summary: Get a project deployment rule description: Get a project deployment rule operationId: getProjectDeploymentRule parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/deploymentRuleId' tags: - Project Deployment Rule responses: '200': description: Get project deployment rule content: application/json: schema: $ref: '#/components/schemas/ProjectDeploymentRule' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a project deployment rule description: Edit a project deployment rule operationId: editProjectDeployemtnRule parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/deploymentRuleId' tags: - Project Deployment Rule requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectDeploymentRuleRequest' responses: '200': description: Edit a project deployment rule content: application/json: schema: $ref: '#/components/schemas/ProjectDeploymentRule' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a project deployment rule description: Delete a project deployment rule operationId: deleteProjectDeploymentRule parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/deploymentRuleId' tags: - Project Deployment Rule responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/deploymentRule/order': put: summary: Update deployment rules priority order description: Update deployment rules priority order operationId: updateDeploymentRulesPriorityOrder parameters: - $ref: '#/components/parameters/projectId' tags: - Project Deployment Rule requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectDeploymentRulesPriorityOrderRequest' responses: '200': description: Update deployment rules priority order '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/environment': get: summary: List environments operationId: listEnvironment parameters: - $ref: '#/components/parameters/projectId' tags: - Environments responses: '200': description: List environments content: application/json: schema: $ref: '#/components/schemas/EnvironmentResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create an environment operationId: createEnvironment parameters: - $ref: '#/components/parameters/projectId' tags: - Environments requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateEnvironmentRequest' responses: '201': description: Create environment content: application/json: schema: $ref: '#/components/schemas/Environment' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Environment name within the project is already taken '/project/{projectId}/environmentVariable': post: summary: Add an environment variable to the project description: | - Add an environment variable to the project. - If the environment variable key already exists, then it will be replaced by the new one. - If the environment variable value points toward an existing environment variable key, it will be considered as an alias. operationId: createProjectEnvironmentVariable parameters: - $ref: '#/components/parameters/projectId' tags: - Project Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableRequest' responses: '201': description: Added an environment variable content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' get: summary: List project environment variables operationId: listProjectEnvironmentVariable parameters: - $ref: '#/components/parameters/projectId' tags: - Project Environment Variable responses: '200': description: List project environment variables content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/environmentVariable/{environmentVariableId}': delete: summary: Delete an environment variable from a project description: | - To delete an environment variable you must have the project user permission - You can't delete a BUILT_IN variable - If you delete a variable having override or alias, the associated override/alias will be deleted as well operationId: deleteProjectEnvironmentVariable parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/environmentVariableId' tags: - Project Environment Variable responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an environment variable belonging to the project description: | - You can't edit a BUILT_IN variable - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the variable it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION) operationId: editProjectEnvironmentVariable parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/environmentVariableId' tags: - Project Environment Variable requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableEditRequest' responses: '200': description: Edited the environment variable value content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/environmentVariable/{environmentVariableId}/override': post: summary: Create an environment variable override at the project level description: | - Allows you to override at project level an environment variable that has a higher scope. - You only have to specify a value in the request body - The system will create a new environment variable at project level with the same key as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the overridden_variable will be exposed in the "overridden_variable" field of the newly created variable operationId: createProjectEnvironmentVariableOverride parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/environmentVariableId' tags: - Project Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create variable override content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/environmentVariable/{environmentVariableId}/alias': post: summary: Create an environment variable alias at the project level description: | - Allows you to add an alias at project level on an existing environment variable having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new environment variable at project level with the same value as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the aliased_variable will be exposed in the "aliased_variable" field of the newly created variable - You can't create an alias on an alias operationId: createProjectEnvironmentVariableAlias parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/environmentVariableId' tags: - Project Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create variable alias content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/secret': get: summary: List project secrets operationId: listProjectSecrets parameters: - $ref: '#/components/parameters/projectId' tags: - Project Secret responses: '200': description: List project secrets content: application/json: schema: $ref: '#/components/schemas/SecretResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add a secret to the project description: | - Add a secret to the project. - If the secret key already exists, then it will be replaced by the new one. - If the secret value points toward an existing secret key, it will be considered as an alias. operationId: createProjectSecret parameters: - $ref: '#/components/parameters/projectId' tags: - Project Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/SecretRequest' responses: '201': description: Added a secret content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/secret/{secretId}': delete: summary: Delete a secret from a project description: | - To delete a secret you must have the project user permission - You can't delete a BUILT_IN secret - If you delete a secret having override or alias, the associated override/alias will be deleted as well operationId: deleteProjectSecret operationId: deleteProjectSecret parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/secretId' tags: - Project Secret responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a secret belonging to the project description: | - You can't edit a BUILT_IN secret - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the secret it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION) operationId: editProjectSecret parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/secretId' tags: - Project Secret requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SecretEditRequest' responses: '200': description: Edited the secret value content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/secret/{secretId}/override': post: summary: Create a secret override at the project level description: | - Allows you to override at project level a secret that has a higher scope. - You only have to specify a value in the request body - The system will create a new secret at project level with the same key as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the overridden_secret will be exposed in the "overridden_secret" field of the newly created secret operationId: createProjectSecretOverride parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/secretId' tags: - Project Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create secret override content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/secret/{secretId}/alias': post: summary: Create a secret alias at the project level description: | - Allows you to add an alias at project level on an existing secret having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new secret at project level with the same value as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the aliased_secret will be exposed in the "aliased_secret" field of the newly created secret - You can't create an alias on an alias operationId: createProjectSecretAlias parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/secretId' tags: - Project Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create secret alias content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/environment/status': get: summary: List environments statuses description: Returns a list of environments with only their id and status. operationId: getProjectEnvironmentsStatus parameters: - $ref: '#/components/parameters/projectId' tags: - Environments responses: '200': description: Get status content: application/json: schema: $ref: '#/components/schemas/EnvironmentStatusList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/project/{projectId}/environment/stats': get: summary: List total number of services for each environment of the project description: 'Returns a list of environment ids, and for each its total numberof services' operationId: getProjectEnvironmentServiceNumber parameters: - $ref: '#/components/parameters/projectId' tags: - Environments responses: '200': description: Get number of services content: application/json: schema: $ref: '#/components/schemas/EnvironmentStatsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}': get: summary: Get environment by ID operationId: getEnvironment parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Main Calls responses: '200': description: Get environment by ID content: application/json: schema: $ref: '#/components/schemas/Environment' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an environment description: To edit an environment you must have the admin permission operationId: editEnvironment parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentEditRequest' responses: '200': description: Edit an environment content: application/json: schema: $ref: '#/components/schemas/Environment' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Environment name within the project is already taken delete: summary: Delete an environment description: To delete an environment you must have the admin permission operationId: deleteEnvironment parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Main Calls responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/status': get: summary: Get environment status operationId: getEnvironmentStatus parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Main Calls responses: '200': description: Get status content: application/json: schema: $ref: '#/components/schemas/EnvironmentStatus' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/statuses': get: summary: Get environment statuses with services status operationId: getEnvironmentStatuses parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Main Calls responses: '200': description: Get statuses content: application/json: schema: $ref: '#/components/schemas/EnvironmentStatuses' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/statusesWithStages': get: summary: Get environment statuses with stages operationId: getEnvironmentStatusesWithStages parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Main Calls responses: '200': description: Get statuses with stages content: application/json: schema: $ref: '#/components/schemas/EnvironmentStatusesWithStages' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/deploymentStage': get: summary: List environment deployment stage operationId: ListEnvironmentDeploymentStage parameters: - $ref: '#/components/parameters/environmentId' tags: - Deployment Stage Main Calls responses: '200': description: List deployment stage content: application/json: schema: $ref: '#/components/schemas/DeploymentStageResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create environment deployment stage operationId: CreateEnvironmentDeploymentStage parameters: - $ref: '#/components/parameters/environmentId' tags: - Deployment Stage Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/DeploymentStageRequest' responses: '200': description: created deployment stage content: application/json: schema: $ref: '#/components/schemas/DeploymentStageResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/deploymentStage/{deploymentStageId}': get: summary: Get Deployment Stage operationId: getDeploymentStage parameters: - $ref: '#/components/parameters/deploymentStageId' tags: - Deployment Stage Main Calls responses: '200': description: Get Deployment Stage content: application/json: schema: $ref: '#/components/schemas/DeploymentStageResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete deployment stage operationId: DeleteDeploymentStage parameters: - $ref: '#/components/parameters/deploymentStageId' tags: - Deployment Stage Main Calls responses: '204': $ref: '#/components/responses/204' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit deployment stage operationId: EditDeploymentStage parameters: - $ref: '#/components/parameters/deploymentStageId' tags: - Deployment Stage Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/DeploymentStageRequest' responses: '200': description: created deployment stage content: application/json: schema: $ref: '#/components/schemas/DeploymentStageResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/deploymentStage/{deploymentStageId}/service/{serviceId}': put: summary: Attach service to deployment stage operationId: AttachServiceToDeploymentStage parameters: - $ref: '#/components/parameters/deploymentStageId' - $ref: '#/components/parameters/serviceId' tags: - Deployment Stage Main Calls responses: '200': description: List of deployment stages for the env content: application/json: schema: $ref: '#/components/schemas/DeploymentStageResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/deploymentStage/{deploymentStageId}/moveBefore/{stageId}': put: summary: Move deployment stage before requested stage operationId: MoveBeforeDeploymentStage parameters: - $ref: '#/components/parameters/deploymentStageId' - $ref: '#/components/parameters/stageId' tags: - Deployment Stage Main Calls responses: '200': description: List deployment stage content: application/json: schema: $ref: '#/components/schemas/DeploymentStageResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/deploymentStage/{deploymentStageId}/moveAfter/{stageId}': put: summary: Move deployment stage after requested stage operationId: MoveAfterDeploymentStage parameters: - $ref: '#/components/parameters/deploymentStageId' - $ref: '#/components/parameters/stageId' tags: - Deployment Stage Main Calls responses: '200': description: List deployment stage content: application/json: schema: $ref: '#/components/schemas/DeploymentStageResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/deploymentRule': get: summary: Get environment deployment rule operationId: getEnvironmentDeploymentRule parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Deployment Rule responses: '200': description: Get deployment rule content: application/json: schema: $ref: '#/components/schemas/EnvironmentDeploymentRule' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/deploymentRule/{deploymentRuleId}': put: summary: Edit an environment deployment rule operationId: editEnvironmentDeploymentRule parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/deploymentRuleId' tags: - Environment Deployment Rule requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentDeploymentRuleEditRequest' responses: '200': description: Edit environment deployment rule content: application/json: schema: $ref: '#/components/schemas/EnvironmentDeploymentRule' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/deploy': post: summary: Deploy environment description: This will deploy all the services of this environment to their latest version. operationId: deployEnvironment parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions responses: '202': description: Deploy environment content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/environment/{environmentId}/uninstall': post: summary: Uninstall environment description: This will uninstall all the services of this environment. operationId: uninstallEnvironment parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions responses: '202': description: uninstall environment content: application/json: schema: type: object properties: {} '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress x-stoplight: id: g57d57j59zihv parameters: - schema: type: string name: environmentId in: path required: true '/environment/{environmentId}/stop': post: summary: Stop environment operationId: stopEnvironment parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions responses: '202': description: Environment stop has been requested content: application/json: schema: $ref: '#/components/schemas/EnvironmentStatus' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Environment is already stopped or an operation is in progress '/environment/{environmentId}/redeploy': post: summary: Redeploy environment operationId: redeployEnvironment parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions responses: '202': description: Environment redeploy has been requested content: application/json: schema: $ref: '#/components/schemas/EnvironmentStatus' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/environment/{environmentId}/cancelDeployment': post: summary: Cancel environment deployment description: Cancel the current deployment of your environment. operationId: cancelEnvironmentDeployment parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions responses: '202': description: environment deployment cancelling has been requested content: application/json: schema: $ref: '#/components/schemas/EnvironmentStatus' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Environment deployment is already cancelled or an operation is in progress requestBody: content: application/json: schema: type: object properties: force_cancel: type: boolean x-stoplight: id: c5k0n6yafpsig default: false description: Force cancel everything running in this environment if set to true (e.q lifecycle jobs triggered during the deployment). '/deploymentQueue/{deploymentRequestId}/cancelDeployment': post: summary: Cancel deployment request description: Cancel the a deployment request. operationId: cancelDeploymentRequest tags: - Deployment Queue Actions responses: '202': description: deployment request cancelling has been requested content: {} '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Deployment request is already cancelled or an operation is in progress requestBody: content: application/json: schema: type: object properties: {} x-stoplight: id: tybevwlak1oip parameters: - schema: type: string format: uuid name: deploymentRequestId in: path required: true '/environment/{environmentId}/clone': post: summary: Clone environment description: 'You must provide a name. This will create a new environment, with the same configuration, and same applications and databases. Database data is not cloned.' operationId: cloneEnvironment parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/CloneEnvironmentRequest' responses: '202': description: Environment clone has been requested content: application/json: schema: $ref: '#/components/schemas/Environment' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/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' '/environment/{environmentId}/container': get: summary: List containers operationId: listContainer parameters: - $ref: '#/components/parameters/environmentId' tags: - Containers responses: '200': description: List containers content: application/json: schema: $ref: '#/components/schemas/ContainerResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a container operationId: createContainer parameters: - $ref: '#/components/parameters/environmentId' tags: - Containers requestBody: content: application/json: schema: $ref: '#/components/schemas/ContainerRequest' responses: '201': description: Create container content: application/json: schema: $ref: '#/components/schemas/ContainerResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Container name within the environment is already taken '/environment/{environmentId}/container/status': get: summary: List all environment container statuses description: Returns a list of containers with only their id and status. operationId: getEnvironmentContainerStatus parameters: - $ref: '#/components/parameters/environmentId' tags: - Containers 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' '/environment/{environmentId}/service/deploy': post: summary: Deploy services description: Update and deploy the selected services operationId: deployAllServices parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/DeployAllRequest' responses: '202': description: Deployed services content: application/json: schema: $ref: '#/components/schemas/EnvironmentStatus' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/environment/{environmentId}/service/restart-service': post: summary: Reboot services description: Update and reboot the selected services operationId: rebootServices parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/RebootServicesRequest' responses: '202': description: Reboot services content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/environment/{environmentId}/service/stop': post: summary: Stop services description: Stop selected services operationId: stopSelectedServices parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentServiceIdsAllRequest' responses: '200': description: Services have been triggered to be deleted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/environment/{environmentId}/service/delete': post: summary: Delete services description: Delete selected services operationId: deleteSelectedServices parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentServiceIdsAllRequest' responses: '200': description: Services have been triggered to be deleted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/environment/{environmentId}/service/uninstall': post: summary: Uninstall services description: uninstall selected services operationId: uninstallSelectedServices parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentServiceIdsAllRequest' responses: '200': description: Services have been triggered to be uninstalled '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress x-stoplight: id: m4lfkqr1n8s97 parameters: - schema: type: string name: environmentId in: path required: true '/organization/{organizationId}/container/deploy': post: summary: Auto deploy containers description: | Triggers a new container deploy in each environment matching the following conditions - environment should have the auto-deploy enabled - the container should have the same image name and a different tag operationId: autoDeployContainerEnvironments parameters: - $ref: '#/components/parameters/organizationId' tags: - Containers requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationContainerAutoDeployRequest' responses: '202': description: Deployed containers content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/organization/{organizationId}/container/preview': post: summary: Preview container environments description: | Triggers a new container preview for each environment matching the following conditions - preview environment feature should be enabled for the container - the container should have the same image name and a different tag operationId: previewContainerEnvironments parameters: - $ref: '#/components/parameters/organizationId' tags: - Containers requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationContainerPreviewRequest' responses: '202': description: Preview environments processing content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/organization/{organizationId}/job/deploy': post: summary: Auto deploy jobs description: | Triggers a new job deploy in each environment matching the following conditions - environment should have the auto-deploy enabled - the job should have the same image name and a different tag operationId: autoDeployJobEnvironments parameters: - $ref: '#/components/parameters/organizationId' tags: - Jobs requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationJobAutoDeployRequest' responses: '202': description: Deployed jobs content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/environment/{environmentId}/log': get: summary: List environment deployment logs operationId: listEnvironmentLog description: This returns the last 1000 environment deployment logs. parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Logs responses: '200': description: List logs content: application/json: schema: $ref: '#/components/schemas/EnvironmentLogResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/logs': get: summary: List environment deployment logs v2 operationId: listEnvironmentLogs description: This returns the last 1000 environment deployment logs v2 parameters: - $ref: '#/components/parameters/environmentId' - in: query name: version schema: type: string tags: - Environment Logs responses: '200': description: List logs v2 content: application/json: schema: $ref: '#/components/schemas/EnvironmentLogsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/deploymentHistory': get: summary: List environment deployments description: 'List previous and current environment deployments with the status deployment and the related services. By default it returns the 20 last results. The response is paginated. In order to request the next page, you can use the startId query parameter' operationId: listEnvironmentDeploymentHistory parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/startId' tags: - Environment Deployment History responses: '200': description: List deployment history content: application/json: schema: $ref: '#/components/schemas/DeploymentHistoryEnvironmentPaginatedResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/deploymentHistoryV2': get: summary: List environment deployments description: 'List previous and current environment deployments with the status deployment and the related services. By default it returns the 20 last results. The response is paginated. In order to request the next page, you can use the startId query parameter' operationId: listEnvironmentDeploymentHistoryV2 parameters: - in: query name: pageSize description: The number of deployments to return in the current page schema: type: number nullable: true default: 20 tags: - Environment Deployment History responses: '200': description: List deployment history content: application/json: schema: $ref: '#/components/schemas/DeploymentHistoryEnvironmentPaginatedResponseListV2' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' x-stoplight: id: pqsu5pghhay1j parameters: - schema: type: string format: uuid name: environmentId in: path required: true '/environment/{environmentId}/environmentVariable': get: summary: List environment variables operationId: listEnvironmentEnvironmentVariable parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Variable responses: '200': description: List environment variables content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add an environment variable to the environment description: | - Add an environment variable to the environment. - If the environment variable key already exists, then it will be replaced by the new one. - If the environment variable value points toward an existing environment variable key, it will be considered as an alias. operationId: createEnvironmentEnvironmentVariable parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableRequest' responses: '201': description: Added an environment variable content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/environmentVariable/{environmentVariableId}': delete: summary: Delete an environment variable from an environment description: | - To delete an environment variable you must have the project user permission - You can't delete a BUILT_IN variable - If you delete a variable having override or alias, the associated override/alias will be deleted as well operationId: deleteEnvironmentEnvironmentVariable parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/environmentVariableId' tags: - Environment Variable responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an environment variable belonging to the environment description: | - You can't edit a BUILT_IN variable - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the variable it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION) operationId: editEnvironmentEnvironmentVariable parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/environmentVariableId' tags: - Environment Variable requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableEditRequest' responses: '200': description: Edited the environment variable value content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/environmentVariable/{environmentVariableId}/override': post: summary: Create an environment variable override at the environment level description: | - Allows you to override at environment level an environment variable that has a higher scope. - You only have to specify a value in the request body - The system will create a new environment variable at environment level with the same key as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the overridden_variable will be exposed in the "overridden_variable" field of the newly created variable operationId: createEnvironmentEnvironmentVariableOverride parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/environmentVariableId' tags: - Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create variable override content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/environmentVariable/{environmentVariableId}/alias': post: summary: Create an environment variable alias at the environment level description: | - Allows you to add an alias at environment level on an existing environment variable having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new environment variable at environment level with the same value as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the aliased_variable will be exposed in the "aliased_variable" field of the newly created variable - You can't create an alias on an alias operationId: createEnvironmentEnvironmentVariableAlias parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/environmentVariableId' tags: - Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create variable alias content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/secret': get: summary: List environment secrets operationId: listEnvironmentSecrets parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Secret responses: '200': description: List environment secrets content: application/json: schema: $ref: '#/components/schemas/SecretResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add a secret to the environment description: | - Add a secret to the environment. - If the secret key already exists, then it will be replaced by the new one. - If the secret value points toward an existing secret key, it will be considered as an alias. operationId: createEnvironmentSecret parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/SecretRequest' responses: '201': description: Added a secret content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/secret/{secretId}': delete: summary: Delete a secret from the environment description: | - To delete a secret you must have the project user permission - You can't delete a BUILT_IN secret - If you delete a secret having override or alias, the associated override/alias will be deleted as well operationId: deleteEnvironmentSecret operationId: deleteEnvironmentSecret parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/secretId' tags: - Environment Secret responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a secret belonging to the environment description: | - You can't edit a BUILT_IN secret - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the secret it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION) operationId: editEnvironmentSecret parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/secretId' tags: - Environment Secret requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SecretEditRequest' responses: '200': description: Edited the secret value content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/secret/{secretId}/override': post: summary: Create a secret override at the environment level description: | - Allows you to override at environment level a secret that has a higher scope. - You only have to specify a value in the request body - The system will create a new secret at environment level with the same key as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the overridden_secret will be exposed in the "overridden_secret" field of the newly created secret operationId: createEnvironmentSecretOverride parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/secretId' tags: - Environment Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create secret override content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/secret/{secretId}/alias': post: summary: Create a secret alias at the environment level description: | - Allows you to add an alias at environment level on an existing secret having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new secret at environment level with the same value as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the aliased_secret will be exposed in the "aliased_secret" field of the newly created secret - You can't create an alias on an alias operationId: createEnvironmentSecretAlias parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/secretId' tags: - Environment Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create secret alias content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/databaseConfiguration': get: summary: 'List eligible database types, versions and modes for the environment' operationId: listEnvironmentDatabaseConfig parameters: - $ref: '#/components/parameters/environmentId' tags: - Databases responses: '200': description: List eligible database content: application/json: schema: $ref: '#/components/schemas/DatabaseConfigurationResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/terraformExport': get: summary: Export full environment and its resources into Terraform manifests operationId: exportEnvironmentConfigurationIntoTerraform parameters: - $ref: '#/components/parameters/environmentId' - name: exportSecrets in: query description: export Secrets from configuration and include them into Terraform export required: false schema: type: boolean default: false tags: - Environment Export responses: '200': description: Export full environment and its resources into Terraform manifests (ZIP file) content: application/octet-stream: schema: type: string format: binary '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' /defaultClusterAdvancedSettings: get: summary: List default cluster advanced settings description: 'Default values for each setting are available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/cluster-advanced-settings/)' operationId: getDefaultClusterAdvancedSettings tags: - Clusters responses: '200': description: Default cluster advanced settings content: application/json: schema: $ref: '#/components/schemas/ClusterAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' /defaultContainerAdvancedSettings: get: summary: List default container advanced settings description: 'Default values for each setting are available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/advanced-settings/)' operationId: getDefaultContainerAdvancedSettings tags: - Containers responses: '200': description: Default container advanced settings content: application/json: schema: $ref: '#/components/schemas/ContainerAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' /defaultJobAdvancedSettings: get: summary: List default job advanced settings description: 'Default values for each setting is available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/advanced-settings/)' operationId: getDefaultJobAdvancedSettings tags: - Jobs responses: '200': description: Default job advanced settings content: application/json: schema: $ref: '#/components/schemas/JobAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' /defaultHelmAdvancedSettings: get: summary: List default helm advanced settings operationId: getDefaultHelmAdvancedSettings tags: - Helms responses: '200': description: Default helm advanced settings content: application/json: schema: $ref: '#/components/schemas/HelmAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '/application/{applicationId}': get: summary: Get application by ID operationId: getApplication parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Main Calls responses: '200': description: Get application by ID content: application/json: schema: $ref: '#/components/schemas/Application' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit application description: | - To edit the application you must have the admin permission. - For port edition, if you provide a port id, we will update the corresponding port. If you don't we will create a new one. If you remove a port from the payload, we will delete it. - For storage edition, if you provide a storage id, we will update the corresponding storage. If you don't we will create a new one. If you remove a storage from the payload, we will delete it. operationId: editApplication parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplicationEditRequest' responses: '200': description: Edit 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 delete: summary: Delete application description: To delete the application you must have the admin permission operationId: deleteApplication parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Main Calls responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/status': get: summary: Get application status operationId: getApplicationStatus parameters: - $ref: '#/components/parameters/applicationId' tags: - Application 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' '/application/{applicationId}/deploymentRestriction': get: summary: Get application deployment restrictions description: Get application deployment restrictions operationId: getApplicationDeploymentRestrictions parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Deployment Restriction responses: '200': description: Get application deployment restrictions content: application/json: schema: $ref: '#/components/schemas/ApplicationDeploymentRestrictionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create an application deployment restriction description: Create an application deployment restriction operationId: createApplicationDeploymentRestriction parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Deployment Restriction requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplicationDeploymentRestrictionRequest' responses: '201': description: Added an environment variable content: application/json: schema: $ref: '#/components/schemas/ApplicationDeploymentRestriction' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '409': description: An application deployment restriction with same properties already exists for this application '/application/{applicationId}/deploymentRestriction/{deploymentRestrictionId}': put: summary: Edit an application deployment restriction description: Edit an application deployment restriction operationId: editApplicationDeploymentRestriction parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/deploymentRestrictionId' tags: - Application Deployment Restriction requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplicationDeploymentRestrictionRequest' responses: '200': description: Edit an application deployment restriction content: application/json: schema: $ref: '#/components/schemas/ApplicationDeploymentRestriction' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete an application deployment restriction description: Delete an application deployment restriction operationId: deleteApplicationDeploymentRestriction parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/deploymentRestrictionId' tags: - Application Deployment Restriction responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/contributor': get: summary: List contributors operationId: listApplicationContributor parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Main Calls responses: '200': description: List application contributors content: application/json: schema: $ref: '#/components/schemas/UserResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/commit': get: summary: List last commits description: Returns list of the last 100 commits made on the repository linked to the application operationId: listApplicationCommit parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/startId' - $ref: '#/components/parameters/gitCommitId' tags: - Application Main Calls responses: '200': description: List commits content: application/json: schema: $ref: '#/components/schemas/CommitResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/deploy': post: summary: Deploy application description: You must provide a git commit id operationId: deployApplication parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/DeployRequest' responses: '202': description: Deploy application content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/application/{applicationId}/uninstall': post: summary: Uninstall application description: | Delete the resources of an application but keep the Qovery config. operationId: uninstallApplication parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Actions requestBody: content: application/json: schema: type: object properties: {} responses: '202': description: 'Delete the compute and data of the service, but keep Qovery configuration' content: application/json: schema: $ref: '#/components/schemas/Status' '204': description: No deployment has been triggered '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress x-stoplight: id: vrnx0mllgta48 parameters: - schema: type: string name: applicationId in: path required: true '/application/{applicationId}/stop': post: summary: Stop application operationId: stopApplication parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Actions responses: '202': description: Application stop has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Application is already stopped or an operation is in progress '/application/{applicationId}/redeploy': post: summary: Redeploy application operationId: redeployApplication parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Actions responses: '202': description: Application redeploy has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/application/{applicationId}/restart-service': post: summary: Reboot application operationId: rebootApplication parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Actions responses: '202': description: Application reboot has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/application/{applicationId}/deploymentHistory': get: summary: List application deploys description: 'By default it returns the 20 last results. The response is paginated. In order to request the next page, you can use the startId query parameter. You can also filter by status (FAILED or SUCCESS), and git_commit_id' operationId: listApplicationDeploymentHistory parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/startId' tags: - Application Deployment History responses: '200': description: List deployment history content: application/json: schema: $ref: '#/components/schemas/DeploymentHistoryPaginatedResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/deploymentHistoryV2': get: summary: List application deploys description: 'By default it returns the 20 last results. The response is paginated. In order to request the next page, you can use the startId query parameter. You can also filter by status (FAILED or SUCCESS), and git_commit_id' operationId: listApplicationDeploymentHistoryV2 parameters: - in: query name: pageSize description: The number of deployments to return in the current page schema: type: number nullable: true default: 20 tags: - Application Deployment History responses: '200': description: List deployment history content: application/json: schema: $ref: '#/components/schemas/DeploymentHistoryServicePaginatedResponseListV2' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' x-stoplight: id: 59xza5oe7uvet parameters: - schema: type: string name: applicationId in: path required: true '/application/{applicationId}/environmentVariable': get: summary: List environment variables operationId: listApplicationEnvironmentVariable parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Environment Variable responses: '200': description: List environment variables content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add an environment variable to the application description: | - Add an environment variable to the application. operationId: createApplicationEnvironmentVariable parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableRequest' responses: '201': description: Added an environment variable content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/environmentVariable/import': post: summary: Import variables description: 'Import environment variables in a defined scope, with a defined visibility.' operationId: importEnvironmentVariable parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/VariableImportRequest' responses: '201': description: Import environment variables content: application/json: schema: $ref: '#/components/schemas/VariableImport' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/environmentVariable/{environmentVariableId}': delete: summary: Delete an environment variable from an application description: | - To delete an environment variable from an application you must have the project user permission - You can't delete a BUILT_IN variable - If you delete a variable having override or alias, the associated override/alias will be deleted as well operationId: deleteApplicationEnvironmentVariable parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/environmentVariableId' tags: - Application Environment Variable responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an environment variable belonging to the application description: | - You can't edit a BUILT_IN variable - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the variable it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION) operationId: editApplicationEnvironmentVariable parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/environmentVariableId' tags: - Application Environment Variable requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableEditRequest' responses: '200': description: Edited the environment variable value content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/environmentVariable/{environmentVariableId}/override': post: summary: Create an environment variable override at the application level description: | - Allows you to override at application level an environment variable that has a higher scope. - You only have to specify a value in the request body - The system will create a new environment variable at application level with the same key as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the overridden_variable will be exposed in the "overridden_variable" field of the newly created variable operationId: createApplicationEnvironmentVariableOverride parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/environmentVariableId' tags: - Application Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create variable override content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/environmentVariable/{environmentVariableId}/alias': post: summary: Create an environment variable alias at the application level description: | - Allows you to add an alias at application level on an existing environment variable having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new environment variable at application level with the same value as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the aliased_variable will be exposed in the "aliased_variable" field of the newly created variable - You can't create an alias on an alias operationId: createApplicationEnvironmentVariableAlias parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/environmentVariableId' tags: - Application Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create variable alias content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/secret': get: summary: List application secrets description: 'Secrets are like environment variables, but they are secured and can''t be revealed.' operationId: listApplicationSecrets parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Secret responses: '200': description: List secrets content: application/json: schema: $ref: '#/components/schemas/SecretResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add a secret to the application description: | - Add a secret to the application. operationId: createApplicationSecret parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/SecretRequest' responses: '201': description: Add a secret content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/secret/{secretId}': delete: summary: Delete a secret from an application description: | - To delete a secret you must have the project user permission - You can't delete a BUILT_IN secret - If you delete a secret having override or alias, the associated override/alias will be deleted as well operationId: deleteApplicationSecret parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/secretId' tags: - Application Secret responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a secret belonging to the application description: | - You can't edit a BUILT_IN secret - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the secret it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION) operationId: editApplicationSecret parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/secretId' tags: - Application Secret requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SecretEditRequest' responses: '200': description: Edited the secret value content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/secret/{secretId}/override': post: summary: Create a secret override at the application level description: | - Allows you to override at application level a secret that has a higher scope. - You only have to specify a value in the request body - The system will create a new secret at application level with the same key as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the overridden_secret will be exposed in the "overridden_secret" field of the newly created secret operationId: createApplicationSecretOverride parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/secretId' tags: - Application Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create secret override content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/secret/{secretId}/alias': post: summary: Create a secret alias at the application level description: | - Allows you to add an alias at application level on an existing secret having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new secret at application level with the same value as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the aliased_secret will be exposed in the "aliased_secret" field of the newly created secret - You can't create an alias on an alias operationId: createApplicationSecretAlias parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/secretId' tags: - Application Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create secret alias content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/customDomain': get: summary: List application custom domains operationId: listApplicationCustomDomain parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Custom Domain responses: '200': description: List custom domains content: application/json: schema: $ref: '#/components/schemas/CustomDomainResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add custom domain to the application. description: Add a custom domain to this application in order not to use qovery autogenerated domain operationId: createApplicationCustomDomain parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Custom Domain requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomDomainRequest' responses: '201': description: Added application custom domain content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/customDomain/{customDomainId}': put: summary: Edit a Custom Domain description: To edit a Custom Domain you must have the project user permission operationId: editCustomDomain parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/customDomainId' tags: - Application Custom Domain requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomDomainRequest' responses: '200': description: Edit a CustomDomain content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a Custom Domain description: To delete an CustomDomain you must have the project user permission operationId: deleteCustomDomain parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/customDomainId' tags: - Application Custom Domain responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/customDomain/{customDomainId}/status': get: summary: Get Custom Domain status operationId: getCustomDomainStatus parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/customDomainId' tags: - Application Custom Domain responses: '200': description: Get status content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/checkCustomDomain': get: summary: Check Application Custom Domain operationId: checkApplicationCustomDomain parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Custom Domain responses: '200': description: Check Application Custom Domain content: application/json: schema: $ref: '#/components/schemas/CheckedCustomDomainsResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/log': get: summary: List logs operationId: listApplicationLog description: This will list the last 1000 logs of the application parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Logs responses: '200': description: List logs content: application/json: schema: $ref: '#/components/schemas/LogResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/network': get: summary: Get Application Network information description: Get status of the application network settings. operationId: getApplicationNetwork parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Configuration responses: '200': description: Network information content: application/json: schema: $ref: '#/components/schemas/ApplicationNetwork' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit Application Network description: Edit the Network settings of the application. operationId: editApplicationNetwork parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Configuration requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplicationNetworkRequest' responses: '201': description: Updated application network setting content: application/json: schema: $ref: '#/components/schemas/ApplicationNetwork' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/application/{applicationId}/link': get: summary: List all URLs of the application description: This will return all the custom domains and Qovery autogenerated domain for the given application operationId: listApplicationLinks parameters: - $ref: '#/components/parameters/applicationId' tags: - Application 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' '/application/{applicationId}/advancedSettings': get: summary: Get advanced settings description: | Get list and values of the advanced settings of the application. Default values for each setting are available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/advanced-settings/) operationId: getAdvancedSettings parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Configuration responses: '200': description: Advanced settings list content: application/json: schema: $ref: '#/components/schemas/ApplicationAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit advanced settings description: Edit advanced settings by returning table of advanced settings. operationId: editAdvancedSettings parameters: - $ref: '#/components/parameters/applicationId' tags: - Application Configuration requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplicationAdvancedSettings' responses: '201': description: Updated advanced settings content: application/json: schema: $ref: '#/components/schemas/ApplicationAdvancedSettings' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/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 '/container/{containerId}': get: summary: Get container by ID operationId: getContainer parameters: - $ref: '#/components/parameters/containerId' tags: - Container Main Calls responses: '200': description: Get container by ID content: application/json: schema: $ref: '#/components/schemas/ContainerResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit container description: | - To edit the container you must have the admin permission. - For port edition, if you provide a port id, we will update the corresponding port. If you don't we will create a new one. If you remove a port from the payload, we will delete it. - For storage edition, if you provide a storage id, we will update the corresponding storage. If you don't we will create a new one. If you remove a storage from the payload, we will delete it. operationId: editContainer parameters: - $ref: '#/components/parameters/containerId' tags: - Container Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/ContainerRequest' responses: '200': description: Edit container content: application/json: schema: $ref: '#/components/schemas/ContainerResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Container name within the environment is already taken delete: summary: Delete container description: To delete the container you must have the admin permission operationId: deleteContainer parameters: - $ref: '#/components/parameters/containerId' tags: - Container Main Calls responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/status': get: summary: Get container status operationId: getContainerStatus parameters: - $ref: '#/components/parameters/containerId' tags: - Container 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' '/container/{containerId}/deploymentHistory': get: summary: List container deployments description: Returns the 20 last container deployments operationId: listContainerDeploymentHistory parameters: - $ref: '#/components/parameters/containerId' tags: - Container Deployment History responses: '200': description: List deployment history content: application/json: schema: allOf: - $ref: '#/components/schemas/PaginationData' - type: object properties: results: type: array items: $ref: '#/components/schemas/DeploymentHistoryContainer' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/deploymentHistoryV2': get: summary: List container deployments description: Returns the 20 last container deployments operationId: listContainerDeploymentHistoryV2 parameters: - $ref: '#/components/parameters/containerId' - in: query name: pageSize description: The number of deployments to return in the current page schema: type: number nullable: true default: 20 tags: - Container Deployment History responses: '200': description: List deployment history content: application/json: schema: $ref: '#/components/schemas/DeploymentHistoryServicePaginatedResponseListV2' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' x-stoplight: id: qfy5ueb8cyebe '/container/{containerId}/advancedSettings': get: summary: Get advanced settings description: | Get list and values of the advanced settings of the container. Default values for each setting are available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/advanced-settings/) operationId: getContainerAdvancedSettings parameters: - $ref: '#/components/parameters/containerId' tags: - Container Configuration responses: '200': description: Advanced settings list content: application/json: schema: $ref: '#/components/schemas/ContainerAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit advanced settings description: Edit advanced settings by returning table of advanced settings. operationId: editContainerAdvancedSettings parameters: - $ref: '#/components/parameters/containerId' tags: - Container Configuration requestBody: content: application/json: schema: $ref: '#/components/schemas/ContainerAdvancedSettings' responses: '201': description: Updated advanced settings content: application/json: schema: $ref: '#/components/schemas/ContainerAdvancedSettings' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/deploy': post: summary: Deploy container description: You must provide a container image tag operationId: deployContainer parameters: - $ref: '#/components/parameters/containerId' tags: - Container Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/ContainerDeployRequest' responses: '202': description: Deploy container content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/container/{containerId}/uninstall': post: summary: Uninstall container description: Delete the resources of the container but keep Qovery configuration operationId: uninstallContainer parameters: - $ref: '#/components/parameters/containerId' tags: - Container Actions requestBody: content: application/json: schema: type: object properties: {} responses: '202': description: 'Delete the compute and data of the service, but keep Qovery configuration' content: application/json: schema: $ref: '#/components/schemas/Status' '204': description: No deployment has been triggered '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress x-stoplight: id: tyqhmv3tdihmm parameters: - schema: type: string name: containerId in: path required: true '/container/{containerId}/stop': post: summary: Stop container operationId: stopContainer parameters: - $ref: '#/components/parameters/containerId' tags: - Container Actions responses: '202': description: Container stop has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Container is already stopped or an operation is in progress '/container/{containerId}/redeploy': post: summary: Redeploy container operationId: redeployContainer parameters: - $ref: '#/components/parameters/containerId' tags: - Container Actions responses: '202': description: Container redeploy has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/container/{containerId}/restart-service': post: summary: Reboot container operationId: rebootContainer parameters: - $ref: '#/components/parameters/containerId' tags: - Container Actions responses: '202': description: Container reboot has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/container/{containerId}/environmentVariable': get: summary: List environment variables operationId: listContainerEnvironmentVariable parameters: - $ref: '#/components/parameters/containerId' tags: - Container Environment Variable responses: '200': description: List environment variables content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add an environment variable to the container description: | - Add an environment variable to the container. operationId: createContainerEnvironmentVariable parameters: - $ref: '#/components/parameters/containerId' tags: - Container Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableRequest' responses: '201': description: Added an environment variable content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/environmentVariable/import': post: summary: Import variables description: 'Import environment variables in a defined scope, with a defined visibility.' operationId: importContainerEnvironmentVariable parameters: - $ref: '#/components/parameters/containerId' tags: - Container Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/VariableImportRequest' responses: '201': description: Import environment variables content: application/json: schema: $ref: '#/components/schemas/VariableImport' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/environmentVariable/{environmentVariableId}': delete: summary: Delete an environment variable from a container description: | - To delete an environment variable from an container you must have the project user permission - You can't delete a BUILT_IN variable - If you delete a variable having override or alias, the associated override/alias will be deleted as well operationId: deleteContainerEnvironmentVariable parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/environmentVariableId' tags: - Container Environment Variable responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an environment variable belonging to the container description: | - You can't edit a BUILT_IN variable - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the variable it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > CONTAINER) operationId: editContainerEnvironmentVariable parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/environmentVariableId' tags: - Container Environment Variable requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableEditRequest' responses: '200': description: Edited the environment variable value content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/environmentVariable/{environmentVariableId}/override': post: summary: Create an environment variable override at the container level description: | - Allows you to override at container level an environment variable that has a higher scope. - You only have to specify a value in the request body - The system will create a new environment variable at container level with the same key as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the overridden_variable will be exposed in the "overridden_variable" field of the newly created variable operationId: createContainerEnvironmentVariableOverride parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/environmentVariableId' tags: - Container Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create variable override content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > CONTAINER '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/environmentVariable/{environmentVariableId}/alias': post: summary: Create an environment variable alias at the container level description: | - Allows you to add an alias at container level on an existing environment variable having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new environment variable at container level with the same value as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the aliased_variable will be exposed in the "aliased_variable" field of the newly created variable - You can't create an alias on an alias operationId: createContainerEnvironmentVariableAlias parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/environmentVariableId' tags: - Container Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create variable alias content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > CONTAINER '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/secret': get: summary: List container secrets description: 'Secrets are like environment variables, but they are secured and can''t be revealed.' operationId: listContainerSecrets parameters: - $ref: '#/components/parameters/containerId' tags: - Container Secret responses: '200': description: List secrets content: application/json: schema: $ref: '#/components/schemas/SecretResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add a secret to the container description: | - Add a secret to the container. operationId: createContainerSecret parameters: - $ref: '#/components/parameters/containerId' tags: - Container Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/SecretRequest' responses: '201': description: Add a secret content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/secret/{secretId}': delete: summary: Delete a secret from an container description: | - To delete a secret you must have the project user permission - You can't delete a BUILT_IN secret - If you delete a secret having override or alias, the associated override/alias will be deleted as well operationId: deleteContainerSecret parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/secretId' tags: - Container Secret responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a secret belonging to the container description: | - You can't edit a BUILT_IN secret - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the secret it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > CONTAINER) operationId: editContainerSecret parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/secretId' tags: - Container Secret requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SecretEditRequest' responses: '200': description: Edited the secret value content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/secret/{secretId}/override': post: summary: Create a secret override at the container level description: | - Allows you to override at container level a secret that has a higher scope. - You only have to specify a value in the request body - The system will create a new secret at container level with the same key as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the overridden_secret will be exposed in the "overridden_secret" field of the newly created secret operationId: createContainerSecretOverride parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/secretId' tags: - Container Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create secret override content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/secret/{secretId}/alias': post: summary: Create a secret alias at the container level description: | - Allows you to add an alias at container level on an existing secret having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new secret at container level with the same value as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the aliased_secret will be exposed in the "aliased_secret" field of the newly created secret - You can't create an alias on an alias operationId: createContainerSecretAlias parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/secretId' tags: - Container Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create secret alias content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/customDomain': get: summary: List container custom domains operationId: listContainerCustomDomain parameters: - $ref: '#/components/parameters/containerId' tags: - Container Custom Domain responses: '200': description: List custom domains content: application/json: schema: $ref: '#/components/schemas/CustomDomainResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add custom domain to the container. description: Add a custom domain to this container in order not to use qovery autogenerated domain operationId: createContainerCustomDomain parameters: - $ref: '#/components/parameters/containerId' tags: - Container Custom Domain requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomDomainRequest' responses: '201': description: Added container custom domain content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/customDomain/{customDomainId}': put: summary: Edit a Custom Domain description: To edit a Custom Domain you must have the project user permission operationId: editContainerCustomDomain parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/customDomainId' tags: - Container Custom Domain requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomDomainRequest' responses: '200': description: Edit a CustomDomain content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a Custom Domain description: To delete an CustomDomain you must have the project user permission operationId: deleteContainerCustomDomain parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/customDomainId' tags: - Container Custom Domain responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/customDomain/{customDomainId}/status': get: summary: Get Custom Domain status operationId: getContainerCustomDomainStatus parameters: - $ref: '#/components/parameters/containerId' - $ref: '#/components/parameters/customDomainId' tags: - Container Custom Domain responses: '200': description: Get status content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/checkCustomDomain': get: summary: Check Container Custom Domain operationId: checkContainerCustomDomain parameters: - $ref: '#/components/parameters/containerId' tags: - Container Custom Domain responses: '200': description: Check Container Custom Domain content: application/json: schema: $ref: '#/components/schemas/CheckedCustomDomainsResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/log': get: summary: List logs operationId: listContainerLog description: This will list the last 1000 logs of the container parameters: - $ref: '#/components/parameters/containerId' tags: - Container Logs responses: '200': description: List logs content: application/json: schema: $ref: '#/components/schemas/LogResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/network': get: summary: Get Container Network information description: Get status of the container network settings. operationId: getContainerNetwork parameters: - $ref: '#/components/parameters/containerId' tags: - Container Configuration responses: '200': description: Network information content: application/json: schema: $ref: '#/components/schemas/ContainerNetwork' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit Container Network description: Edit the Network settings of the container. operationId: editContainerNetwork parameters: - $ref: '#/components/parameters/containerId' tags: - Container Configuration requestBody: content: application/json: schema: $ref: '#/components/schemas/ContainerNetworkRequest' responses: '201': description: Updated container network setting content: application/json: schema: $ref: '#/components/schemas/ContainerNetwork' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/container/{containerId}/link': get: summary: List all URLs of the container description: This will return all the custom domains and Qovery autogenerated domain for the given container operationId: listContainerLinks parameters: - $ref: '#/components/parameters/containerId' tags: - Container 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' '/container/{containerId}/clone': post: summary: Clone container description: This will create a new container with the same configuration on the targeted environment Id. operationId: cloneContainer parameters: - $ref: '#/components/parameters/containerId' tags: - Containers requestBody: content: application/json: schema: $ref: '#/components/schemas/CloneServiceRequest' responses: '202': description: Container clone has been requested content: application/json: schema: $ref: '#/components/schemas/ContainerResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/environment/{environmentId}/database': get: summary: List environment databases operationId: listDatabase parameters: - $ref: '#/components/parameters/environmentId' tags: - Databases responses: '200': description: List databases content: application/json: schema: $ref: '#/components/schemas/DatabaseResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a database operationId: createDatabase parameters: - $ref: '#/components/parameters/environmentId' tags: - Databases requestBody: content: application/json: schema: $ref: '#/components/schemas/DatabaseRequest' responses: '201': description: 'Create database ' content: application/json: schema: $ref: '#/components/schemas/Database' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Database name within the environment is already taken '/environment/{environmentId}/database/status': get: summary: List all environment databases statuses description: Returns a list of databases with only their id and status. operationId: getEnvironmentDatabaseStatus parameters: - $ref: '#/components/parameters/environmentId' tags: - Databases 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' '/database/{databaseId}': get: summary: Get database by ID operationId: getDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Main Calls responses: '200': description: Get database by ID content: application/json: schema: $ref: '#/components/schemas/Database' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: 'Edit a database ' description: To edit a database you must have the admin permission operationId: editDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/DatabaseEditRequest' responses: '200': description: 'Edit a database ' content: application/json: schema: $ref: '#/components/schemas/Database' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Database name within the environment is already taken delete: summary: 'Delete a database ' description: To delete a database you must have the admin permission operationId: deleteDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Main Calls responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/database/{databaseId}/status': get: summary: Get database status operationId: getDatabaseStatus parameters: - $ref: '#/components/parameters/databaseId' tags: - Database 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' '/database/{databaseId}/version': get: summary: List eligible versions for the database operationId: listDatabaseVersion parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Main Calls responses: '200': description: List eligible versions content: application/json: schema: $ref: '#/components/schemas/VersionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/database/{databaseId}/masterCredentials': get: summary: Get master credentials of the database operationId: getDatabaseMasterCredentials parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Main Calls responses: '200': description: get credentials content: application/json: schema: $ref: '#/components/schemas/Credentials' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit database master credentials operationId: editDatabaseCredentials parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/CredentialsRequest' responses: '200': description: Edit database credentials content: application/json: schema: $ref: '#/components/schemas/Credentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/database/{databaseId}/application': get: summary: List applications using the database operationId: listDatabaseApplication parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Application responses: '200': description: List linked applications content: application/json: schema: $ref: '#/components/schemas/ApplicationResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/database/{databaseId}/application/{targetApplicationId}': delete: summary: 'Remove an application from this database ' operationId: removeApplicationFromDatabase parameters: - $ref: '#/components/parameters/databaseId' - $ref: '#/components/parameters/targetApplicationId' tags: - Database Application responses: '204': $ref: '#/components/responses/204' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/database/{databaseId}/redeploy': post: summary: Redeploy database operationId: redeployDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Actions responses: '202': description: Database redeploy has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/database/{databaseId}/restart-service': post: summary: Retart database operationId: rebootDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Actions responses: '202': description: Database reboot has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/database/{databaseId}/stop': post: summary: Stop database operationId: stopDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Actions responses: '202': description: Database stop has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/database/{databaseId}/deploy': post: summary: 'Deploy database ' operationId: deployDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Actions responses: '202': description: 'Deploy database ' content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/database/{databaseId}/uninstall': post: summary: Uninstall database operationId: uninstallDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Database Actions responses: '202': description: 'Delete the compute and data of the service, but keep Qovery configuration' content: application/json: schema: $ref: '#/components/schemas/Status' '204': description: No deployment has been triggered '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress x-stoplight: id: dn8xf9tcthfqn requestBody: content: application/json: schema: type: object properties: {} parameters: - schema: type: string name: databaseId in: path required: true '/database/{databaseId}/deploymentHistory': get: summary: List database deploys description: By default it returns the 20 last results. The response is paginated. operationId: listDatabaseDeploymentHistory parameters: - $ref: '#/components/parameters/databaseId' - $ref: '#/components/parameters/startId' tags: - Database Deployment History responses: '200': description: List deployment history content: application/json: schema: allOf: - $ref: '#/components/schemas/PaginationData' - type: object properties: results: type: array items: $ref: '#/components/schemas/DeploymentHistoryDatabase' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/database/{databaseId}/deploymentHistoryV2': get: summary: List database deploys description: By default it returns the 20 last results. The response is paginated. operationId: listDatabaseDeploymentHistoryV2 parameters: - in: query name: pageSize description: The number of deployments to return in the current page schema: type: number nullable: true default: 20 tags: - Database Deployment History responses: '200': description: List deployment history content: application/json: schema: $ref: '#/components/schemas/DeploymentHistoryServicePaginatedResponseListV2' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' x-stoplight: id: mzftpr17opgzp parameters: - schema: type: string format: uuid name: databaseId in: path required: true '/database/{databaseId}/backup': get: summary: List database backups description: 'By default it returns the 20 last results. The response is paginated. In order to request the next page, you can use the startId query parameter' operationId: listDatabaseBackup parameters: - $ref: '#/components/parameters/databaseId' - $ref: '#/components/parameters/startId' tags: - Backups responses: '200': description: List backups content: application/json: schema: $ref: '#/components/schemas/BackupPaginatedResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: 'Add a backup to the Database ' operationId: addBackupDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Backups requestBody: content: application/json: schema: $ref: '#/components/schemas/BackupRequest' responses: '201': description: Added backup content: application/json: schema: $ref: '#/components/schemas/Backup' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/database/{databaseId}/backup/{backupId}': delete: summary: Remove database backup operationId: removeDatabaseBackup parameters: - $ref: '#/components/parameters/databaseId' - $ref: '#/components/parameters/backupId' tags: - Backups responses: '204': $ref: '#/components/responses/204' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/database/{databaseId}/clone': post: summary: Clone database description: This will create a new database with the same configuration on the targeted environment Id. operationId: cloneDatabase parameters: - $ref: '#/components/parameters/databaseId' tags: - Databases requestBody: content: application/json: schema: $ref: '#/components/schemas/CloneServiceRequest' responses: '202': description: Database clone has been requested content: application/json: schema: $ref: '#/components/schemas/Database' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress /account: get: summary: Get Account information operationId: getAccountInformation tags: - Account Info responses: '200': description: Get account info content: application/json: schema: $ref: '#/components/schemas/AccountInfo' '401': $ref: '#/components/responses/401' put: summary: Edit account information operationId: editAccountInformation tags: - Account Info requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountInfoEditRequest' responses: '200': description: Edit application content: application/json: schema: $ref: '#/components/schemas/AccountInfo' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' /account/gitAuthProvider: get: deprecated: true summary: Get git provider accounts operationId: getGitProviderAccount tags: - Git repositories responses: '200': description: Get account content: application/json: schema: $ref: '#/components/schemas/GitAuthProviderResponseList' '401': $ref: '#/components/responses/401' /account/github/repository: get: deprecated: true summary: Get github repositories of the connected user operationId: getGithubRepositories tags: - Git repositories responses: '200': description: Get github repositories content: application/json: schema: $ref: '#/components/schemas/GitRepositoryResponseList' '401': $ref: '#/components/responses/401' /account/github/repository/branch: get: deprecated: true summary: Get github branches of the specified repository operationId: getGithubRepositoryBranches tags: - Git repositories parameters: - in: query name: name schema: type: string description: The name of the repository where to retrieve the branches responses: '200': description: Get github repository branches content: application/json: schema: $ref: '#/components/schemas/GitRepositoryBranchResponseList' '401': $ref: '#/components/responses/401' /account/gitlab/repository: get: deprecated: true summary: Get gitlab repositories of the connected user operationId: getGitlabRepositories tags: - Git repositories responses: '200': description: Get gitlab repositories content: application/json: schema: $ref: '#/components/schemas/GitRepositoryResponseList' '401': $ref: '#/components/responses/401' /account/gitlab/repository/branch: get: deprecated: true summary: Get gitlab branches of the specified repository operationId: getGitlabRepositoryBranches tags: - Git repositories parameters: - in: query name: name schema: type: string description: The name of the repository to retrieve the branches responses: '200': description: Get gitlab repository branches content: application/json: schema: $ref: '#/components/schemas/GitRepositoryBranchResponseList' '401': $ref: '#/components/responses/401' /account/bitbucket/repository: get: deprecated: true summary: Get bitbucket repositories of the connected user operationId: getBitbucketRepositories tags: - Git repositories responses: '200': description: Get bitbucket repositories content: application/json: schema: $ref: '#/components/schemas/GitRepositoryResponseList' '401': $ref: '#/components/responses/401' /account/bitbucket/repository/branch: get: deprecated: true summary: Get bitbucket branches of the specified repository operationId: getBitbucketRepositoryBranches tags: - Git repositories parameters: - in: query name: name schema: type: string description: The name of the repository where to retrieve the branches responses: '200': description: Get bitbucket repository branches content: application/json: schema: $ref: '#/components/schemas/GitRepositoryBranchResponseList' '401': $ref: '#/components/responses/401' /account/referral: get: summary: Get your referral information operationId: getAccountReferral tags: - Referral & Rewards responses: '200': description: Get referral info content: application/json: schema: $ref: '#/components/schemas/Referral' '401': $ref: '#/components/responses/401' /account/rewardClaim: post: summary: Claim a reward description: A same code can be claimed only 3 times at max operationId: postAccountRewardClaim tags: - Referral & Rewards requestBody: content: application/json: schema: $ref: '#/components/schemas/RewardClaim' responses: '200': description: Claim reward /admin/userSignUp: get: summary: Get Sign up information description: Retrieve the Sign Up information of the user operationId: getUserSignUp tags: - User Sign Up responses: '200': description: 'If a previous sign up request for the same user has been found, the information is returned in the payload' content: application/json: schema: $ref: '#/components/schemas/SignUp' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Send Sign Up request description: Send a Sign Up request containing the user information operationId: createUserSignUp tags: - User Sign Up requestBody: content: application/json: schema: $ref: '#/components/schemas/SignUpRequest' responses: '200': description: Sign up request stored '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/helm': get: summary: List helms operationId: listHelms parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/paths/~1environment~1%7BenvironmentId%7D~1job/get/parameters/1' tags: - Helms responses: '200': description: List helms content: application/json: schema: $ref: '#/components/schemas/HelmResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a helm operationId: createHelm parameters: - $ref: '#/components/parameters/environmentId' tags: - Helms requestBody: content: application/json: schema: $ref: '#/components/schemas/HelmRequest' responses: '201': description: Create 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 '/environment/{environmentId}/helmDefaultValues': post: summary: Get helm default values operationId: createHelmDefaultValues parameters: - $ref: '#/components/parameters/environmentId' tags: - Helms requestBody: content: application/json: schema: $ref: '#/components/schemas/HelmDefaultValuesRequest' responses: '201': description: helm values content: text/plain: schema: type: string '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/helm/status': get: summary: List all environment helm statuses description: Returns a list of helms with only their id and status. operationId: getEnvironmentHelmStatus parameters: - $ref: '#/components/parameters/environmentId' tags: - Helms 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' '/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}/advancedSettings': get: summary: Get advanced settings description: Get list and values of the advanced settings of the helm. operationId: getHelmAdvancedSettings parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Configuration responses: '200': description: Advanced settings list content: application/json: schema: $ref: '#/components/schemas/HelmAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit advanced settings description: Edit advanced settings by returning table of advanced settings. operationId: editHelmAdvancedSettings parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Configuration requestBody: content: application/json: schema: $ref: '#/components/schemas/HelmAdvancedSettings' responses: '201': description: Updated advanced settings content: application/json: schema: $ref: '#/components/schemas/HelmAdvancedSettings' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/helm/{helmId}/deploy': post: summary: Deploy helm description: You must provide a git commit id or a helm version depending on the source location of your code (git vs helm repository). operationId: deployHelm parameters: - $ref: '#/components/parameters/helmId' - name: forceEvent in: query required: false description: | When filled, it indicates the target event to be deployed. If the concerned helm hasn't the target event provided, the helm won't be deployed. schema: $ref: '#/components/schemas/HelmForceEvent' tags: - Helm Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/HelmDeployRequest' responses: '202': description: Deploy helm content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/helm/{helmId}/uninstall': post: summary: Uninstall helm description: Delete the resources of the helm but keep Qovery configuration operationId: uninstallHelm parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Actions requestBody: content: application/json: schema: type: object responses: '202': description: 'Delete the compute and data of the service, but keep Qovery configuration' content: application/json: schema: $ref: '#/components/schemas/Status' '204': description: No deployment has been triggered '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress x-stoplight: id: cdps3bcv0l0wa parameters: - schema: type: string name: helmId in: path required: true '/helm/{helmId}/redeploy': post: summary: Redeploy helm operationId: redeployHelm parameters: - $ref: '#/components/parameters/helmId' - name: forceEvent in: query required: false description: | When filled, it indicates the target event to be deployed. If the concerned helm hasn't the target event provided, the helm won't be deployed. schema: $ref: '#/components/schemas/HelmForceEvent' tags: - Helm Actions responses: '202': description: Helm redeploy has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/helm/{helmId}/stop': post: summary: Stop helm operationId: stopHelm parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Actions responses: '202': description: Helm stop has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Helm is already stopped or an operation is in progress '/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}/deploymentHistory': get: summary: List helm deployments description: Returns the 20 last helm deployments operationId: listHelmDeploymentHistory parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Deployment History responses: '200': description: List deployment history content: application/json: schema: allOf: - $ref: '#/components/schemas/PaginationData' - type: object properties: results: type: array items: $ref: '#/components/schemas/DeploymentHistoryHelmResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/helm/{helmId}/deploymentHistoryV2': get: summary: List helm deployments description: Returns the 20 last helm deployments operationId: listHelmDeploymentHistoryV2 parameters: - in: query name: pageSize description: The number of deployments to return in the current page schema: type: number nullable: true default: 20 tags: - Helm Deployment History responses: '200': description: List deployment history content: application/json: schema: $ref: '#/components/schemas/DeploymentHistoryServicePaginatedResponseListV2' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' x-stoplight: id: fn9qd5qn7dhdv parameters: - schema: type: string format: uuid name: helmId in: path required: true '/helm/{helmId}/deploymentRestriction': get: summary: Get helm deployment restrictions description: Get helm deployment restrictions operationId: getHelmDeploymentRestrictions parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Deployment Restriction responses: '200': description: Get helm deployment restrictions content: application/json: schema: $ref: '#/components/schemas/HelmDeploymentRestrictionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a helm deployment restriction description: Create a helm deployment restriction operationId: createHelmDeploymentRestriction parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Deployment Restriction requestBody: content: application/json: schema: $ref: '#/components/schemas/HelmDeploymentRestrictionRequest' responses: '201': description: Added an helm deployment restriction content: application/json: schema: $ref: '#/components/schemas/HelmDeploymentRestrictionResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '409': description: A Helm deployment restriction with same properties already exists for this helm '/helm/{helmId}/deploymentRestriction/{deploymentRestrictionId}': put: summary: Edit a helm deployment restriction description: Edit a helm deployment restriction operationId: editHelmDeploymentRestriction parameters: - $ref: '#/components/parameters/helmId' - $ref: '#/components/parameters/deploymentRestrictionId' tags: - Helm Deployment Restriction requestBody: content: application/json: schema: $ref: '#/components/schemas/HelmDeploymentRestrictionRequest' responses: '200': description: Edit a helm deployment restriction content: application/json: schema: $ref: '#/components/schemas/HelmDeploymentRestrictionResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a helm deployment restriction description: Delete a helm deployment restriction operationId: deleteHelmDeploymentRestriction parameters: - $ref: '#/components/parameters/helmId' - $ref: '#/components/parameters/deploymentRestrictionId' tags: - Helm Deployment Restriction responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/helm/{helmId}/clone': post: summary: Clone helm description: This will create a new helm with the same configuration on the targeted environment Id. operationId: cloneHelm parameters: - $ref: '#/components/parameters/helmId' tags: - Helms requestBody: content: application/json: schema: $ref: '#/components/schemas/CloneServiceRequest' responses: '202': description: Helm clone has been requested content: application/json: schema: $ref: '#/components/schemas/HelmResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/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}/customDomain': get: summary: List helm custom domains description: List the custom domains of this helm operationId: listHelmCustomDomain parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Custom Domain responses: '200': description: List custom domains content: application/json: schema: $ref: '#/components/schemas/CustomDomainResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add custom domain to the helm. description: Add a custom domain to this helm in order not to use qovery autogenerated domain operationId: createHelmCustomDomain parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Custom Domain requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomDomainRequest' responses: '201': description: Added helm custom domain content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/helm/{helmId}/customDomain/{customDomainId}': put: summary: Edit a Custom Domain description: To edit a Custom Domain you must have the project user permission operationId: editHelmCustomDomain parameters: - $ref: '#/components/parameters/helmId' - $ref: '#/components/parameters/customDomainId' tags: - Helm Custom Domain requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomDomainRequest' responses: '200': description: Edit a CustomDomain content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a Custom Domain description: To delete an CustomDomain you must have the project user permission operationId: deleteHelmCustomDomain parameters: - $ref: '#/components/parameters/helmId' - $ref: '#/components/parameters/customDomainId' tags: - Helm Custom Domain responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' get: summary: Get a Custom Domain description: Get a custom domain operationId: getHelmCustomDomain parameters: - $ref: '#/components/parameters/helmId' - $ref: '#/components/parameters/customDomainId' tags: - Helm Custom Domain responses: '200': description: Get a CustomDomain content: application/json: schema: $ref: '#/components/schemas/CustomDomain' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/helm/{helmId}/checkCustomDomain': get: summary: Check Helm Custom Domain operationId: checkHelmCustomDomain parameters: - $ref: '#/components/parameters/helmId' tags: - Helm Custom Domain responses: '200': description: Check Helm Custom Domain content: application/json: schema: $ref: '#/components/schemas/CheckedCustomDomainsResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/checkDockerfile': post: summary: Check dockerfile configuration is correct operationId: checkDockerfile parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment requestBody: content: application/json: schema: $ref: '#/components/schemas/DockerfileCheckRequest' responses: '200': description: Information about the dockerfile content: application/json: schema: $ref: '#/components/schemas/DockerfileCheckResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/checkHelmRepository': post: summary: Check helm repository configuration is correct operationId: checkHelmRepository parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment requestBody: content: application/json: schema: $ref: '#/components/schemas/HelmCheckRequest' responses: '200': description: Information about the helm repository content: application/json: schema: $ref: '#/components/schemas/HelmCheckResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/checkContainerImage': post: summary: Check container image configuration is correct operationId: checkContainerImage parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment requestBody: content: application/json: schema: $ref: '#/components/schemas/ContainerImageCheckRequest' responses: '200': description: Information about the image content: application/json: schema: $ref: '#/components/schemas/ContainerImageCheckResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/checkGitFile': post: summary: Check git file configuration is correct operationId: checkGitFile parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment requestBody: content: application/json: schema: $ref: '#/components/schemas/GitFileCheckRequest' responses: '200': description: Information about the image content: application/json: schema: $ref: '#/components/schemas/GitFileCheckResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/job': get: summary: List jobs operationId: listJobs parameters: - $ref: '#/components/parameters/environmentId' - name: toUpdate in: query description: return (or not) results that must be updated required: false schema: type: boolean default: false tags: - Jobs responses: '200': description: List jobs content: application/json: schema: $ref: '#/components/schemas/JobResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a job operationId: createJob parameters: - $ref: '#/components/parameters/environmentId' tags: - Jobs requestBody: content: application/json: schema: $ref: '#/components/schemas/JobRequest' responses: '201': description: Create job content: application/json: schema: $ref: '#/components/schemas/JobResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Job name within the environment is already taken '/environment/{environmentId}/job/status': get: summary: List all environment job statuses description: Returns a list of jobs with only their id and status. operationId: getEnvironmentJobStatus parameters: - $ref: '#/components/parameters/environmentId' tags: - Jobs 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' '/job/{jobId}': get: summary: Get job by ID operationId: getJob parameters: - $ref: '#/components/parameters/jobId' tags: - Job Main Calls responses: '200': description: Get job by ID content: application/json: schema: $ref: '#/components/schemas/JobResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit job description: | - To edit the job you must have the admin permission. operationId: editJob parameters: - $ref: '#/components/parameters/jobId' tags: - Job Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/JobRequest' responses: '200': description: Edit job content: application/json: schema: $ref: '#/components/schemas/JobResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Job name within the environment is already taken delete: summary: Delete job description: To delete the job you must have the admin permission operationId: deleteJob parameters: - $ref: '#/components/parameters/jobId' tags: - Job Main Calls responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/advancedSettings': get: summary: Get advanced settings description: | Get list and values of the advanced settings of the job. Default values for each setting are available in [our documentation](https://hub.qovery.com/docs/using-qovery/configuration/advanced-settings/) operationId: getJobAdvancedSettings parameters: - $ref: '#/components/parameters/jobId' tags: - Job Configuration responses: '200': description: Advanced settings list content: application/json: schema: $ref: '#/components/schemas/JobAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit advanced settings description: Edit advanced settings by returning table of advanced settings. operationId: editJobAdvancedSettings parameters: - $ref: '#/components/parameters/jobId' tags: - Job Configuration requestBody: content: application/json: schema: $ref: '#/components/schemas/JobAdvancedSettings' responses: '201': description: Updated advanced settings content: application/json: schema: $ref: '#/components/schemas/JobAdvancedSettings' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/deploy': post: summary: Deploy job description: You must provide a git commit id or an image tag depending on the source location of your code (git vs image repository). operationId: deployJob parameters: - $ref: '#/components/parameters/jobId' - name: forceEvent in: query required: false description: | When filled, it indicates the target event to be deployed. If the concerned job hasn't the target event provided, the job won't be deployed. schema: $ref: '#/components/schemas/JobForceEvent' tags: - Job Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/JobDeployRequest' responses: '202': description: Deploy job content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/job/{jobId}/uninstall': post: summary: Uninstall job description: Delete the resources of the job but keep Qovery configuration operationId: uninstallJob parameters: - $ref: '#/components/parameters/jobId' tags: - Job Actions requestBody: content: application/json: schema: type: object properties: {} responses: '202': description: 'Delete the compute and data of the service, but keep Qovery configuration' content: application/json: schema: $ref: '#/components/schemas/Status' '204': description: No deployment has been triggered '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress x-stoplight: id: s4xgct6hdxymt parameters: - schema: type: string name: jobId in: path required: true '/job/{jobId}/redeploy': post: summary: Redeploy job operationId: redeployJob parameters: - $ref: '#/components/parameters/jobId' - name: forceEvent in: query required: false description: | When filled, it indicates the target event to be deployed. If the concerned job hasn't the target event provided, the job won't be deployed. schema: $ref: '#/components/schemas/JobForceEvent' tags: - Job Actions responses: '202': description: Job redeploy has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/terraform/{terraformId}/redeploy': post: summary: Redeploy terraform operationId: redeployTerraform responses: '202': description: Terraform redeploy has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress x-stoplight: id: 69fa5itbg5w43 tags: - Terraform Actions parameters: - schema: type: string name: terraformId in: path required: true '/job/{jobId}/stop': post: summary: Stop job operationId: stopJob parameters: - $ref: '#/components/parameters/jobId' tags: - Job Actions responses: '202': description: Job stop has been requested content: application/json: schema: $ref: '#/components/schemas/Status' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Job is already stopped or an operation is in progress '/job/{jobId}/status': get: summary: Get job status operationId: getJobStatus parameters: - $ref: '#/components/parameters/jobId' tags: - Job 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' '/job/{jobId}/deploymentHistory': get: summary: List job deployments description: Returns the 20 last job deployments operationId: listJobDeploymentHistory parameters: - $ref: '#/components/parameters/jobId' tags: - Job Deployment History responses: '200': description: List deployment history content: application/json: schema: allOf: - $ref: '#/components/schemas/PaginationData' - type: object properties: results: type: array items: $ref: '#/components/schemas/DeploymentHistoryJobResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/deploymentHistoryV2': get: summary: List job deployments description: Returns the 20 last job deployments operationId: listJobDeploymentHistoryV2 parameters: - in: query name: pageSize description: The number of deployments to return in the current page schema: type: number nullable: true default: 20 tags: - Job Deployment History responses: '200': description: List deployment history content: application/json: schema: $ref: '#/components/schemas/DeploymentHistoryServicePaginatedResponseListV2' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' x-stoplight: id: mcu1nwkl3q2bb parameters: - schema: type: string format: uuid name: jobId in: path required: true '/job/{jobId}/deploymentRestriction': get: summary: Get job deployment restrictions description: Get job deployment restrictions operationId: getJobDeploymentRestrictions parameters: - $ref: '#/components/parameters/jobId' tags: - Job Deployment Restriction responses: '200': description: Get job deployment restrictions content: application/json: schema: $ref: '#/components/schemas/JobDeploymentRestrictionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a job deployment restriction description: Create a job deployment restriction operationId: createJobDeploymentRestriction parameters: - $ref: '#/components/parameters/jobId' tags: - Job Deployment Restriction requestBody: content: application/json: schema: $ref: '#/components/schemas/JobDeploymentRestrictionRequest' responses: '201': description: Added an environment variable content: application/json: schema: $ref: '#/components/schemas/JobDeploymentRestrictionResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '409': description: A Job deployment restriction with same properties already exists for this job '/job/{jobId}/deploymentRestriction/{deploymentRestrictionId}': put: summary: Edit a job deployment restriction description: Edit a job deployment restriction operationId: editJobDeploymentRestriction parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/deploymentRestrictionId' tags: - Job Deployment Restriction requestBody: content: application/json: schema: $ref: '#/components/schemas/JobDeploymentRestrictionRequest' responses: '200': description: Edit a job deployment restriction content: application/json: schema: $ref: '#/components/schemas/JobDeploymentRestrictionResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a job deployment restriction description: Delete a job deployment restriction operationId: deleteJobDeploymentRestriction parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/deploymentRestrictionId' tags: - Job Deployment Restriction responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/environmentVariable': get: summary: List environment variables operationId: listJobEnvironmentVariable parameters: - $ref: '#/components/parameters/jobId' tags: - Job Environment Variable responses: '200': description: List environment variables content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add an environment variable to the job description: | - Add an environment variable to the job. operationId: createJobEnvironmentVariable parameters: - $ref: '#/components/parameters/jobId' tags: - Job Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableRequest' responses: '201': description: Added an environment variable content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/environmentVariable/import': post: summary: Import variables description: 'Import environment variables in a defined scope, with a defined visibility.' operationId: importJobEnvironmentVariable parameters: - $ref: '#/components/parameters/jobId' tags: - Job Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/VariableImportRequest' responses: '201': description: Import environment variables content: application/json: schema: $ref: '#/components/schemas/VariableImport' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/environmentVariable/{environmentVariableId}': delete: summary: Delete an environment variable from a job description: | - To delete an environment variable from an job you must have the project user permission - You can't delete a BUILT_IN variable - If you delete a variable having override or alias, the associated override/alias will be deleted as well operationId: deleteJobEnvironmentVariable parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/environmentVariableId' tags: - Job Environment Variable responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit an environment variable belonging to the job description: | - You can't edit a BUILT_IN variable - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the variable it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > CONTAINER) operationId: editJobEnvironmentVariable parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/environmentVariableId' tags: - Job Environment Variable requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariableEditRequest' responses: '200': description: Edited the environment variable value content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/environmentVariable/{environmentVariableId}/override': post: summary: Create an environment variable override at the job level description: | - Allows you to override at job level an environment variable that has a higher scope. - You only have to specify a value in the request body - The system will create a new environment variable at job level with the same key as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the overridden_variable will be exposed in the "overridden_variable" field of the newly created variable operationId: createJobEnvironmentVariableOverride parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/environmentVariableId' tags: - Job Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create variable override content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > CONTAINER '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/environmentVariable/{environmentVariableId}/alias': post: summary: Create an environment variable alias at the job level description: | - Allows you to add an alias at job level on an existing environment variable having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new environment variable at job level with the same value as the one corresponding to the variable id in the path - The response body will contain the newly created variable - Information regarding the aliased_variable will be exposed in the "aliased_variable" field of the newly created variable - You can't create an alias on an alias operationId: createJobEnvironmentVariableAlias parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/environmentVariableId' tags: - Job Environment Variable requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create variable alias content: application/json: schema: $ref: '#/components/schemas/EnvironmentVariable' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > CONTAINER '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/secret': get: summary: List job secrets description: 'Secrets are like environment variables, but they are secured and can''t be revealed.' operationId: listJobSecrets parameters: - $ref: '#/components/parameters/jobId' tags: - Job Secret responses: '200': description: List secrets content: application/json: schema: $ref: '#/components/schemas/SecretResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Add a secret to the job description: | - Add a secret to the job. operationId: createJobSecret parameters: - $ref: '#/components/parameters/jobId' tags: - Job Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/SecretRequest' responses: '201': description: Add a secret content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/secret/{secretId}': delete: summary: Delete a secret from an job description: | - To delete a secret you must have the project user permission - You can't delete a BUILT_IN secret - If you delete a secret having override or alias, the associated override/alias will be deleted as well operationId: deleteJobSecret parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/secretId' tags: - Job Secret responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a secret belonging to the job description: | - You can't edit a BUILT_IN secret - For an override, you can't edit the key - For an alias, you can't edit the value - An override can only have a scope lower to the secret it is overriding (hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > CONTAINER) operationId: editJobSecret parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/secretId' tags: - Job Secret requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SecretEditRequest' responses: '200': description: Edited the secret value content: application/json: schema: $ref: '#/components/schemas/Secret' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/secret/{secretId}/override': post: summary: Create a secret override at the job level description: | - Allows you to override at job level a secret that has a higher scope. - You only have to specify a value in the request body - The system will create a new secret at job level with the same key as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the overridden_secret will be exposed in the "overridden_secret" field of the newly created secret operationId: createJobSecretOverride parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/secretId' tags: - Job Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Value' responses: '201': description: Create secret override content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/secret/{secretId}/alias': post: summary: Create a secret alias at the job level description: | - Allows you to add an alias at job level on an existing secret having higher scope, in order to customize its key. - You only have to specify a key in the request body - The system will create a new secret at job level with the same value as the one corresponding to the secret id in the path - The response body will contain the newly created secret - Information regarding the aliased_secret will be exposed in the "aliased_secret" field of the newly created secret - You can't create an alias on an alias operationId: createJobSecretAlias parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/secretId' tags: - Job Secret requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Create secret alias content: application/json: schema: $ref: '#/components/schemas/Secret' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is BUILT_IN > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/commit': get: summary: List last job commits description: Returns list of the last 100 commits made on the repository linked to the job operationId: listJobCommit parameters: - $ref: '#/components/parameters/jobId' - $ref: '#/components/parameters/startId' - $ref: '#/components/parameters/gitCommitId' tags: - Job Main Calls responses: '200': description: List job commits content: application/json: schema: $ref: '#/components/schemas/CommitResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/job/{jobId}/clone': post: summary: Clone job description: This will create a new job with the same configuration on the targeted environment Id. operationId: cloneJob parameters: - $ref: '#/components/parameters/jobId' tags: - Jobs requestBody: content: application/json: schema: $ref: '#/components/schemas/CloneServiceRequest' responses: '202': description: Job clone has been requested content: application/json: schema: $ref: '#/components/schemas/JobResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/service/{serviceId}/deploymentStage': get: summary: Get Service Deployment Stage operationId: getServiceDeploymentStage parameters: - $ref: '#/components/parameters/serviceId' tags: - Deployment Stage Main Calls responses: '200': description: Get Service Deployment Stage content: application/json: schema: $ref: '#/components/schemas/DeploymentStageResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /variable: get: summary: List variables description: Returns a list of variables. The result can be filtered by using the query parameters. operationId: listVariables parameters: - in: query name: parent_id required: true schema: type: string format: uuid description: 'it filters the list by returning only the variables accessible by the selected parent_id. This field shall contain the id of a project, environment or service depending on the selected scope. Example, if scope = APPLICATION and parent_id=, the result will contain any variable accessible by the application. The result will contain also any variable declared at an higher scope.' - in: query name: scope required: true schema: $ref: '#/components/schemas/APIVariableScopeEnum' description: 'the type of the parent_id (application, project, environment etc..).' - in: query name: is_secret schema: type: boolean nullable: true description: it filters the list by returning only the variables of type secret or not tags: - Variable Main Calls responses: '200': description: List variables content: application/json: schema: $ref: '#/components/schemas/VariableResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create a variable description: | - Create a variable with the scope defined in the request body. operationId: createVariable tags: - Variable Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/VariableRequest' responses: '201': description: Create a variable content: application/json: schema: $ref: '#/components/schemas/VariableResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/variable/{variableId}/alias': post: summary: Create a variable alias description: | - Allows you to create an alias of one of the existing variables. - You have to specify an alias (key) in the request body, the scope and the parent id of the alias (project id, environment id or service id) - The system will create a new variable at the requested level with the same value as the one corresponding to the variable id passed as path parameter. - The response body will contain the newly created variable - Information regarding the aliased_variable will be exposed in the "aliased_variable" or in the "aliased_secret" field of the newly created variable - You can't create an alias on an alias operationId: createVariableAlias parameters: - $ref: '#/components/parameters/variableId' tags: - Variable Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/VariableAliasRequest' responses: '201': description: Create variable alias content: application/json: schema: $ref: '#/components/schemas/VariableResponse' '400': description: Can't create an alias on a higher scope. Aliases can only be created from one scope to a lower scope. Scope hierarchy is ORGANIZATION > PROJECT > ENVIRONMENT > CONTAINER '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/variable/{variableId}/override': post: summary: Create a variable override description: | - Allows you to override a variable that has a higher scope. - You have to specify a value (override) in the request body and the scope and the parent id of the variable to override (project id, environment id or service id) - The system will create a new environment variable at the requested level with the same key as the one corresponding to the variable id passed as path parameter. - The response body will contain the newly created variable - Information regarding the overridden_variable will be exposed in the "overridden_variable" or in the "overridden_secret" field of the newly created variable operationId: createVariableOverride parameters: - $ref: '#/components/parameters/variableId' tags: - Variable Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/VariableOverrideRequest' responses: '201': description: Create variable override content: application/json: schema: $ref: '#/components/schemas/VariableResponse' '400': description: Can't create an override on a higher scope. Overrides can only be created from one scope to a lower scope. Scope hierarchy is ORGANIZATION > PROJECT > ENVIRONMENT > APPLICATION '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/variable/{variableId}': delete: summary: Delete a variable description: | - To delete a variable - You can't delete a BUILT_IN variable - If you delete a variable having override or alias, the associated override/alias will be deleted as well operationId: deleteVariable parameters: - $ref: '#/components/parameters/variableId' tags: - Variable Main Calls responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a variable description: | - You can't edit a BUILT_IN variable - For an override, you can't edit the key - For an alias, you can't edit the value operationId: editVariable parameters: - $ref: '#/components/parameters/variableId' tags: - Variable Main Calls requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VariableEditRequest' responses: '200': description: Edited variable value content: application/json: schema: $ref: '#/components/schemas/VariableResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /variable/import: post: summary: Import variables description: 'Import environment variables in a defined scope, with a defined visibility.' operationId: importEnvironmentVariables parameters: - in: query name: service_id required: true schema: type: string format: uuid description: service id - in: query name: service_type required: true schema: $ref: '#/components/schemas/ServiceTypeForVariableEnum' description: service type tags: - Variable Main Calls requestBody: content: application/json: schema: $ref: '#/components/schemas/VariableImportRequest' responses: '201': description: Import environment variables content: application/json: schema: $ref: '#/components/schemas/VariableImport' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/cleanFailedJobs': parameters: - schema: type: string name: environmentId in: path required: true post: summary: Clean failed jobs within an environment tags: - Environment Actions responses: '200': description: OK content: application/json: schema: type: object properties: clean_job_ids: type: array x-stoplight: id: wfo0kfbtlr6uu items: x-stoplight: id: 7w5e7cmsx9pol type: string format: uuid clean_kubernetes_jobs: type: array x-stoplight: id: hga9nj7dygmcf items: x-stoplight: id: y2fcpi3zltomf type: string operationId: cleanFailedJobs x-stoplight: id: ivybizdyn78lh requestBody: content: application/json: schema: type: object properties: job_ids: type: array x-stoplight: id: 9buks2moeeppz items: x-stoplight: id: j5zm35sm6zxp4 type: string format: uuid '/job/{jobId}/cleanFailedJob': parameters: - schema: type: string name: jobId in: path required: true post: summary: Clean a failed job tags: - Job Actions responses: '200': description: OK content: application/json: schema: type: object properties: clean_kubernetes_jobs: type: array x-stoplight: id: 2mgfos3e33m8v items: x-stoplight: id: r4hfdr509e05z type: string operationId: cleanFailedJob x-stoplight: id: eu77thczavme3 '/environment/{environmentId}/lifecycleTemplate': parameters: - schema: type: string name: environmentId in: path required: true get: summary: List available lifecycle template for this environment tags: - Lifecycle Template Main Calls operationId: listEnvironmentLifecycleTemplates x-stoplight: id: 597v5i445zf0v responses: '200': description: List available lifecyle templates for this environment content: application/json: schema: $ref: '#/components/schemas/LifecycleTemplateListResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/lifecycleTemplate/{lifecycleTemplateId}': parameters: - schema: type: string name: environmentId in: path required: true - schema: type: string name: lifecycleTemplateId in: path required: true get: summary: Get specific lifecycle template tags: - Lifecycle Template Main Calls operationId: getEnvironmentLifecycleTemplate x-stoplight: id: yatyf4hs2kwc0 responses: '200': description: Lifecycle template content: application/json: schema: $ref: '#/components/schemas/LifecycleTemplateResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/containerRegistry/{containerRegistryId}/associatedServices': parameters: - schema: type: string name: organizationId in: path required: true - schema: type: string name: containerRegistryId in: path required: true get: summary: Get organization container registry associated services tags: - Organization Main Calls responses: '200': description: Get organization container registry associated services content: application/json: schema: $ref: '#/components/schemas/ContainerRegistryAssociatedServicesResponseList' '401': description: Access token is missing or invalid '403': description: Access forbidden '404': description: Resource not found operationId: getContainerRegistryAssociatedServices x-stoplight: id: dgh8t73nqaetm description: Get organization container registry associated services '/organization/{organizationId}/helmRepository/{helmRepositoryId}/associatedServices': parameters: - schema: type: string name: organizationId in: path required: true - schema: type: string name: helmRepositoryId in: path required: true get: summary: Get organization helm repository associated services tags: - Organization Main Calls responses: '200': description: Get organization helm repository associated services content: application/json: schema: $ref: '#/components/schemas/HelmRepositoryAssociatedServicesResponseList' '401': description: ' Access token is missing or invalid' '403': description: AccessForbidden '404': description: ResourceNot Found operationId: getHelmRepositoryAssociatedServices x-stoplight: id: 5jvrv87m4tk5s description: Get organization helm repository associated services '/cluster/{clusterId}/token': parameters: - schema: type: string name: clusterId in: path required: true get: summary: Get cluster token by clusterId tags: [] responses: '200': description: OK content: application/json: schema: type: object required: - apiVersion - kind - spec - status properties: apiVersion: type: string x-stoplight: id: 3v8hnweel0h59 kind: type: string x-stoplight: id: j71s6bsnathbc spec: type: object x-stoplight: id: yceokavn3wmmt status: type: object x-stoplight: id: kpc7oees1ex6o required: - token - expirationTimestamp properties: token: type: string x-stoplight: id: l3j67ojfrx07j expirationTimestamp: type: string x-stoplight: id: h0vsj9rkz1y83 format: date-time operationId: get-cluster-token-by-clusterId x-stoplight: id: zggx5u9ayalz7 '/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 '/environment/{environmentId}/services': parameters: - schema: type: string name: environmentId in: path required: true get: summary: List Services By EnvironmentId tags: - Environment Main Calls responses: '200': description: Service List content: application/json: schema: type: object properties: results: type: array x-stoplight: id: 0t9ccei2ecd8d items: x-stoplight: id: lzycmwmefigki oneOf: - $ref: '#/components/schemas/Application' - $ref: '#/components/schemas/ContainerResponse' - $ref: '#/components/schemas/Database' - $ref: '#/components/schemas/HelmResponse' - $ref: '#/components/schemas/JobResponse' - $ref: '#/components/schemas/TerraformResponse' discriminator: propertyName: service_type mapping: APPLICATION: '#/components/schemas/Application' CONTAINER: '#/components/schemas/ContainerResponse' DATABASE: '#/components/schemas/Database' HELM: '#/components/schemas/HelmResponse' JOB: '#/components/schemas/JobResponse' TERRAFORM: '#/components/schemas/TerraformResponse' operationId: listServicesByEnvironmentId x-stoplight: id: 9adquhr5t6qx3 '/cluster/{clusterId}/lock': parameters: - schema: type: string name: clusterId in: path required: true post: summary: Lock Cluster tags: - Clusters responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ClusterLock' '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found operationId: lockCluster x-stoplight: id: kttp2yd6qq7m7 description: Lock a Cluster requestBody: content: application/json: schema: $ref: '#/components/schemas/ClusterLockRequest' delete: summary: Unlock Cluster tags: - Clusters responses: '204': description: No Content '401': description: |- Unauthorized responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '403': description: Forbidden '404': description: '' operationId: unlock-cluster x-stoplight: id: vkn00s3mt1vew description: Unlock a cluster '/cluster/{clusterId}/events': get: summary: List Cluster Kubernetes Events description: List Cluster Kubernetes Events operationId: get-cluster-kubernetes-events tags: - Clusters parameters: - $ref: '#/components/parameters/clusterId' - in: query name: from_date_time description: | The start date time to fetch events from, following ISO-8601 format. The `+` character must be escaped (`%2B`) required: true example: '2025-03-03T09:00:00+00:00' schema: type: string nullable: false - in: query name: to_date_time description: | The end date time to fetch events from, following ISO-8601 format. The `+` character must be escaped (`%2B`) required: true example: '2025-03-03T03:00:00+00:00' schema: type: string nullable: false - schema: type: string in: query name: node_name description: The name of the node to fetch event from - schema: type: string in: query name: pod_name description: The name of the pod to fetch event from - schema: type: string in: query name: reporting_component description: The name of the reporting component used to filter events. responses: '200': description: List Cluster Kubernetes Events content: application/json: schema: type: object properties: results: type: array items: type: object properties: created_at: type: string format: date-time description: The created date following ISO-8601 format kind: type: string description: The source kubernetes object related to the Event namespace: type: string description: The namespace of the kubernetes object related to the Event (optional) name: type: string description: The name of the Event reason: type: string description: The action that triggered the Event message: type: string description: A description of the Event type: type: string description: As of today it can be either Warning or Normal (can evolve in the next releases) reporting_component: type: string x-stoplight: id: j80d7nbe0d7t5 count: type: integer x-stoplight: id: dg0q4lb53n9bu first_occurrence: type: string x-stoplight: id: 2gfzxsksepqu1 format: date-time last_occurrence: type: string x-stoplight: id: 5pap12d1475w9 format: date-time '/cluster/{clusterId}/metrics': get: summary: Fetch cluster metrics description: Fetch cluster metrics. operationId: get-cluster-metrics tags: - Clusters parameters: - $ref: '#/components/parameters/clusterId' - in: query name: endpoint schema: type: string nullable: false required: true - in: query name: query required: true schema: type: string nullable: false - schema: type: string in: query name: start - schema: type: string in: query name: end - schema: type: string in: query name: step - schema: type: string in: query name: time - schema: type: string in: query name: timeout - schema: type: string in: query name: dedup - schema: type: string in: query name: partial_response - schema: type: string in: query name: max_source_resolution - schema: type: string in: query name: engine - schema: type: string in: query name: analyze - schema: type: string in: query name: board_short_name - schema: type: string in: query name: metric_short_name - schema: type: string in: query name: trace_id - schema: type: string in: query name: range responses: '200': description: Cluster Metrics content: application/json: schema: $ref: '#/components/schemas/ClusterMetricsResponse' '/organization/{organizationId}/lock': parameters: - schema: type: string name: organizationId in: path required: true get: summary: List locked Cluster by organization tags: - Organization Cluster Lock responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/ClusterLockList' '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found operationId: list-cluster-lock x-stoplight: id: 3n7iq6cr6xx43 /environment/deploymentStatus: get: summary: Get Deployment Status By DeploymentRequestId tags: [] responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EnvDeploymentStatus' operationId: getDeploymentStatusByDeploymentRequestId x-stoplight: id: dtvjdlz9teqld parameters: - schema: type: string format: uuid in: query name: deploymentRequestId required: true parameters: [] '/organization/{organizationId}/services': get: summary: List Services By OrganizationId tags: - Organization Main Calls responses: '200': description: Service List content: application/json: schema: type: object properties: results: type: array x-stoplight: id: gjtgeehwg4lb9 items: $ref: '#/components/schemas/ServiceLightResponse' operationId: listServicesByOrganizationId x-stoplight: id: qvqb4d0bpjy0v parameters: - schema: type: string nullable: true in: query name: project_id - schema: type: string nullable: true in: query name: environment_id - schema: type: string in: query name: cluster_id parameters: - schema: type: string name: organizationId in: path required: true '/organization/{organizationId}/parseTerraformVariablesFromGitRepo': post: summary: Parse Terraform variables from Git repository operationId: parseTerraformVariablesFromGitRepo parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Main Calls requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TerraformVariableParsingRequest' responses: '200': description: List of Terraform variable definitions content: application/json: schema: type: object properties: results: type: array items: $ref: '#/components/schemas/TerraformVariableDefinition' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/listTfVarsFilesFromGitRepo': post: summary: List Terraform tfvars files from Git repository operationId: listTfVarsFilesFromGitRepo parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Main Calls requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TfVarsListRequest' responses: '200': description: List of Terraform tfvars files with their variables content: application/json: schema: type: object properties: results: type: array items: $ref: '#/components/schemas/TfVarsFileResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/environment/{environmentId}/deploymentQueue': parameters: - schema: type: string format: uuid name: environmentId in: path required: true get: summary: List Deployment Queue Request By EnvironmentId tags: - Environment Main Calls responses: '200': description: OK content: application/json: schema: type: object properties: results: type: array x-stoplight: id: zbjhuwhtkvxkj items: $ref: '#/components/schemas/QueuedDeploymentRequestWithStages' operationId: listDeploymentRequestByEnvironmentId x-stoplight: id: 0zhr0vfxayg96 '/service/{serviceId}/deploymentQueue': parameters: - schema: type: string format: uuid name: serviceId in: path required: true get: summary: List Deployment Queue Request By ServiceId tags: - Environment Main Calls responses: '200': description: OK content: application/json: schema: type: object properties: results: type: array items: $ref: '#/components/schemas/QueuedDeploymentRequestForService' operationId: listDeploymentRequestByServiceId x-stoplight: id: augmimjz30ix3 '/{serviceType}/{serviceId}/ingressDeploymentStatus': parameters: - schema: type: string enum: - CONTAINER - APPLICATION - HELM name: serviceType in: path required: true - schema: type: string format: uuid name: serviceId in: path required: true get: summary: Get Ingress Deployment Status By Service tags: - service_status responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/IngressDeploymentStatusResponse' operationId: getIngressDeploymentStatus x-stoplight: id: cji3h6qjunupa '/organization/{organizationId}/azure/credentials': get: summary: List Azure credentials operationId: listAzureCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials responses: '200': description: list credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentialsResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create Azure credentials set operationId: createAzureCredentials parameters: - $ref: '#/components/parameters/organizationId' tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/AzureCredentialsRequest' responses: '201': description: Credentials created content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/azure/credentials/{credentialsId}': get: summary: Get a set of Azure credentials operationId: getAzureCredentials tags: - Cloud Provider Credentials responses: '200': description: Get a set of Azure credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit a set of Azure credentials operationId: editAzureCredentials tags: - Cloud Provider Credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/AzureCredentialsRequest' responses: '200': description: Edit a set of Azure credentials content: application/json: schema: $ref: '#/components/schemas/ClusterCredentials' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' delete: summary: Delete a set of Azure credentials operationId: deleteAzureCredentials tags: - Cloud Provider Credentials responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' parameters: - schema: type: string format: uuid name: organizationId in: path required: true - schema: type: string format: uuid name: credentialsId in: path required: true /azure/region: get: summary: List Azure regions tags: - Cloud Provider operationId: listAzureRegions x-stoplight: id: pccuw0fgrkcyf responses: '200': description: list regions content: application/json: schema: $ref: '#/components/schemas/ClusterRegionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /azure/clusterFeature: get: summary: List Azure features available tags: - Cloud Provider responses: '200': description: list features available for Azure cloud provider content: application/json: schema: $ref: '#/components/schemas/ClusterFeatureResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: listAzureFeatures x-stoplight: id: gjin553b2f7mz '/environment/{environmentId}/terraform': get: summary: List terraforms operationId: listTerraforms x-stoplight: id: 2azyhtuthfuft tags: - Terraforms responses: '200': description: List terraforms content: application/json: schema: $ref: '#/components/schemas/TerraformResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' parameters: - schema: type: string format: uuid name: environmentId in: path required: true post: summary: Create a terraform tags: - Terraforms operationId: createTerraform x-stoplight: id: qgpat08kc3wir requestBody: content: application/json: schema: $ref: '#/components/schemas/TerraformRequest' responses: '201': description: Create terraform content: application/json: schema: $ref: '#/components/schemas/TerraformResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Terraform name within the environment is already taken '/environment/{environmentId}/link': get: summary: List environment services links operationId: listEnvironmentServicesLinks parameters: - $ref: '#/components/parameters/environmentId' tags: - Environment responses: '200': description: List environment services links content: application/json: schema: $ref: '#/components/schemas/LinkResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' x-stoplight: id: 94az7c0v1enav description: List services links of an environment '/terraform/{terraformId}': parameters: - $ref: '#/components/parameters/terraformId' get: summary: Get terraform by ID tags: - Terraform Main Calls operationId: getTerraform x-stoplight: id: s1dctms0dixdl responses: '200': description: Get terrafor by ID content: application/json: schema: $ref: '#/components/schemas/TerraformResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Edit Terraform tags: - Terraform Main Calls operationId: editTerraform x-stoplight: id: pb6cdzqcvmnkh requestBody: content: application/json: schema: $ref: '#/components/schemas/TerraformRequest' responses: '200': description: Edit Terraform content: application/json: schema: $ref: '#/components/schemas/TerraformResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Terraform name within the environment is already taken delete: summary: Delete Terraform tags: - Terraform Main Calls operationId: deleteTerraform x-stoplight: id: 518sjlmziel46 responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' parameters: - in: query name: resources_only schema: type: boolean default: false description: 'When true, only resources are deleted and Qovery configuration is kept.' - in: query name: force_terraform_action required: false schema: $ref: '#/components/schemas/DeleteTerraformAction' description: Force a specific action to be executed by Terraform during deletion. '/terraform/{terraformId}/advancedSettings': get: summary: Get Advanced settings tags: - Terraform Configuration operationId: getTerraformAdvancedSettings x-stoplight: id: hth6esl7sqliu responses: '200': description: Advanced settings list content: application/json: schema: $ref: '#/components/schemas/TerraformAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' parameters: - schema: type: string format: uuid name: terraformId in: path required: true put: summary: Edit Advanced settings tags: - Terraform Configuration operationId: editTerraformAdvancedSettings x-stoplight: id: 0rd396pcy9m0e requestBody: content: application/json: schema: $ref: '#/components/schemas/TerraformAdvancedSettings' responses: '201': description: Updated advanced settings content: application/json: schema: $ref: '#/components/schemas/TerraformAdvancedSettings' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/terraform/{terraformId}/deploy': post: summary: Deploy terraform description: You must provide a git commit id. operationId: deployTerraform parameters: - $ref: '#/components/parameters/terraformId' tags: - Terraform Actions requestBody: content: application/json: schema: $ref: '#/components/schemas/TerraformDeployRequest' responses: '202': description: Deploy terraform content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/terraform/{terraformId}/uninstall': post: summary: Uninstall terraform description: Delete the resources of the terraform but keep Qovery configuration operationId: uninstallTerraform parameters: - $ref: '#/components/parameters/terraformId' - in: query name: force_terraform_action required: false schema: $ref: '#/components/schemas/DeleteTerraformAction' description: Force a specific action to be executed by Terraform during uninstall. tags: - Terraform Actions requestBody: content: application/json: schema: type: object properties: {} responses: '202': description: 'Delete the compute and data of the service, but keep Qovery configuration' content: application/json: schema: $ref: '#/components/schemas/Status' '204': description: No deployment has been triggered '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress x-stoplight: id: awjvr4y02cr23 parameters: - schema: type: string name: terraformId in: path required: true /defaultTerraformAdvancedSettings: get: summary: List default terraform advanced settings tags: - Terraforms responses: '200': description: Default terraform advanced settings content: application/json: schema: $ref: '#/components/schemas/TerraformAdvancedSettings' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' operationId: getDefaultTerraformAdvancedSettings x-stoplight: id: 5qcyy764ewhk3 /terraform/availableVersion: get: summary: List available Terraform versions tags: - Terraform Main Calls operationId: listTerraformVersions responses: '200': description: List available Terraform versions content: application/json: schema: $ref: '#/components/schemas/TerraformVersionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/terraform/{terraformId}/clone': post: summary: Clone terraform description: This will create a new terraform with the same configuration on the targeted environment Id. operationId: cloneTerraform parameters: - $ref: '#/components/parameters/terraformId' tags: - Terraforms requestBody: content: application/json: schema: $ref: '#/components/schemas/CloneServiceRequest' responses: '202': description: Terraform clone has been requested content: application/json: schema: $ref: '#/components/schemas/TerraformResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '409': description: Operation is in progress '/terraform/{terraformId}/deploymentHistoryV2': parameters: - schema: type: string format: uuid name: terraformId in: path required: true get: summary: List terraform deployments description: Returns the 20 last terraform deployments parameters: - in: query name: pageSize description: The number of deployments to return in the current page schema: type: number nullable: true default: 20 tags: - Terraform Deployment History responses: '200': description: List deployment history content: application/json: schema: $ref: '#/components/schemas/DeploymentHistoryServicePaginatedResponseListV2' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: listTerraformDeploymentHistoryV2 x-stoplight: id: qxm14ubc0l5dq '/terraform/{terraformId}/commit': get: summary: List last commits description: Returns list of the last 100 commits made on the repository linked to the terraform service operationId: listTerraformCommit parameters: - $ref: '#/components/parameters/terraformId' tags: - Terraform Main Calls responses: '200': description: List commits content: application/json: schema: $ref: '#/components/schemas/CommitResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/terraform/{terraformId}/deploymentRestriction': parameters: - schema: type: string name: terraformId in: path required: true get: summary: Get terraform deployment restrictions description: Get terraform deployment restrictions tags: - Terraform Deployment Restriction responses: '200': description: Get terraform deployment restrictions content: application/json: schema: $ref: '#/components/schemas/TerraformDeploymentRestrictionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: getTerraformDeploymentRestrictions x-stoplight: id: q3y44x1wdigcd post: summary: Create a terraform deployment restriction description: Create a terraform deployment restriction tags: - Terraform Deployment Restriction requestBody: content: application/json: schema: $ref: '#/components/schemas/TerraformDeploymentRestrictionRequest' responses: '201': description: Added an terraform deployment restriction content: application/json: schema: $ref: '#/components/schemas/TerraformDeploymentRestrictionResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '409': description: A terraform deployment restriction with same properties already exists for this terraform operationId: createTerraformDeploymentRestriction x-stoplight: id: l6192gxde3sbv '/terraform/{terraformId}/deploymentRestriction/{deploymentRestrictionId}': parameters: - schema: type: string format: uuid name: terraformId in: path required: true - schema: type: string format: uuid name: deploymentRestrictionId in: path required: true put: summary: Edit a terraform deployment restriction description: Edit a terraform deployment restriction tags: - Terraform Deployment Restriction requestBody: content: application/json: schema: $ref: '#/components/schemas/TerraformDeploymentRestrictionRequest' responses: '200': description: Edit a terraform deployment restriction content: application/json: schema: $ref: '#/components/schemas/TerraformDeploymentRestrictionResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: editTerraformDeploymentRestriction x-stoplight: id: w3jp2xci6bogt delete: summary: Delete a terraform deployment restriction description: Delete a terraform deployment restriction tags: - Terraform Deployment Restriction responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: deleteTerraformDeploymentRestriction x-stoplight: id: d896flm9ibi54 '/terraform/{terraformId}/variables': parameters: - schema: type: string format: uuid name: terraformId in: path required: true description: Terraform ID get: summary: Get terraform variables operationId: getTerraformVariables tags: - Terraform Configuration responses: '200': description: Get terraform variables content: application/json: schema: $ref: '#/components/schemas/TerraformVariablesResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' post: summary: Create or update a terraform variable operationId: updateTerraformVariable tags: - Terraform Configuration requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TerraformVarKeyValue' responses: '200': description: Variable created or updated successfully '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/terraform/{terraformId}/variables/{key}': parameters: - schema: type: string format: uuid name: terraformId in: path required: true description: Terraform ID - schema: type: string name: key in: path required: true description: Variable key to delete delete: summary: Delete a terraform variable operationId: deleteTerraformVariable tags: - Terraform Configuration responses: '204': $ref: '#/components/responses/204-deletion' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/credentials': parameters: - schema: type: string name: organizationId in: path required: true get: summary: List credentials of an organization and their associated clusters tags: - Organization Main Calls responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrganizationCrendentialsResponseList' '400': description: Bad Request operationId: listOrganizationCredentials x-stoplight: id: 2jm9tyqfhw4xf description: List credentials of an organization and their associated clusters '/cluster/{clusterId}/logs': parameters: - schema: type: string name: clusterId in: path required: true get: summary: Fetch cluster logs responses: '200': description: Cluster Logs content: application/json: schema: $ref: '#/components/schemas/ClusterLogsResponse' operationId: get-cluster-logs tags: - Clusters x-stoplight: id: eodcl3enjp2ax description: Fetch cluster logs parameters: - schema: type: string in: query name: endpoint required: true - schema: type: string in: query name: query required: true - schema: type: string in: query name: start - schema: type: string in: query name: end - schema: type: string in: query name: limit - schema: type: string in: query name: since - schema: type: string in: query name: step - schema: type: string in: query name: interval - schema: type: string in: query name: direction - schema: type: string in: query name: time '/organization/{organizationId}/enterpriseconnection': get: summary: List enterprise connections operationId: listOrganizationEnterpriseConnections parameters: - $ref: '#/components/parameters/organizationId' tags: - Organization Enterprise Connection responses: '200': description: List enterprise connections content: application/json: schema: $ref: '#/components/schemas/EnterpriseConnectionResponseList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '/organization/{organizationId}/alert-receivers': get: summary: List alert receivers tags: - Alert Receivers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AlertReceiverList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: getAlertReceivers x-stoplight: id: 3cqb2xpmir9n8 description: Retrieve all alert receivers for a specific organization parameters: - name: organizationId in: path description: Organization ID required: true schema: type: string format: uuid '/organization/{organizationId}/enterpriseconnection/{connectionName}': get: summary: Get enterprise connection operationId: getOrganizationEnterpriseConnection parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/connectionName' tags: - Organization Enterprise Connection responses: '200': description: Get enterprise connection content: application/json: schema: $ref: '#/components/schemas/EnterpriseConnectionDto' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' put: summary: Update enterprise connection operationId: updateOrganizationEnterpriseConnection parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/connectionName' tags: - Organization Enterprise Connection requestBody: content: application/json: schema: $ref: '#/components/schemas/EnterpriseConnectionDto' responses: '200': description: Update enterprise connection content: application/json: schema: $ref: '#/components/schemas/EnterpriseConnectionDto' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /api/alert-receivers: post: summary: Create alert receiver tags: - Alert Receivers responses: '201': description: ' Alert receiver successfully created' content: application/json: schema: $ref: '#/components/schemas/AlertReceiverResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' operationId: createAlertReceiver x-stoplight: id: 56wdp3pyd4jfy description: Create a new alert receiver requestBody: content: application/json: schema: $ref: '#/components/schemas/AlertReceiverCreationRequest' '/api/alert-receivers/{alertReceiverId}': parameters: - $ref: '#/components/parameters/alertReceiverId' get: summary: Get alert receiver tags: - Alert Receivers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AlertReceiverResponse' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: getAlertReceiver x-stoplight: id: z0qs6btegz9c3 description: Retrieve a specific alert receiver by its ID put: summary: Update alert receiver tags: - Alert Receivers responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AlertReceiverResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: editAlertReceiver x-stoplight: id: lcy99zdslr1cb description: Update an existing alert receiver requestBody: content: application/json: schema: $ref: '#/components/schemas/AlertReceiverEditRequest' delete: summary: Delete alert receiver tags: - Alert Receivers responses: '204': description: Alert receiver successfully deleted '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: deleteAlertReceiver x-stoplight: id: vwt0mube2wcb6 description: Delete an alert receiver /alert-rules: post: summary: Create alert rule tags: - Alert Rules responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/AlertRuleResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' operationId: createAlertRule x-stoplight: id: htbtqo7s45dzg description: Create a new alert rule with PromQL expression requestBody: content: application/json: schema: $ref: '#/components/schemas/AlertRuleCreationRequest' '/alert-rules/{alertRuleId}': parameters: - $ref: '#/components/parameters/alertRuleId' get: summary: Get alert rule tags: - Alert Rules responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AlertRuleResponse' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: getAlertRule x-stoplight: id: qfitd78wejspk description: Retrieve a specific alert rule by its ID put: summary: Update alert rule tags: - Alert Rules responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AlertRuleResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: editAlertRule x-stoplight: id: cj5a3t08qw1aj description: Update an existing alert rule requestBody: content: application/json: schema: $ref: '#/components/schemas/AlertRuleEditRequest' delete: summary: Delete alert rule tags: - Alert Rules responses: '204': description: Alert rule successfully deleted '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: deleteAlertRule x-stoplight: id: 812453spx2l0f description: Delete an alert rule '/organization/{organizationId}/alert-rules': parameters: - $ref: '#/components/parameters/organizationId' get: summary: List alert rules tags: - Alert Rules responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AlertRuleList' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' operationId: getAlertRules x-stoplight: id: xkza3tt52gwse description: Retrieve all alert rules for a specific organization components: parameters: alertReceiverId: name: alertReceiverId in: path description: Alert Receiver ID required: true schema: type: string format: uuid alertRuleId: name: alertRuleId in: path description: Alert Rule ID required: true schema: type: string format: uuid applicationId: name: applicationId in: path description: Application ID required: true schema: type: string format: uuid backupId: name: backupId in: path description: Database Backup ID required: true schema: type: string format: uuid clusterId: name: clusterId in: path description: Cluster ID required: true schema: type: string format: uuid containerId: name: containerId in: path description: Container ID required: true schema: type: string format: uuid containerRegistryId: name: containerRegistryId in: path description: Container Registry ID required: true schema: type: string format: uuid deploymentRequestId: name: deploymentRequestId in: path description: Deployment Request ID required: true schema: type: string format: uuid imageName: name: imageName in: query required: false description: container image name schema: type: string searchImageName: name: search in: query required: false description: partial container image name to search schema: type: string credentialsId: name: credentialsId in: path description: Credentials ID required: true schema: type: string format: uuid creditCardId: name: creditCardId in: path description: Credit Card ID required: true schema: type: string format: uuid customDomainId: name: customDomainId in: path description: Custom Domain ID required: true schema: type: string format: uuid customRoleId: name: customRoleId in: path description: Custom Role ID required: true schema: type: string format: uuid databaseId: name: databaseId in: path description: Database ID required: true schema: type: string format: uuid databaseType: name: databaseType in: path description: Database type required: true schema: type: string example: MYSQL deploymentStageId: name: deploymentStageId in: path description: Deployment Stage ID required: true schema: type: string format: uuid stageId: name: stageId in: path description: Deployment Stage ID required: true schema: type: string format: uuid deploymentRestrictionId: name: deploymentRestrictionId in: path description: Deployment Restriction ID required: true schema: type: string format: uuid deploymentRuleId: name: deploymentRuleId in: path description: Deployment Rule ID required: true schema: type: string format: uuid environmentId: name: environmentId in: path description: Environment ID required: true schema: type: string format: uuid environmentVariableId: name: environmentVariableId in: path description: Environment Variable ID required: true schema: type: string format: uuid inviteId: name: inviteId in: path description: Invite ID required: true schema: type: string format: uuid annotationsGroupId: name: annotationsGroupId in: path description: Organization annotations group ID required: true schema: type: string format: uuid labelsGroupId: name: labelsGroupId in: path description: Organization labels group ID required: true schema: type: string format: uuid region: name: region in: path description: region name required: true schema: type: string example: us-east-2 jobId: name: jobId in: path description: Job ID required: true schema: type: string format: uuid gitCommitId: name: gitCommitId in: query description: Git Commit ID schema: type: string format: uuid gitTokenId: name: gitTokenId in: path description: Git Token ID required: true schema: type: string format: uuid invoiceId: name: invoiceId in: path description: Invoice ID required: true schema: type: string format: uuid organizationId: name: organizationId in: path description: Organization ID required: true schema: type: string format: uuid projectId: name: projectId in: path description: Project ID required: true schema: type: string format: uuid secretId: name: secretId in: path description: Secret ID required: true schema: type: string format: uuid startId: name: startId in: query description: Starting point after which to return results required: false schema: type: string format: uuid targetApplicationId: name: targetApplicationId in: path description: Target application ID required: true schema: type: string format: uuid serviceId: name: serviceId in: path description: Service ID of an application/job/container/database required: true schema: type: string format: uuid webhookId: name: webhookId in: path description: Webhook ID required: true schema: type: string format: uuid variableId: name: variableId in: path description: Variable ID required: true schema: type: string format: uuid helmId: name: helmId in: path description: Helm ID required: true schema: type: string format: uuid helmRepositoryId: name: helmRepositoryId in: path description: Helm chart repository ID required: true schema: type: string format: uuid chartName: name: chartName in: query description: Helm chart name to filter the result on schema: type: string helmOf: name: of in: query description: Source of git commit. Can be 'chart' or 'values' schema: type: string default: chart terraformId: name: terraformId in: path required: true schema: type: string format: uuid description: Terraform ID connectionName: name: connectionName in: path required: true description: The name of the Organization's Enterprise Connection schema: type: string schemas: TerraformBackend: oneOf: - type: object required: - kubernetes properties: kubernetes: $ref: '#/components/schemas/TerraformBackendKubernetes' - type: object required: - user_provided properties: user_provided: $ref: '#/components/schemas/TerraformBackendUserProvided' description: Configuration for Terraform backend - exactly one backend type must be specified TerraformBackendKubernetes: type: object description: Kubernetes-specific backend configuration TerraformBackendUserProvided: type: object description: User-provided backend configuration DeleteTerraformAction: type: string description: Action to force a specific Terraform behavior during deletion/uninstall. enum: - SKIP_DESTROY AccountInfo: type: object properties: id: type: string format: uuid created_at: type: string format: date-time nickname: type: string first_name: type: string last_name: type: string profile_picture_url: type: string communication_email: type: string AccountInfoEditRequest: type: object properties: communication_email: type: string nullable: false description: The email to be used for official Qovery communications SecretAlias: type: object required: - id - key - mount_path - scope - variable_type properties: id: type: string format: uuid key: type: string example: QOVERY_DATABASE_PSQL_NAME mount_path: type: string scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_type: $ref: '#/components/schemas/APIVariableTypeEnum' description: type: string x-stoplight: id: 14nham449j6uk maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: bm88z8ltgrcc6 nullable: true 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.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) 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. This property can be used to whitelist source IP ranges for ingress proxy. The value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1 To allow all source ranges, set 0.0.0.0/0. network.ingress.denylist_source_range: type: string description: | list of source ranges to deny access to ingress proxy. This property can be used to blacklist source IP ranges for ingress proxy. The value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1 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"}' hpa.cpu.average_utilization_percent: type: integer description: Percentage value of cpu 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 Application: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/ServiceStorage' - type: object required: - environment - name - healthchecks - icon_uri - service_type properties: environment: $ref: '#/components/schemas/ReferenceObject' git_repository: $ref: '#/components/schemas/ApplicationGitRepository' maximum_cpu: type: integer description: Maximum cpu that can be allocated to the application based on organization cluster configuration. unit is millicores (m). 1000m = 1 cpu example: 16000 maximum_memory: type: integer description: Maximum memory that can be allocated to the application based on organization cluster configuration. unit is MB. 1024 MB = 1GB example: 16384 maximun_gpu: type: integer x-stoplight: id: ho7l9maiyqe52 default: 0 minimum: 0 name: type: string description: name is case insensitive description: type: string description: give a description to this application build_mode: $ref: '#/components/schemas/BuildModeEnum' dockerfile_path: type: string description: The path of the associated Dockerfile. Only if you are using build_mode = DOCKER nullable: true cpu: type: integer description: unit is millicores (m). 1000m = 1 cpu example: 1250 memory: type: integer description: unit is MB. 1024 MB = 1GB example: 1024 gpu: type: integer x-stoplight: id: 3n3pebmhkah3k default: 0 minimum: 0 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. If activated, a preview environment will be automatically cloned at each pull request. If not specified, it takes the value of the `auto_preview` property from the associated environment. default: true ports: $ref: '#/components/schemas/ServicePortResponseList' arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container auto_deploy: type: boolean description: Specify if the application will be automatically updated after receiving a new commit. annotations_groups: $ref: '#/components/schemas/OrganizationAnnotationsGroupResponseList' labels_groups: $ref: '#/components/schemas/OrganizationLabelsGroupResponseList' icon_uri: type: string format: uri description: Icon URI representing the application. x-stoplight: id: b8karc43pdxpu service_type: $ref: '#/components/schemas/ServiceTypeEnum' docker_target_build_stage: type: string x-stoplight: id: tdxdfoyowutcx description: The target build stage in the Dockerfile to build nullable: true ApplicationDeploymentRestriction: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/ApplicationDeploymentRestrictionRequest' ApplicationDeploymentRestrictionRequest: type: object required: - mode - type - value properties: mode: $ref: '#/components/schemas/DeploymentRestrictionModeEnum' type: $ref: '#/components/schemas/DeploymentRestrictionTypeEnum' value: type: string description: 'For `PATH` restrictions, the value must not start with `/`' example: application1/src/ ApplicationDeploymentRestrictionResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ApplicationDeploymentRestriction' ApplicationEditRequest: allOf: - $ref: '#/components/schemas/ServiceStorageRequest' - type: object required: - healthchecks properties: name: type: string description: name is case insensitive description: type: string description: give a description to this application git_repository: $ref: '#/components/schemas/ApplicationGitRepositoryRequest' build_mode: $ref: '#/components/schemas/BuildModeEnum' dockerfile_path: type: string description: The path of the associated Dockerfile nullable: true 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: tkd7it621esyj minimum: 0 default: 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. If activated, a preview environment will be automatically cloned at each pull request. If not specified, it takes the value of the `auto_preview` property from the associated environment. default: true ports: $ref: '#/components/schemas/ServicePortResponseList' arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container auto_deploy: type: boolean description: Specify if the application will be automatically updated after receiving a new commit. nullable: true annotations_groups: $ref: '#/components/schemas/ServiceAnnotationsRequestList' labels_groups: $ref: '#/components/schemas/ServiceLabelsRequestList' icon_uri: type: string format: uri description: Icon URI representing the application. docker_target_build_stage: type: string description: The target build stage in the Dockerfile to build nullable: true 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: '' 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' ApplicationNetwork: type: object properties: sticky_session: type: boolean description: | Specify if the sticky session option (also called persistant session) is activated or not for this application. If activated, user will be redirected by the load balancer to the same instance each time he access to the application. default: false ApplicationNetworkRequest: type: object properties: sticky_session: type: boolean description: | Specify if the sticky session option (also called persistant session) is activated or not for this application. If activated, user will be redirected by the load balancer to the same instance each time he access to the application. default: false ServicePort: type: object required: - id - internal_port - publicly_accessible - protocol 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 i.e: /api/ will only accept http calls that start with /api/ Only 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 i.e: public_path -> /(.*) public_path_rewrite -> /api/$1 will append /api/ on all externaly requested url when reaching the service external/use url -> example.com/foobar -> url seen by the service -> example.com/api/foobar Only valid for publicly_accessible HTTP or GRPC ports. ServicePortResponseList: type: array items: $ref: '#/components/schemas/ServicePort' 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 i.e: /api/ will only accept http calls that start with /api/ Only 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 i.e: public_path -> /(.*) public_path_rewrite -> /api/$1 will append /api/ on all externaly requested url when reaching the service external/use url -> example.com/foobar -> url seen by the service -> example.com/api/foobar Only valid for publicly_accessible HTTP or GRPC ports. ServiceAnnotationsRequestList: type: array items: $ref: '#/components/schemas/ServiceAnnotationRequest' ServiceAnnotationRequest: type: object required: - id properties: id: type: string format: uuid ServiceLabelsRequestList: type: array items: $ref: '#/components/schemas/ServiceLabelRequest' ServiceLabelRequest: type: object required: - id properties: id: type: string format: uuid 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 description: give a description to this application nullable: true git_repository: $ref: '#/components/schemas/ApplicationGitRepositoryRequest' build_mode: $ref: '#/components/schemas/BuildModeEnum' dockerfile_path: type: string description: The path of the associated Dockerfile. Only if you are using build_mode = DOCKER nullable: true 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. If activated, a preview environment will be automatically cloned at each pull request. If not specified, it takes the value of the `auto_preview` property from the associated environment. default: true arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container auto_deploy: type: boolean description: Specify if the application will be automatically updated after receiving a new commit. nullable: true 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 x-stoplight: id: xg9q0urac8kdq description: The target build stage in the Dockerfile to build nullable: true ApplicationResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Application' 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 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/StorageTypeEnum' size: type: integer description: | unit is GB Minimum size is 4 GB example: 16 mount_point: type: string example: /mnt/images AvailableContainerRegistryResponse: type: object required: - kind - required_config - is_mandatory properties: kind: $ref: '#/components/schemas/ContainerRegistryKindEnum' required_config: type: object additionalProperties: true is_mandatory: type: boolean AvailableContainerRegistryResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/AvailableContainerRegistryResponse' AvailableHelmRepositoryResponse: type: object required: - kind - required_config - is_mandatory properties: kind: $ref: '#/components/schemas/HelmRepositoryKindEnum' required_config: type: object additionalProperties: true is_mandatory: type: boolean AvailableHelmRepositoryResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/AvailableHelmRepositoryResponse' AwsCredentialsRequest: oneOf: - $ref: '#/components/schemas/AwsRoleCredentialsRequest' - $ref: '#/components/schemas/AwsStaticCredentialsRequest' AwsStaticCredentialsRequest: required: - name - access_key_id - secret_access_key properties: name: type: string access_key_id: type: string secret_access_key: type: string x-stoplight: id: l0s0fv735914p type: object AwsRoleCredentialsRequest: x-stoplight: id: jn74pfty2eq7c type: object required: - name - role_arn properties: name: type: string role_arn: type: string x-stoplight: id: my3ry04bqibxp OnPremiseCredentialsRequest: type: object required: - name properties: name: type: string Backup: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/BackupRequest' - type: object properties: status: $ref: '#/components/schemas/Status' BackupPaginatedResponseList: allOf: - $ref: '#/components/schemas/PaginationData' - $ref: '#/components/schemas/BackupResponseList' BackupRequest: type: object required: - name - message properties: name: type: string message: type: string BackupResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Backup' 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 BillingInfo: type: object properties: first_name: type: string example: Forrest nullable: true last_name: type: string example: Gump nullable: true email: type: string format: email example: forrest@gump.com description: 'email used for billing, and to receive all invoices by email' nullable: true address: type: string example: 21 Jenny Street nullable: true city: type: string example: Greenbow nullable: true zip: type: string example: '36744' nullable: true state: type: string example: Alabama description: only for US nullable: true country_code: type: string description: ISO code of the country example: US nullable: true company: type: string description: name of the company to bill nullable: true vat_number: type: string nullable: true BillingInfoRequest: type: object required: - first_name - last_name - email - address - zip - country_code - city properties: first_name: type: string example: Forrest last_name: type: string example: Gump email: type: string format: email example: forrest@gump.com description: 'email used for billing, and to receive all invoices by email' address: type: string example: 21 Jenny Street city: type: string example: Greenbow zip: type: string example: '36744' state: type: string example: Alabama description: only for US country_code: type: string description: ISO code of the country example: US company: type: string description: name of the company to bill vat_number: type: string BillingStatus: type: object properties: is_valid: type: boolean message: type: string BillingExternalId: type: object properties: id: type: string Budget: type: object properties: total_in_cents: type: integer example: 30000 total: type: number example: 300 currency_code: type: string example: USD BuildModeEnum: type: string enum: - DOCKER description: | `DOCKER` requires `dockerfile_path` default: DOCKER CloneEnvironmentRequest: type: object required: - name properties: name: type: string description: name is case insensitive cluster_id: type: string format: uuid mode: $ref: '#/components/schemas/EnvironmentModeEnum' apply_deployment_rule: type: boolean default: false project_id: type: string format: uuid CloneServiceRequest: type: object required: - name - environment_id properties: name: type: string environment_id: type: string format: uuid CloudProvider: type: object properties: short_name: type: string name: type: string logo_url: type: string regions: type: array items: $ref: '#/components/schemas/ClusterRegion' CloudProviderEnum: type: string enum: - AWS - SCW - GCP - ON_PREMISE - AZURE CloudProviderResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/CloudProvider' CloudVendorEnum: type: string enum: - AWS - SCW - GCP - DO - AZURE - OVH - CIVO - HETZNER - ORACLE - IBM - ON_PREMISE Cluster: allOf: - $ref: '#/components/schemas/Base' - type: object required: - organization - name - region - cloud_provider properties: organization: $ref: '#/components/schemas/ReferenceObject' name: type: string description: name is case-insensitive description: type: string region: type: string cloud_provider: $ref: '#/components/schemas/CloudVendorEnum' min_running_nodes: type: integer default: 1 max_running_nodes: type: integer default: 1 disk_size: type: integer example: 50 default: 20 description: Unit is in GB. The disk size to be used for the node configuration instance_type: type: string example: T3A_LARGE description: 'the instance type to be used for this cluster. The list of values can be retrieved via the endpoint /{CloudProvider}/instanceType' kubernetes: $ref: '#/components/schemas/KubernetesEnum' cpu: type: integer example: 10000 description: unit is millicores (m). 1000m = 1 cpu memory: type: integer example: 4096 description: unit is MB. 1024 MB = 1GB estimated_cloud_provider_cost: type: integer description: 'This is an estimation of the cost this cluster will represent on your cloud proider bill, based on your current configuration' status: $ref: '#/components/schemas/ClusterStateEnum' has_access: type: boolean version: type: string is_default: type: boolean is_demo: type: boolean description: specific flag to indicate that this cluster is a demo one production: type: boolean description: specific flag to indicate that this cluster is a production one ssh_keys: description: Indicate your public ssh_key to remotely connect to your EC2 instance. type: array items: type: string features: type: array items: $ref: '#/components/schemas/ClusterFeatureResponse' deployment_status: $ref: '#/components/schemas/ClusterDeploymentStatusEnum' metrics_parameters: $ref: '#/components/schemas/MetricsParameters' infrastructure_outputs: $ref: '#/components/schemas/InfrastructureOutputs' infrastructure_charts_parameters: $ref: '#/components/schemas/ClusterInfrastructureChartsParameters' ClusterDeleteMode: type: string description: | Indicates the mode to apply on cluster deletion **"hard delete"** means that we delete directly from our database, this is different from a **"trigger delete"** that cleans the resource - `DEFAULT`: this is the normal way, trigger delete the cluster only if no environment linked to this cluster remains - `DELETE_CLUSTER_AND_QOVERY_CONFIG`: hard delete environments linked to this cluster then trigger delete the cluster - `DELETE_QOVERY_CONFIG`: ⚠️ ⚠️ ⚠️ hard delete environments linked to this cluster then hard delete the cluster - whole cluster ressources **are not deleted** on our side and must be deleted on your side enum: - DEFAULT - DELETE_CLUSTER_AND_QOVERY_CONFIG - DELETE_QOVERY_CONFIG example: DEFAULT default: DEFAULT ClusterLogs: type: object properties: type: type: string description: log level example: info timestamp: type: string description: log date creation format: date-time example: '2022-06-22T14:20:17.733084815Z' step: description: log step example: Create type: string enum: - LoadConfiguration - Create - Created - CreateError - Pause - Paused - PauseError - Delete - Deleted - DeleteError - RetrieveClusterConfig - RetrieveClusterResources - ValidateSystemRequirements - UnderMigration - Unknown message: type: object properties: safe_message: type: string description: log global message example: Preparing to delete EKS cluster. error: type: object description: Present only for `error` log properties: tag: type: string description: log error tag example: CANNOT_UNINSTALL_HELM_CHART user_log_message: type: string description: log details about the error example: Wasn't able to delete all objects type Cert-Manager link: type: string description: link to our documentation hint_message: type: string description: hint the user can follow event_details: type: object properties: provider_kind: type: string description: cloud provider used example: aws region: type: string example: eu-west-3 transmitter: type: object properties: type: type: string example: kubernetes id: type: string example: za6ecdf3f name: type: string example: cluster-name underlying_error: type: object properties: message: type: string description: technical details about the error details: type: object description: 'Present only for `info`, `warning` and `debug` logs' properties: provider_kind: type: string description: cloud provider used example: aws region: type: string example: eu-west-3 transmitter: type: object properties: type: type: string example: kubernetes id: type: string example: za6ecdf3f name: type: string example: cluster-name ClusterCloudProviderInfo: type: object properties: cloud_provider: $ref: '#/components/schemas/CloudProviderEnum' credentials: type: object properties: id: type: string format: uuid name: type: string region: type: string ClusterCloudProviderInfoRequest: type: object properties: cloud_provider: $ref: '#/components/schemas/CloudProviderEnum' credentials: type: object properties: id: type: string format: uuid name: type: string region: type: string ClusterKarpenterPrivateSubnetIdsPutRequest: type: object properties: eks_karpenter_fargate_subnets_zone_a_ids: type: array items: type: string eks_karpenter_fargate_subnets_zone_b_ids: type: array items: type: string eks_karpenter_fargate_subnets_zone_c_ids: type: array items: type: string ClusterCredentials: oneOf: - $ref: '#/components/schemas/AwsStaticClusterCredentials' - $ref: '#/components/schemas/ScalewayClusterCredentials' - $ref: '#/components/schemas/GenericClusterCredentials' - $ref: '#/components/schemas/AwsRoleClusterCredentials' - $ref: '#/components/schemas/AzureStaticClusterCredentials' - $ref: '#/components/schemas/GcpStaticClusterCredentials' discriminator: propertyName: object_type mapping: AWS: '#/components/schemas/AwsStaticClusterCredentials' AWS_ROLE: '#/components/schemas/AwsRoleClusterCredentials' SCW: '#/components/schemas/ScalewayClusterCredentials' OTHER: '#/components/schemas/GenericClusterCredentials' AZURE: '#/components/schemas/AzureStaticClusterCredentials' GCP: '#/components/schemas/GcpStaticClusterCredentials' AwsStaticClusterCredentials: x-stoplight: id: s0aosg7la96hp title: AwsStaticClusterCredentials type: object required: - id - name - access_key_id - object_type properties: id: type: string x-stoplight: id: en79y0yc76xhp format: uuid name: type: string x-stoplight: id: mx0mwek4ubieo access_key_id: type: string x-stoplight: id: 6g20j0ggu8nqc object_type: x-stoplight: id: ravczabg8e2sp enum: - AWS AwsRoleClusterCredentials: title: AwsRoleClusterCredentials x-stoplight: id: f5c1iewg51zam type: object required: - id - name - role_arn - object_type properties: id: type: string format: uuid name: type: string role_arn: type: string x-stoplight: id: 8l5tuxflg76d2 object_type: enum: - AWS_ROLE ScalewayClusterCredentials: title: ScalewayClusterCredentials x-stoplight: id: j3ep46eyah9p5 type: object required: - id - name - scaleway_access_key - object_type - scaleway_project_id - scaleway_organization_id properties: id: type: string format: uuid name: type: string scaleway_access_key: type: string x-stoplight: id: 4db3031sq6tea object_type: enum: - SCW scaleway_project_id: type: string x-stoplight: id: 0630fqc615vg4 scaleway_organization_id: type: string x-stoplight: id: 5ui02pola5ndr GenericClusterCredentials: title: GenericClusterCredentials x-stoplight: id: gtibx4nzrvxm9 type: object required: - id - name - object_type properties: id: type: string format: uuid name: type: string object_type: enum: - OTHER ClusterCredentialsResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ClusterCredentials' ClusterFeatureResponse: type: object properties: id: type: string format: uuid title: type: string nullable: false description: type: string nullable: true cost_per_month_in_cents: type: integer example: 9900 deprecated: true nullable: true cost_per_month: type: number example: 99 deprecated: true nullable: true currency_code: type: string example: USD deprecated: true nullable: true is_cloud_provider_paying_feature: type: boolean nullable: false example: true cloud_provider_feature_documentation: type: string example: 'https://cloud.provider.doc/feature' nullable: true is_qovery_paying_feature: type: boolean nullable: false example: true qovery_feature_documentation: type: string example: 'https://qovery.doc/feature' nullable: true value_type: type: string nullable: false enum: - BOOLEAN value_object: nullable: true oneOf: - $ref: '#/components/schemas/ClusterFeatureStringResponse' - $ref: '#/components/schemas/ClusterFeatureBooleanResponse' - $ref: '#/components/schemas/ClusterFeatureAwsExistingVpcResponse' - $ref: '#/components/schemas/ClusterFeatureGcpExistingVpcResponse' - $ref: '#/components/schemas/ClusterFeatureKarpenterParametersResponse' discriminator: propertyName: type mapping: STRING: '#/components/schemas/ClusterFeatureStringResponse' BOOLEAN: '#/components/schemas/ClusterFeatureBooleanResponse' AWS_USER_PROVIDED_NETWORK: '#/components/schemas/ClusterFeatureAwsExistingVpcResponse' GCP_USER_PROVIDED_NETWORK: '#/components/schemas/ClusterFeatureGcpExistingVpcResponse' KARPENTER: '#/components/schemas/ClusterFeatureKarpenterParametersResponse' is_value_updatable: type: boolean default: false accepted_values: type: array items: oneOf: - type: string - type: boolean ClusterFeatureResponseTypeEnum: type: string enum: - STRING - BOOLEAN - AWS_USER_PROVIDED_NETWORK - GCP_USER_PROVIDED_NETWORK - KARPENTER ClusterFeatureStringResponse: type: object required: - type - value properties: type: $ref: '#/components/schemas/ClusterFeatureResponseTypeEnum' value: type: string ClusterFeatureBooleanResponse: type: object required: - type - value properties: type: $ref: '#/components/schemas/ClusterFeatureResponseTypeEnum' value: type: boolean ClusterFeatureAwsExistingVpcResponse: type: object required: - type - value properties: type: $ref: '#/components/schemas/ClusterFeatureResponseTypeEnum' value: $ref: '#/components/schemas/ClusterFeatureAwsExistingVpc' ClusterFeatureGcpExistingVpcResponse: type: object required: - type - value properties: type: $ref: '#/components/schemas/ClusterFeatureResponseTypeEnum' value: $ref: '#/components/schemas/ClusterFeatureGcpExistingVpc' ClusterFeatureAwsExistingVpc: type: object required: - aws_vpc_eks_id - eks_subnets_zone_a_ids - eks_subnets_zone_b_ids - eks_subnets_zone_c_ids properties: aws_vpc_eks_id: type: string eks_subnets_zone_a_ids: type: array items: type: string eks_subnets_zone_b_ids: type: array items: type: string eks_subnets_zone_c_ids: type: array items: type: string documentdb_subnets_zone_a_ids: type: array nullable: true items: type: string documentdb_subnets_zone_b_ids: type: array nullable: true items: type: string documentdb_subnets_zone_c_ids: type: array nullable: true items: type: string elasticache_subnets_zone_a_ids: type: array nullable: true items: type: string elasticache_subnets_zone_b_ids: type: array nullable: true items: type: string elasticache_subnets_zone_c_ids: type: array nullable: true items: type: string rds_subnets_zone_a_ids: type: array nullable: true items: type: string rds_subnets_zone_b_ids: type: array nullable: true items: type: string rds_subnets_zone_c_ids: type: array nullable: true items: type: string eks_karpenter_fargate_subnets_zone_a_ids: type: array x-stoplight: id: 8rttrya00wmkr nullable: true items: x-stoplight: id: rtxx96v011irr type: string eks_karpenter_fargate_subnets_zone_b_ids: type: array x-stoplight: id: xnbtr8676culs nullable: true items: x-stoplight: id: 1w592qk4spodn type: string eks_karpenter_fargate_subnets_zone_c_ids: type: array x-stoplight: id: st5domzqqkcoh nullable: true items: x-stoplight: id: xyjjh50ckrzee type: string ClusterFeatureGcpExistingVpc: type: object required: - vpc_name properties: vpc_name: type: string vpc_project_id: type: string nullable: true subnetwork_name: type: string nullable: true ip_range_services_name: type: string nullable: true ip_range_pods_name: type: string nullable: true additional_ip_range_pods_names: type: array items: type: string ClusterFeatureResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ClusterFeatureResponse' ClusterInstanceTypeResponseList: type: object properties: results: type: array items: type: object required: - type - name - cpu - ram_in_gb - bandwidth_in_gbps - bandwidth_guarantee properties: type: type: string example: T3A_XLARGE name: type: string example: t3a.xlarge cpu: type: integer example: 2 ram_in_gb: type: integer example: 8 bandwidth_in_gbps: type: string example: '5.2' bandwidth_guarantee: type: string example: UpTo architecture: type: string example: ARM64 gpu_info: $ref: '#/components/schemas/ClusterInstanceGpuInfo' attributes: $ref: '#/components/schemas/ClusterInstanceAttributes' ClusterReadinessStatus: type: object properties: is_ready: type: boolean ClusterRegion: type: object required: - name - country_code - country - city properties: name: type: string country_code: type: string country: type: string city: type: string ClusterRegionResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ClusterRegion' ClusterRequest: type: object required: - name - region - cloud_provider properties: name: type: string description: name is case-insensitive description: type: string region: type: string cloud_provider: $ref: '#/components/schemas/CloudVendorEnum' cloud_provider_credentials: $ref: '#/components/schemas/ClusterCloudProviderInfoRequest' min_running_nodes: type: integer default: 1 max_running_nodes: type: integer default: 1 disk_size: type: integer example: 50 default: 40 description: Unit is in GB. The disk size to be used for the node configuration instance_type: type: string example: T3A_LARGE description: 'the instance type to be used for this cluster. The list of values can be retrieved via the endpoint /{CloudProvider}/instanceType' kubernetes: $ref: '#/components/schemas/KubernetesEnum' production: type: boolean description: specific flag to indicate that this cluster is a production one ssh_keys: description: Indicate your public ssh_key to remotely connect to your EC2 instance. type: array items: type: string features: type: array items: type: object properties: id: type: string format: uuid nullable: false value: nullable: true oneOf: - type: string - type: boolean - $ref: '#/components/schemas/ClusterFeatureAwsExistingVpc' - $ref: '#/components/schemas/ClusterFeatureGcpExistingVpc' - $ref: '#/components/schemas/ClusterFeatureKarpenterParameters' metrics_parameters: $ref: '#/components/schemas/MetricsParameters' infrastructure_charts_parameters: $ref: '#/components/schemas/ClusterInfrastructureChartsParameters' ClusterResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Cluster' ClusterLogsResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ClusterLogs' ClusterRoutingTable: type: object properties: results: type: array items: type: object required: - destination - target - description properties: destination: type: string target: type: string description: type: string ClusterRoutingTableRequest: type: object required: - routes properties: routes: type: array items: type: object required: - destination - target - description properties: destination: type: string target: type: string description: type: string ClusterStatus: type: object properties: cluster_id: type: string format: uuid status: $ref: '#/components/schemas/ClusterStateEnum' is_deployed: type: boolean next_k8s_available_version: type: string nullable: true example: '1.28' last_execution_id: type: string example: f73e3833-922a-48a5-9dbd-6163f43f9143-1656410242 cluster_lock: $ref: '#/components/schemas/ClusterLock' last_deployment_date: type: string format: date-time example: '2022-06-22T14:20:17.733084815Z' ClusterStatusResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ClusterStatus' ClusterAdvancedSettings: type: object properties: aws.cloudwatch.eks_logs_retention_days: type: integer description: Set the number of retention days for EKS Cloudwatch logs aws.vpc.enable_s3_flow_logs: type: boolean description: Enable flow logs for on the VPC and store them in an S3 bucket aws.vpc.flow_logs_retention_days: type: integer description: Set the number of retention days for flow logs. Disable with value "0" loki.log_retention_in_week: type: integer description: For how long in week loki is going to keep logs of your applications registry.image_retention_time: type: integer description: Configure the number of seconds before cleaning images in the registry cloud_provider.container_registry.tags: type: object description: Add additional tags on the cluster dedicated registry additionalProperties: type: string aws.eks.enable_alb_controller: type: boolean x-stoplight: id: m2nc6klof8mvh default: true description: |- Enable the AWS ALB controller to manage the load balancer for the cluster. Note: Changing this feature will create a 10 min max downtime on your application's public access (time to delete, replace and propagate DNS of the new load balancer) and will requiere to update all services with TCP/UDP open ports. load_balancer.size: type: string description: Select the size of the main load_balancer (only effective for Scaleway) database.postgresql.deny_any_access: type: boolean description: Deny public access to any PostgreSQL database x-stoplight: id: zltwd7w7mxld8 database.postgresql.allowed_cidrs: type: array description: List of CIDRs allowed to access the PostgreSQL database items: type: string database.mysql.deny_any_access: type: boolean description: Deny public access to any MySql database x-stoplight: id: kst5exbae6ory database.mysql.allowed_cidrs: type: array description: List of CIDRs allowed to access the MySql database items: type: string database.mongodb.deny_any_access: type: boolean description: Deny public access to any MongoDB/DocumentDB database x-stoplight: id: nc66h7gqz809g database.mongodb.allowed_cidrs: type: array description: List of CIDRs allowed to access the MongoDB/DocumentDB database items: type: string database.redis.deny_any_access: type: boolean description: Deny public access to any Redis database x-stoplight: id: djo0khm8r7gdy database.redis.allowed_cidrs: type: array description: List of CIDRs allowed to access the Redis database items: type: string aws.iam.admin_group: type: string description: AWS IAM group name with cluster access aws.eks.ec2.metadata_imds: type: string enum: - optional - required description: | Specify the [IMDS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) version you want to use: * `required`: IMDS V2 only * `optional`: IMDS V1 + V2 pleco.resources_ttl: type: integer deprecated: true registry.mirroring_mode: $ref: '#/components/schemas/RegistryMirroringModeEnum' nginx.vcpu.request_in_milli_cpu: type: integer description: vcpu request in millicores nginx.vcpu.limit_in_milli_cpu: type: integer description: vcpu limit in millicores nginx.memory.request_in_mib: type: integer description: memory request in MiB nginx.memory.limit_in_mib: type: integer description: memory limit in MiB nginx.hpa.cpu_utilization_percentage_threshold: type: integer description: hpa cpu threshold in percentage nginx.hpa.min_number_instances: type: integer description: hpa minimum number of instances nginx.hpa.max_number_instances: type: integer description: hpa maximum number of instances storageclass.fast_ssd: type: string description: storage class name to use to provision pvc qovery.static_ip_mode: type: boolean x-stoplight: id: i7u9vjd0o89g8 description: |- To limit public access from the internet to your Kubernetes cluster endpoint. You can define whitelisted CIDR in k8s.api.allowed_public_access_cidrs. k8s.api.allowed_public_access_cidrs: type: array x-stoplight: id: w7d7zyd1de9n6 description: |- Set custom sources to public access endpoint. Use CIDR notation to specify an IP address range (for example, ['203.0.113.5/32','203.0.100/32']) items: x-stoplight: id: v8r1f6alk5abp type: string 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 CommitResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Commit' CompanySizeEnum: type: string enum: - 1-10 - 11-50 - 51-200 - 201-500 - 500+ ContainerAdvancedSettings: 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.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 network.ingress.proxy_body_size_mb: type: integer network.ingress.force_ssl_redirect: type: boolean x-stoplight: id: xrdjy3znm8mpg 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-buffering` network.ingress.proxy_request_buffering: type: string description: Allows to enable or disable nginx `proxy-request-buffering` 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.whitelist_source_range: type: string description: | list of source ranges to allow access to ingress proxy. This property can be used to whitelist source IP ranges for ingress proxy. The value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1 To allow all source ranges, set 0.0.0.0/0. network.ingress.denylist_source_range: type: string description: | list of source ranges to deny access to ingress proxy. This property can be used to blacklist source IP ranges for ingress proxy. The value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1 network.ingress.extra_headers: type: string description: Allows to define response headers example: '{"X-Frame-Options":"DENY ","X-Content-Type-Options":"nosniff"}' 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. You can add multiples comma separated values. 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 security.service_account_name: type: string description: | Allows you to set an existing Kubernetes service account name hpa.cpu.average_utilization_percent: type: integer description: Percentage value of cpu usage at which point pods should scale up. 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 ContainerNetwork: type: object properties: sticky_session: type: boolean description: | Specify if the sticky session option (also called persistant session) is activated or not for this container. If activated, user will be redirected by the load balancer to the same instance each time he access to the container. default: false ContainerNetworkRequest: type: object properties: sticky_session: type: boolean description: | Specify if the sticky session option (also called persistant session) is activated or not for this container. If activated, user will be redirected by the load balancer to the same instance each time he access to the container. default: false ContainerDeployRequest: type: object required: - image_tag properties: image_tag: type: string description: Image tag to deploy ContainerRegistryKindEnum: type: string enum: - ECR - SCALEWAY_CR - DOCKER_HUB - GITHUB_CR - GITHUB_ENTERPRISE_CR - GITLAB_CR - PUBLIC_ECR - DOCR - GENERIC_CR - GCP_ARTIFACT_REGISTRY - AZURE_CR description: The type of your container registry HelmRepositoryKindEnum: type: string enum: - HTTPS - OCI_ECR - OCI_SCALEWAY_CR - OCI_DOCKER_HUB - OCI_PUBLIC_ECR - OCI_GENERIC_CR - OCI_GITHUB_CR - OCI_GITLAB_CR description: The type of your helm repository ContainerRegistryRequest: type: object required: - name - kind - config properties: name: type: string kind: $ref: '#/components/schemas/ContainerRegistryKindEnum' description: type: string url: type: string format: uri description: | URL of the container registry: * For `DOCKER_HUB`: it must be `https://docker.io` (default with 'https://docker.io' if no url provided for `DOCKER_HUB`) * For `GITHUB_CR`: it must be `https://ghcr.io` (default with 'https://ghcr.io' if no url provided for `GITHUB_CR`) * For `GITLAB_CR`: it must be `https://registry.gitlab.com` (default with 'https://registry.gitlab.com' if no url provided for `GITLAB_CR`) * For others: it's required and must start by `https://` config: type: object description: | This field is dependent of the container registry kind: * `ECR` needs in the config: region, access_key_id, secret_access_key * `SCALEWAY_CR` needs in the config: region, scaleway_access_key, scaleway_secret_key * `GCP_ARTIFACT_REGISTRY` needs in the config: region, json_credentials * `DOCKER_HUB` needs in the config (optional): username, password * `GITHUB_CR` needs in the config (optional): username, password * `GITLAB_CR` needs in the config (optional): username, password * `PUBLIC_ECR` doesn't need credentials info * `GENERIC_CR` needs in the config (optional): username, password * `DOCR` is not supported anymore properties: access_key_id: type: string description: Required if kind is `ECR` or `PUBLIC_ECR` secret_access_key: type: string description: Required if kind is `ECR` or `PUBLIC_ECR` region: type: string description: Required if kind is `ECR` or `SCALEWAY_CR` scaleway_access_key: type: string description: Required if kind is `SCALEWAY_CR` scaleway_secret_key: type: string description: Required if kind is `SCALEWAY_CR` scaleway_project_id: type: string x-stoplight: id: eomu5mjvhi6uu description: Required if kind is `SCALEWAY_CR` json_credentials: type: string description: Required if kind is `GCP_ARTIFACT_REGISTRY` username: type: string description: | optional, for kind `DOCKER_HUB` We encourage you to set credentials for Docker Hub due to the limits on the pull rate password: type: string description: | optional, for kind `DOCKER_HUB` We encourage you to set credentials for Docker Hub due to the limits on the pull rate role_arn: type: string x-stoplight: id: mzi9w1zsswj47 description: 'For ECR, you can either set a static access_key or use a role arn that we are going to assume' azure_tenant_id: type: string x-stoplight: id: zjybtgippp0k2 description: Required if kind is `AZURE_CR`. azure_subscription_id: type: string x-stoplight: id: eaqm4swmqt9ty description: Required if kind is `AZURE_CR`. ContainerRegistryResponse: allOf: - $ref: '#/components/schemas/Base' - type: object properties: name: type: string kind: $ref: '#/components/schemas/ContainerRegistryKindEnum' description: type: string url: type: string description: URL of the container registry cluster: type: object required: - id - name properties: id: type: string x-stoplight: id: y0l22s5yhh4ez format: uuid name: type: string x-stoplight: id: 5jak2m85ljxaa associated_services_count: type: integer x-stoplight: id: 02mqr04rogfem description: The number of services using this container registry config: type: object x-stoplight: id: s9rg5wox9j00z properties: username: type: string x-stoplight: id: 9g2hk57o11s8k region: type: string x-stoplight: id: fo0nnlsnrdn0k scaleway_access_key: type: string x-stoplight: id: fdb55y4vnpndk scaleway_project_id: type: string x-stoplight: id: ra9oc489c2wyt access_key_id: type: string x-stoplight: id: s5elye0gv4lks role_arn: type: string x-stoplight: id: iusxfgcmg72tl azure_tenant_id: type: string x-stoplight: id: obk7v9hlx3jv4 azure_subscription_id: type: string x-stoplight: id: nrvn3j8xq81da azure_application_id: type: string x-stoplight: id: t4jvfihz1ml04 azure_application_object_id: type: string x-stoplight: id: 2soynl0stz0lh ContainerRegistryProviderDetailsResponse: type: object required: - id - name - url - kind properties: id: type: string format: uuid name: type: string url: type: string description: URL of the container registry kind: $ref: '#/components/schemas/ContainerRegistryKindEnum' ContainerRegistryResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ContainerRegistryResponse' ContainerVersionResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ContainerVersionResponse' HelmRepositoryResponse: allOf: - $ref: '#/components/schemas/Base' - type: object required: - name properties: name: type: string kind: $ref: '#/components/schemas/HelmRepositoryKindEnum' description: type: string url: type: string description: URL of the helm repository skip_tls_verification: type: boolean description: Bypass tls certificate verification when connecting to repository associated_services_count: type: integer x-stoplight: id: 287g4iunwmf2d description: The number of services using this helm repository config: type: object x-stoplight: id: 224az7um9x51z properties: username: type: string x-stoplight: id: 6xxbs3971acz5 region: type: string x-stoplight: id: pvi5oq9omlae8 access_key_id: type: string x-stoplight: id: 9tdfunoniwzed scaleway_access_key: type: string x-stoplight: id: pyfdpz1vk4qq1 scaleway_project_id: type: string x-stoplight: id: kbrcr9377ly0q azure_tenant_id: type: string x-stoplight: id: yd92ly1zmep1u azure_subscription_id: type: string x-stoplight: id: rs3gk07qe1oy1 ContainerVersionResponse: type: object properties: image_name: type: string versions: type: array items: type: string HelmRepositoryRequest: type: object required: - name - kind - skip_tls_verification - config properties: name: type: string kind: $ref: '#/components/schemas/HelmRepositoryKindEnum' description: type: string url: type: string format: uri description: | URL of the helm chart repository: * For `OCI`: it must start by oci:// * For `HTTPS`: it must be start by https:// skip_tls_verification: type: boolean description: Bypass tls certificate verification when connecting to repository config: type: object properties: username: type: string description: Required if the repository is private password: type: string description: Required if the repository is private access_key_id: type: string description: Required if kind is `ECR` or `PUBLIC_ECR` secret_access_key: type: string description: Required if kind is `ECR` or `PUBLIC_ECR` region: type: string description: Required if kind is `ECR` or `SCALEWAY_CR` scaleway_access_key: type: string description: Required if kind is `SCALEWAY_CR` scaleway_secret_key: type: string description: Required if kind is `SCALEWAY_CR` scaleway_project_id: type: string x-stoplight: id: 9dw16j7cex4i6 description: Required if kind is `SCALEWAY_CR` azure_tenant_id: type: string x-stoplight: id: dxxkwv9xyo1zq description: Required if kind is `AZURE_CR`. azure_subscription_id: type: string x-stoplight: id: rboo4bgsvgfco description: Required if kind is `AZURE_CR`. HelmVersionResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/HelmVersionResponse' HelmVersionResponse: type: object properties: chart_name: type: string versions: type: array items: type: string HelmRepositoryResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/HelmRepositoryResponse' ContainerRequest: allOf: - $ref: '#/components/schemas/ServiceStorageRequest' - $ref: '#/components/schemas/ServicePortRequest' - type: object required: - name - registry_id - image_name - tag - healthchecks properties: name: type: string description: name is case insensitive description: type: string description: give a description to this container registry_id: type: string description: id of the linked registry image_name: type: string description: | The image name pattern differs according to chosen container registry provider: * `ECR`: `repository` * `SCALEWAY_CR`: `namespace/image` * `DOCKER_HUB`: `image` or `repository/image` * `PUBLIC_ECR`: `registry_alias/repository` tag: type: string description: tag of the image container arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container 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: j1i1u2mlnlgfm minimum: 0 default: 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 container 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: | Indicates if the 'environment preview option' is enabled for this container. If enabled, a preview environment will be automatically cloned when `/preview` endpoint is called. If not specified, it takes the value of the `auto_preview` property from the associated environment. auto_deploy: type: boolean description: | Specify if the container will be automatically updated after receiving a new image tag. The new image tag shall be communicated via the "Auto Deploy container" endpoint https://api-doc.qovery.com/#tag/Containers/operation/autoDeployContainerEnvironments nullable: true annotations_groups: $ref: '#/components/schemas/ServiceAnnotationsRequestList' labels_groups: $ref: '#/components/schemas/ServiceLabelsRequestList' icon_uri: type: string format: uri description: Icon URI representing the container. x-stoplight: id: jiypvl6nd63dm ContainerResponse: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/ServiceStorage' - $ref: '#/components/schemas/ContainerSource' - type: object required: - environment - maximum_cpu - maximum_memory - maximum_gpu - name - cpu - memory - gpu - min_running_instances - max_running_instances - healthchecks - auto_preview - icon_uri - service_type properties: environment: $ref: '#/components/schemas/ReferenceObject' maximum_cpu: type: integer description: Maximum cpu that can be allocated to the container based on organization cluster configuration. unit is millicores (m). 1000m = 1 cpu example: 16000 maximum_memory: type: integer description: Maximum memory that can be allocated to the container based on organization cluster configuration. unit is MB. 1024 MB = 1GB example: 16384 maximum_gpu: type: integer description: Maximum memory that can be allocated to the container based on organization cluster configuration. unit is MB. 1024 MB = 1GB x-stoplight: id: zdw9ry7s5s0e8 minimum: 0 default: 0 example: 2 name: type: string description: name is case insensitive description: type: string description: give a description to this container arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container cpu: type: integer description: unit is millicores (m). 1000m = 1 cpu example: 1250 memory: type: integer description: unit is MB. 1024 MB = 1GB example: 1024 gpu: type: integer x-stoplight: id: qthonnmak3re3 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 container 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: | Indicates if the 'environment preview option' is enabled for this container. If enabled, a preview environment will be automatically cloned when `/preview` endpoint is called. If not specified, it takes the value of the `auto_preview` property from the associated environment. ports: $ref: '#/components/schemas/ServicePortResponseList' auto_deploy: type: boolean description: | Specify if the container will be automatically updated after receiving a new image tag. The new image tag shall be communicated via the "Auto Deploy container" endpoint https://api-doc.qovery.com/#tag/Containers/operation/autoDeployContainerEnvironments annotations_groups: $ref: '#/components/schemas/OrganizationAnnotationsGroupResponseList' labels_groups: $ref: '#/components/schemas/OrganizationLabelsGroupResponseList' icon_uri: type: string format: uri description: Icon URI representing the container. x-stoplight: id: o2bdci7ak3bmz service_type: $ref: '#/components/schemas/ServiceTypeEnum' ContainerResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ContainerResponse' ContainerSource: type: object required: - image_name - tag - registry properties: image_name: type: string description: | The image name pattern differs according to chosen container registry provider: * `ECR`: `repository` * `SCALEWAY_CR`: `namespace/image` * `DOCKER_HUB`: `image` or `repository/image` * `PUBLIC_ECR`: `registry_alias/repository` tag: type: string description: tag of the image container registry_id: type: string description: tag of the image container registry: $ref: '#/components/schemas/ContainerRegistryProviderDetailsResponse' Cost: type: object required: - total_in_cents - total - currency_code properties: total_in_cents: type: integer example: 30000 total: type: number example: 300 currency_code: type: string example: USD CostRange: type: object required: - total_in_cents - total - currency_code properties: min_cost_in_cents: type: integer example: 15000 min_cost: type: number example: 150 max_cost_in_cents: type: integer example: 30000 max_cost: type: number example: 300 currency_code: type: string example: USD Credentials: type: object required: - host - port - login - password properties: host: type: string port: type: integer login: type: string password: type: string CredentialsRequest: type: object required: - login - password properties: login: type: string password: type: string CreditCard: type: object required: - id - created_at - expiry_month - expiry_year - last_digit - is_expired - brand properties: id: type: string format: uuid created_at: type: string format: date-time expiry_month: type: integer example: 6 expiry_year: type: integer example: 2025 last_digit: type: string example: '7890' is_expired: type: boolean brand: type: string CreditCardRequest: type: object required: - number - cvv - expiry_month - expiry_year properties: number: type: string cvv: type: string expiry_month: type: integer example: 6 expiry_year: type: integer example: 2025 CreditCardResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/CreditCard' CurrentCost: type: object properties: plan: $ref: '#/components/schemas/PlanEnum' remaining_trial_day: type: integer description: number of days remaining before the end of the trial period renewal_at: type: string description: date when the current plan will be renewed readOnly: true nullable: true format: date-time cost: $ref: '#/components/schemas/Cost' CustomDomain: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/CustomDomainRequest' - type: object properties: validation_domain: type: string description: URL provided by Qovery. You must create a CNAME on your DNS provider using that URL status: $ref: '#/components/schemas/CustomDomainStatusEnum' generate_certificate: type: boolean description: to control if a certificate has to be generated for this custom domain by Qovery. The default value is `true`. This flag should be set to `false` if a CDN or other entities are managing the certificate for the specified domain and the traffic is proxied by the CDN to Qovery. use_cdn: type: boolean description: | Indicates if the custom domain is behind a CDN (i.e Cloudflare). This will condition the way we are checking CNAME before & during a deployment: * If `true` then we only check the domain points to an IP * If `false` then we check that the domain resolves to the correct service Load Balancer CustomDomainRequest: type: object required: - domain - generate_certificate properties: domain: type: string description: your custom domain example: my.domain.tld generate_certificate: type: boolean description: to control if a certificate has to be generated for this custom domain by Qovery. The default value is `true`. This flag should be set to `false` if a CDN or other entities are managing the certificate for the specified domain and the traffic is proxied by the CDN to Qovery. use_cdn: type: boolean description: | Indicates if the custom domain is behind a CDN (i.e Cloudflare). This will condition the way we are checking CNAME before & during a deployment: * If `true` then we only check the domain points to an IP * If `false` then we check that the domain resolves to the correct service Load Balancer CustomDomainResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/CustomDomain' CustomDomainStatusEnum: type: string enum: - VALIDATION_PENDING example: VALIDATION_PENDING Database: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/DatabaseRequest' - type: object required: - environment - icon_uri - service_type properties: environment: $ref: '#/components/schemas/ReferenceObject' host: type: string port: type: integer example: 5432 maximum_cpu: type: integer description: Maximum cpu that can be allocated to the database based on organization cluster configuration. unit is millicores (m). 1000m = 1 cpu example: 1250 maximum_memory: type: integer description: Maximum memory that can be allocated to the database based on organization cluster configuration. unit is MB. 1024 MB = 1GB example: 1024 disk_encrypted: type: boolean description: indicates if the database disk is encrypted or not instance_type: type: string example: db.t3.medium description: 'Database instance type to be used for this database. The list of values can be retrieved via the endpoint /{CloudProvider}/managedDatabase/instanceType/{region}/{dbType}. This field is null for container DB.' annotations_groups: $ref: '#/components/schemas/OrganizationAnnotationsGroupResponseList' labels_groups: $ref: '#/components/schemas/OrganizationLabelsGroupResponseList' icon_uri: type: string format: uri description: Icon URI representing the database. service_type: $ref: '#/components/schemas/ServiceTypeEnum' DatabaseAccessibilityEnum: type: string default: PRIVATE enum: - PRIVATE - PUBLIC DatabaseConfiguration: type: object properties: database_type: $ref: '#/components/schemas/DatabaseTypeEnum' version: type: array items: $ref: '#/components/schemas/DatabaseVersionMode' DatabaseConfigurationResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/DatabaseConfiguration' DatabaseEditRequest: type: object properties: name: type: string description: name is case-insensitive description: type: string description: give a description to this database version: type: string example: '10.1' accessibility: $ref: '#/components/schemas/DatabaseAccessibilityEnum' cpu: type: integer description: | unit is millicores (m). 1000m = 1 cpu. This field will be ignored for managed DB (instance type will be used instead). default: 250 example: 1250 memory: type: integer description: | unit is MB. 1024 MB = 1GB This field will be ignored for managed DB (instance type will be used instead). Default value is linked to the database type: - MANAGED: 100 - CONTAINER - POSTGRES: 100 - REDIS: 100 - MYSQL: 512 - MONGODB: 256 example: 1024 storage: type: integer description: unit is GB example: 4 instance_type: type: string example: db.t3.medium description: 'Database instance type to be used for this database. The list of values can be retrieved via the endpoint /{CloudProvider}/managedDatabase/instanceType/{region}/{dbType}. This field SHOULD NOT be set for container DB.' annotations_groups: $ref: '#/components/schemas/ServiceAnnotationsRequestList' labels_groups: $ref: '#/components/schemas/ServiceLabelsRequestList' icon_uri: type: string format: uri description: Icon URI representing the database. DatabaseModeEnum: type: string enum: - CONTAINER - MANAGED DatabaseRequest: type: object required: - name - type - version - mode properties: name: type: string description: name is case insensitive description: type: string description: give a description to this database type: $ref: '#/components/schemas/DatabaseTypeEnum' version: type: string example: '10.1' mode: $ref: '#/components/schemas/DatabaseModeEnum' accessibility: $ref: '#/components/schemas/DatabaseAccessibilityEnum' cpu: type: integer description: | unit is millicores (m). 1000m = 1 cpu This field will be ignored for managed DB (instance type will be used instead). default: 250 example: 1250 instance_type: type: string example: db.t3.medium description: 'Database instance type to be used for this database. The list of values can be retrieved via the endpoint /{CloudProvider}/managedDatabase/instanceType/{region}/{dbType}. This field SHOULD NOT be set for container DB.' memory: type: integer description: | unit is MB. 1024 MB = 1GB This field will be ignored for managed DB (instance type will be used instead). Default value is linked to the database type: - MANAGED: `100` - CONTAINER - POSTGRES: `100` - REDIS: `100` - MYSQL: `512` - MONGODB: `256` example: 1024 storage: type: integer description: unit is GB default: 10 annotations_groups: $ref: '#/components/schemas/ServiceAnnotationsRequestList' labels_groups: $ref: '#/components/schemas/ServiceLabelsRequestList' icon_uri: type: string format: uri description: Icon URI representing the database. x-stoplight: id: ls6yevnhskd5y DatabaseResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Database' DatabaseTypeEnum: type: string enum: - MONGODB - MYSQL - POSTGRESQL - REDIS DatabaseVersionMode: type: object properties: name: type: string example: '10.1' supported_mode: $ref: '#/components/schemas/DatabaseModeEnum' DeployAllRequest: type: object properties: applications: type: array items: type: object required: - application_id properties: application_id: type: string format: uuid description: id of the application to be deployed. git_commit_id: type: string description: Commit ID to deploy. Can be empty only if the service has been already deployed (in this case the service version won't be changed) databases: type: array items: type: string format: uuid containers: type: array items: type: object required: - id properties: id: type: string format: uuid description: id of the container to be updated. image_tag: type: string description: new tag for the container. Can be empty only if the service has been already deployed (in this case the service version won't be changed) jobs: type: array items: type: object properties: id: type: string format: uuid description: id of the job to be updated. image_tag: type: string description: new tag for the job image. Use only if job is an image source. Can be empty only if the service has been already deployed (in this case the service version won't be changed) git_commit_id: type: string description: Commit ID to deploy. Use only if job is a repository source. Can be empty only if the service has been already deployed (in this case the service version won't be changed) helms: type: array items: type: object properties: id: type: string format: uuid description: id of the helm to be updated. chart_version: type: string description: The new chart version for the Helm source. Use this only if the helm has a Helm repository source. git_commit_id: type: string description: The commit Id to deploy. Use this only if the helm has a Git repository source. values_override_git_commit_id: type: string description: The commit Id of the override values to deploy. Use only if the helm has a Git override values repository. terraforms: type: array items: $ref: '#/components/schemas/TerraformDeployRequest' DeployRequest: type: object required: - git_commit_id properties: git_commit_id: type: string description: Commit ID to deploy DeploymentHistory: allOf: - $ref: '#/components/schemas/Base' - type: object properties: name: type: string description: name of the service commit: $ref: '#/components/schemas/Commit' status: $ref: '#/components/schemas/DeploymentHistoryStatusEnum' DeploymentHistoryTriggerAction: x-stoplight: id: 1hzy6riqo7lq4 enum: - DEPLOY - DELETE - RESTART - STOP - UNKNOWN - UNINSTALL DeploymentHistoryApplication: allOf: - $ref: '#/components/schemas/Base' - type: object properties: name: type: string commit: $ref: '#/components/schemas/Commit' status: $ref: '#/components/schemas/StateEnum' DeploymentHistoryDatabase: allOf: - $ref: '#/components/schemas/Base' - type: object properties: name: type: string description: name of the service status: $ref: '#/components/schemas/StateEnum' DeploymentHistoryAuditingData: x-stoplight: id: 5oovmby4u1mxw type: object required: - created_at - updated_at - triggered_by properties: created_at: type: string x-stoplight: id: e1idlr92680lb format: date-time updated_at: type: string x-stoplight: id: mz8yet1k3voef format: date-time triggered_by: type: string x-stoplight: id: hf405wx2g73py origin: $ref: '#/components/schemas/OrganizationEventOrigin' DeploymentHistoryContainer: allOf: - $ref: '#/components/schemas/Base' - type: object properties: name: type: string description: name of the container status: $ref: '#/components/schemas/StateEnum' image_name: type: string tag: type: string arguments: type: array items: type: string entrypoint: type: string DeploymentHistoryEnvironment: allOf: - $ref: '#/components/schemas/Base' - type: object properties: status: $ref: '#/components/schemas/StateEnum' origin: $ref: '#/components/schemas/OrganizationEventOrigin' triggered_by: type: string applications: type: array items: $ref: '#/components/schemas/DeploymentHistoryApplication' containers: type: array items: $ref: '#/components/schemas/DeploymentHistoryContainer' databases: type: array items: $ref: '#/components/schemas/DeploymentHistoryDatabase' jobs: type: array items: $ref: '#/components/schemas/DeploymentHistoryJobResponse' helms: type: array items: $ref: '#/components/schemas/DeploymentHistoryHelmResponse' DeploymentHistoryEnvironmentV2: x-stoplight: id: j6o3qzzhhu0me type: object required: - identifier - auditing_data - status - trigger_action - total_duration - stages - action_status properties: identifier: type: object x-stoplight: id: cpv6dbyt9dng2 required: - execution_id - environment_id properties: execution_id: type: string x-stoplight: id: 6psngtbgz1bub environment_id: type: string x-stoplight: id: 6o54s8cbk0lo6 format: uuid auditing_data: $ref: '#/components/schemas/DeploymentHistoryAuditingData' status: $ref: '#/components/schemas/StateEnum' trigger_action: $ref: '#/components/schemas/DeploymentHistoryTriggerAction' total_duration: type: string x-stoplight: id: 3qptomnr4oly4 format: duration stages: type: array x-stoplight: id: rz2b0h9r3p6tv items: $ref: '#/components/schemas/DeploymentHistoryStage' action_status: $ref: '#/components/schemas/DeploymentHistoryActionStatus' DeploymentHistoryStage: type: object x-stoplight: id: crvf2cbwrvxyh required: - name - status - duration - services properties: name: type: string x-stoplight: id: e1fv4x2xo0wo0 status: $ref: '#/components/schemas/StageStatusEnum' duration: type: string x-stoplight: id: mdqlsz36jtl4j format: duration services: type: array x-stoplight: id: sel4jtb8tbjwz items: $ref: '#/components/schemas/DeploymentHistoryService' JobLifecyleSchedule: type: object x-stoplight: id: nbir5gxiux1ei required: - arguments properties: arguments: type: array x-stoplight: id: wj3fkami4h2b7 items: x-stoplight: id: 4a4sqxpll8vlc type: string entrypoint: type: string x-stoplight: id: 951clotz2i2na JobCronSchedule: type: object x-stoplight: id: y5hby49m8v5zc required: - arguments - scheduled_at - timezone properties: arguments: type: array items: type: string entrypoint: type: string scheduled_at: type: string x-stoplight: id: a5x1s5kc53r1v timezone: type: string x-stoplight: id: btav5l3tp9w3l DeploymentHistoryService: type: object x-stoplight: id: 316ilxlmws82a required: - identifier - status - auditing_data - details - icon_uri - status_details properties: identifier: type: object x-stoplight: id: yklp44eea5vaq required: - name - service_id - service_type properties: name: type: string x-stoplight: id: h0xxiocxiusqw service_id: type: string x-stoplight: id: 0hb95ufaj9z82 format: uuid service_type: $ref: '#/components/schemas/ServiceTypeEnum' execution_id: type: string x-stoplight: id: 9ww6nh5lrwg37 status: $ref: '#/components/schemas/StateEnum' auditing_data: $ref: '#/components/schemas/DeploymentHistoryAuditingData' details: $ref: '#/components/schemas/DeploymentHistoryServiceDetails' status_details: $ref: '#/components/schemas/StatusDetails' icon_uri: type: string x-stoplight: id: 3418v53rx3mn9 format: uri total_duration: type: string x-stoplight: id: adofwhd0bgwuw format: duration DeploymentHistoryServiceDetails: x-stoplight: id: vx9hzryfyv7sb oneOf: - description: ApplicationDeploymentHistoryData type: object required: - commit properties: commit: $ref: '#/components/schemas/Commit' - description: ContainerDeploymentHistoryData type: object required: - image_name - tag - arguments properties: image_name: type: string tag: type: string arguments: type: array items: type: string entrypoint: type: string - description: JobDeploymentHistoryDetails type: object required: - image_name - tag - job_type properties: image_name: type: string tag: type: string commit: $ref: '#/components/schemas/Commit' schedule: type: object properties: on_start: $ref: '#/components/schemas/JobLifecyleSchedule' on_stop: $ref: '#/components/schemas/JobLifecyleSchedule' on_delete: $ref: '#/components/schemas/JobLifecyleSchedule' cron_job: $ref: '#/components/schemas/JobCronSchedule' lifecycle_type: $ref: '#/components/schemas/JobLifecycleTypeEnum' job_type: x-stoplight: id: tz8apy1pqi9c5 enum: - CRON - LIFECYCLE - description: HelmDeploymentHistoryDetails type: object properties: commit: $ref: '#/components/schemas/Commit' repository: type: object properties: chart_name: type: string chart_version: type: string type: object DeploymentHistoryEnvironmentPaginatedResponseList: allOf: - $ref: '#/components/schemas/PaginationData' - type: object properties: results: type: array items: $ref: '#/components/schemas/DeploymentHistoryEnvironment' DeploymentHistoryEnvironmentPaginatedResponseListV2: allOf: - $ref: '#/components/schemas/PaginationData' - type: object properties: results: type: array items: $ref: '#/components/schemas/DeploymentHistoryEnvironmentV2' x-stoplight: id: 0anfgzdi689ht DeploymentHistoryServicePaginatedResponseListV2: allOf: - $ref: '#/components/schemas/PaginationData' - type: object properties: results: type: array items: $ref: '#/components/schemas/DeploymentHistoryService' x-stoplight: id: e2g667def2r2z DeploymentHistoryPaginatedResponseList: allOf: - $ref: '#/components/schemas/PaginationData' - type: object properties: results: type: array items: $ref: '#/components/schemas/DeploymentHistory' DeploymentHistoryStatusEnum: type: string enum: - FAILED - SUCCESS DeploymentRestrictionModeEnum: type: string description: Match mode will rebuild app only if specified items are updated. Exclude mode will not rebuild app if specified items are updated. enum: - EXCLUDE - MATCH example: MATCH DeploymentRestrictionTypeEnum: type: string enum: - PATH example: PATH Environment: allOf: - $ref: '#/components/schemas/Base' - type: object required: - name - cloud_provider - mode - cluster_id - project - organization properties: name: type: string description: name is case insensitive organization: $ref: '#/components/schemas/ReferenceObject' project: $ref: '#/components/schemas/ReferenceObject' last_updated_by: type: string format: uuid description: uuid of the user that made the last update cloud_provider: type: object properties: provider: type: string example: aws cluster: type: string example: us-east-2 mode: $ref: '#/components/schemas/EnvironmentModeEnum' cluster_id: type: string format: uuid cluster_name: type: string format: string EnvironmentResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Environment' EnvironmentDeploymentRule: allOf: - $ref: '#/components/schemas/Base' - type: object required: - timezone - start_time - stop_time - weekdays properties: on_demand_preview: type: boolean default: false auto_stop: type: boolean default: false auto_preview: type: boolean default: false timezone: type: string example: UTC start_time: type: string format: date-time example: '1970-01-01T08:00:00.000Z' stop_time: type: string format: date-time example: '1970-01-01T19:00:00.000Z' weekdays: type: array items: $ref: '#/components/schemas/WeekdayEnum' EnvironmentDeploymentRuleEditRequest: type: object required: - timezone - start_time - stop_time - weekdays properties: on_demand_preview: type: boolean default: false auto_preview: type: boolean default: false auto_stop: type: boolean default: false timezone: type: string example: UTC start_time: type: string format: date-time example: '1970-01-01T08:00:00.000Z' stop_time: type: string format: date-time example: '1970-01-01T19:00:00.000Z' weekdays: type: array items: $ref: '#/components/schemas/WeekdayEnum' EnvironmentEditRequest: type: object properties: name: type: string mode: $ref: '#/components/schemas/CreateEnvironmentModeEnum' EnvironmentLog: type: object required: - id - created_at - service - status - message properties: id: type: string format: uuid created_at: type: string format: date-time scope: type: object properties: type: $ref: '#/components/schemas/EnvironmentLogTypeEnum' name: type: string id: type: string format: uuid state: $ref: '#/components/schemas/StatusKindEnum' message: type: string nullable: true description: Log message execution_id: type: string description: Only for errors. Helps Qovery team to investigate. hint: type: string example: only for errors. it gives a possible action to the user -- Markdown can be injected EnvironmentLogs: type: object required: - type - timestamp - details properties: type: type: string format: string timestamp: type: string format: date-time details: type: object properties: organization_id: type: string format: uuid cluster_id: type: string format: uuid execution_id: type: string transmitter: type: object properties: id: type: string format: uuid name: type: string type: type: string stage: type: object properties: step: type: string id: type: string format: uuid nullable: true name: type: string nullable: true error: type: object nullable: true properties: tag: type: string user_log_message: type: string link: type: string hint_message: type: string underlying_error: type: object properties: message: type: string full_details: type: string message: type: object nullable: true properties: safe_message: type: string full_details: type: string EnvironmentLogResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/EnvironmentLog' EnvironmentLogsResponseList: type: array items: $ref: '#/components/schemas/EnvironmentLogs' EnvironmentLogTypeEnum: type: string enum: - APPLICATION - DATABASE - ENVIRONMENT EnvironmentModeEnum: type: string enum: - DEVELOPMENT - PREVIEW - PRODUCTION - STAGING example: PRODUCTION CreateEnvironmentModeEnum: type: string enum: - DEVELOPMENT - PRODUCTION - STAGING example: PRODUCTION CreateEnvironmentRequest: type: object required: - name properties: name: type: string description: name is case insensitive cluster: type: string format: uuid mode: $ref: '#/components/schemas/CreateEnvironmentModeEnum' EnvironmentStats: allOf: - $ref: '#/components/schemas/ReferenceObject' - $ref: '#/components/schemas/ServiceTotalNumber' EnvironmentStatus: type: object required: - id - state - last_deployment_state properties: id: type: string format: uuid state: $ref: '#/components/schemas/StateEnum' last_deployment_date: type: string format: date-time nullable: true last_deployment_state: $ref: '#/components/schemas/StateEnum' last_deployment_id: type: string nullable: true total_deployment_duration_in_seconds: type: integer nullable: true origin: $ref: '#/components/schemas/EnvironmentStatusEventOriginEnum' triggered_by: type: string nullable: true deployment_status: $ref: '#/components/schemas/EnvironmentDeploymentStatusEnum' EnvironmentStatsResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/EnvironmentStats' EnvironmentStatuses: type: object required: - environment - containers - applications - jobs - databases - helms - terraforms properties: environment: $ref: '#/components/schemas/EnvironmentStatus' applications: type: array items: $ref: '#/components/schemas/Status' containers: type: array items: $ref: '#/components/schemas/Status' jobs: type: array items: $ref: '#/components/schemas/Status' databases: type: array items: $ref: '#/components/schemas/Status' helms: type: array items: $ref: '#/components/schemas/Status' terraforms: type: array items: $ref: '#/components/schemas/Status' EnvironmentStatusEventOriginEnum: type: string nullable: true description: Origin of the organization event enum: - API - CLI - CONSOLE - GIT - QOVERY_INTERNAL - TERRAFORM_PROVIDER example: API EnvironmentStatusesWithStages: type: object properties: environment: $ref: '#/components/schemas/EnvironmentStatus' stages: type: array items: $ref: '#/components/schemas/DeploymentStageWithServicesStatuses' pre_check_stage: type: object x-stoplight: id: l9y5i1bt4jmsk properties: status: $ref: '#/components/schemas/StepMetricStatusEnum' total_duration_sec: type: integer x-stoplight: id: t6u28t17lth1l EnvironmentStatusList: type: object properties: results: type: array items: $ref: '#/components/schemas/EnvironmentStatus' EnvironmentTotalNumber: type: object required: - number properties: environment_total_number: type: number EnvironmentVariable: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/EnvironmentVariableRequest' - type: object required: - scope - variable_type properties: overridden_variable: $ref: '#/components/schemas/EnvironmentVariableOverride' aliased_variable: $ref: '#/components/schemas/EnvironmentVariableAlias' scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_type: $ref: '#/components/schemas/APIVariableTypeEnum' service_id: type: string format: uuid service_name: type: string service_type: $ref: '#/components/schemas/LinkedServiceTypeEnum' owned_by: type: string description: 'Entity that created/own the variable (i.e: Qovery, Doppler)' EnvironmentVariableAlias: type: object required: - id - key - value - mount_path - scope - variable_type properties: id: type: string format: uuid key: type: string example: QOVERY_DATABASE_PSQL_NAME value: type: string mount_path: type: string scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_type: $ref: '#/components/schemas/APIVariableTypeEnum' EnvironmentVariableOverride: type: object required: - id - key - value - mount_path - scope - variable_type properties: id: type: string format: uuid key: type: string value: type: string mount_path: type: string scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_type: $ref: '#/components/schemas/APIVariableTypeEnum' EnvironmentVariableEditRequest: type: object required: - key properties: key: type: string description: key is case sensitive value: type: string description: value of the env variable. mount_path: type: string x-stoplight: id: dj004tdqp6pe7 nullable: true description: type: string x-stoplight: id: rf6wxepnkcoyv maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: bw41elfsxminc nullable: true EnvironmentVariableRequest: type: object required: - key properties: key: type: string description: key is case sensitive. value: type: string description: value of the env variable. mount_path: type: string default: null description: should be set for file only. variable mount path makes variable a file (where file should be mounted). nullable: true description: type: string x-stoplight: id: 1k835w52vgl4m maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: yzgx9eytturo9 nullable: true EnvironmentVariableResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/EnvironmentVariable' EnvironmentServiceIdsAllRequest: type: object properties: application_ids: type: array items: type: string format: uuid container_ids: type: array items: type: string format: uuid database_ids: type: array items: type: string format: uuid job_ids: type: array items: type: string format: uuid helm_ids: type: array items: type: string format: uuid terraform_ids: type: array items: type: string format: uuid x-stoplight: id: w1tqy39oq25pf APIVariableScopeEnum: type: string enum: - APPLICATION - BUILT_IN - ENVIRONMENT - PROJECT - CONTAINER - JOB - HELM - TERRAFORM APIVariableTypeEnum: type: string description: | type of the environment variable (VALUE, FILE, ALIAS, OVERRIDE or BUIT_IN) enum: - VALUE - ALIAS - OVERRIDE - BUILT_IN - FILE GcpCredentialsRequest: type: object required: - name - gcp_credentials properties: name: type: string gcp_credentials: type: string GenericObjectCurrentCost: type: object required: - id - name - consumed_time_in_seconds - cost properties: id: type: string format: uuid name: type: string consumed_time_in_seconds: type: integer example: 3600 cost: $ref: '#/components/schemas/Cost' GitAuthProvider: type: object required: - name - owner properties: id: type: string name: type: string example: GITHUB owner: type: string example: John Doe use_bot: type: boolean GitAuthProviderResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/GitAuthProvider' GitProviderEnum: type: string enum: - BITBUCKET - GITHUB - GITLAB GitRepository: type: object required: - name - url - id properties: id: type: string name: type: string example: simple-node-app url: type: string example: 'https://github.com/Qovery/simple-node-app' default_branch: type: string example: master is_private: type: boolean GitRepositoryBranch: type: object required: - name properties: name: type: string example: main GitRepositoryBranchResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/GitRepositoryBranch' GitRepositoryResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/GitRepository' GitTokenAssociatedServiceType: type: string enum: - APPLICATION - CRON - LIFECYCLE - HELM - TERRAFORM GitTokenAssociatedServiceResponse: type: object required: - project_id - project_name - environment_id - environment_name - service_id - service_name - service_type properties: project_id: type: string format: uuid project_name: type: string environment_id: type: string format: uuid environment_name: type: string service_id: type: string format: uuid service_name: type: string service_type: $ref: '#/components/schemas/GitTokenAssociatedServiceType' GitTokenAssociatedServicesResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/GitTokenAssociatedServiceResponse' GitTokenRequest: type: object required: - name - type - token properties: name: type: string description: type: string type: $ref: '#/components/schemas/GitProviderEnum' token: type: string description: The token from your git provider side workspace: type: string description: 'Mandatory only for BITBUCKET git provider, to allow us to fetch repositories at creation/edition of a service' git_api_url: type: string x-stoplight: id: 8g38vvoghxzdf format: uri description: |- custom git api url for the given git provider/type. I.e: Self-hosted version of Gitlab GitTokenResponse: allOf: - $ref: '#/components/schemas/Base' - type: object required: - name - type - associated_services_count - git_api_url properties: name: type: string description: type: string type: $ref: '#/components/schemas/GitProviderEnum' expired_at: type: string format: date workspace: type: string description: Mandatory only for BITBUCKET git provider associated_services_count: type: number description: The number of services using this git token git_api_url: type: string x-stoplight: id: 27n37ox3lysq4 format: uri GitTokenResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/GitTokenResponse' Healthcheck: type: object nullable: false properties: readiness_probe: $ref: '#/components/schemas/Probe' liveness_probe: $ref: '#/components/schemas/Probe' InviteMember: allOf: - $ref: '#/components/schemas/Base' - type: object required: - email - role - invitation_link - invitation_status - inviter properties: email: type: string format: email role: $ref: '#/components/schemas/InviteMemberRoleEnum' invitation_link: type: string format: uri invitation_status: $ref: '#/components/schemas/InviteStatusEnum' organization_name: type: string inviter: type: string logo_url: type: string format: uri role_id: type: string format: uuid role_name: type: string InviteMemberRequest: type: object required: - email properties: email: type: string role: $ref: '#/components/schemas/InviteMemberRoleEnum' role_id: type: string format: uuid description: the target role to attribute to the new member InviteMemberResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/InviteMember' InviteMemberRoleEnum: type: string description: deprecated enum: - ADMIN - DEVELOPER - OWNER - VIEWER InviteStatusEnum: type: string enum: - EXPIRED - PENDING Invoice: allOf: - $ref: '#/components/schemas/Cost' - type: object required: - id - created_at - status - total_in_cents - total - currency_code properties: id: type: string format: uuid created_at: type: string format: date-time status: $ref: '#/components/schemas/InvoiceStatusEnum' InvoiceResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Invoice' InvoiceStatusEnum: type: string enum: - NOT_PAID - PAID - PAYMENT_DUE - PENDING - POSTED - UNKNOWN - VOIDED DeploymentStageRequest: type: object required: - name properties: name: type: string description: The name of the deployment stage description: type: string nullable: true description: free test describing this stage DeploymentStageResponse: allOf: - $ref: '#/components/schemas/Base' - type: object required: - environment properties: environment: $ref: '#/components/schemas/ReferenceObject' name: type: string description: name is case insensitive description: type: string deployment_order: type: integer description: Position of the deployment stage within the environment example: 1 services: $ref: '#/components/schemas/DeploymentStageServiceResponseList' DeploymentStageResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/DeploymentStageResponse' DeploymentStageServiceResponseList: type: array items: $ref: '#/components/schemas/DeploymentStageServiceResponse' DeploymentStageServiceResponse: allOf: - $ref: '#/components/schemas/Base' - type: object properties: service_id: type: string format: uuid description: id of the service attached to the stage service_type: type: string description: 'type of the service (i.e APPLICATION, JOB, DATABASE, ...)' DeploymentStageWithServicesStatuses: type: object properties: applications: type: array items: $ref: '#/components/schemas/Status' containers: type: array items: $ref: '#/components/schemas/Status' jobs: type: array items: $ref: '#/components/schemas/Status' databases: type: array items: $ref: '#/components/schemas/Status' helms: type: array items: $ref: '#/components/schemas/Status' terraforms: type: array items: $ref: '#/components/schemas/Status' stage: $ref: '#/components/schemas/Stage' DockerfileCheckRequest: type: object required: - git_repository - dockerfile_path properties: git_repository: $ref: '#/components/schemas/ApplicationGitRepositoryRequest' dockerfile_path: type: string description: path of the dockerfile with root_path as base path DockerfileCheckResponse: type: object required: - git_repository - dockerfile_path properties: dockerfile_path: type: string arg: description: All ARG variable declared in the Dockerfile type: array items: type: string repositories: description: All image repositories we found declared in the Dockerfile type: array items: type: string GitFileCheckRequest: type: object required: - git_repository - files properties: git_repository: $ref: '#/components/schemas/HelmGitRepositoryRequest' files: type: array items: type: string GitFileCheckResponse: type: object HelmCheckRequest: type: object required: - git_repository properties: git_repository: $ref: '#/components/schemas/HelmGitRepositoryRequest' HelmCheckResponse: type: object ContainerImageCheckRequest: type: object required: - registry_d - image_name - tag properties: registry_id: type: string format: uuid image_name: type: string tag: type: string ContainerImageCheckResponse: type: object JobRequest: allOf: - required: - name - healthchecks properties: name: type: string description: name is case insensitive description: type: string 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: 4074yrndptih5 default: 0 minimum: 0 example: 1 max_nb_restart: type: integer minimum: 0 default: 0 description: | Maximum number of restart allowed before the job is considered as failed 0 means that no restart/crash of the job is allowed max_duration_seconds: type: integer minimum: 0 description: | Maximum number of seconds allowed for the job to run before killing it and mark it as failed auto_preview: type: boolean description: | Indicates if the 'environment preview option' is enabled for this container. If enabled, a preview environment will be automatically cloned when `/preview` endpoint is called. If not specified, it takes the value of the `auto_preview` property from the associated environment. port: type: integer minimum: 1 description: Port where to run readiness and liveliness probes checks. The port will not be exposed externally default: null nullable: true source: type: object properties: image: type: object nullable: true properties: image_name: type: string description: | The image name pattern differs according to chosen container registry provider: * `ECR`: `repository` * `SCALEWAY_CR`: `namespace/image` * `DOCKER_HUB`: `image` or `repository/image` * `PUBLIC_ECR`: `registry_alias/repository` tag: type: string description: tag of the image container registry_id: type: string description: tag of the image container docker: type: object nullable: true properties: git_repository: $ref: '#/components/schemas/ApplicationGitRepositoryRequest' dockerfile_path: type: string description: The path of the associated Dockerfile. Only if you are using build_mode = DOCKER nullable: true dockerfile_raw: type: string x-stoplight: id: 2ksmhx7hfs9pi description: The content of your dockerfile if it is not stored inside your git repository nullable: true docker_target_build_stage: type: string x-stoplight: id: qogoqube2vtez description: The target build stage in the Dockerfile to build nullable: true healthchecks: $ref: '#/components/schemas/Healthcheck' schedule: type: object description: | If you want to define a Cron job, only the `cronjob` property must be filled A Lifecycle job should contain at least one property `on_XXX` among the 3 properties: `on_start`, `on_stop`, `on_delete` properties: on_start: type: object properties: arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container on_stop: type: object properties: arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container on_delete: type: object properties: arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container cronjob: type: object required: - scheduled_at properties: arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container timezone: type: string description: Specify a timezone identifier to run the schedule at. By default Etc/UTC scheduled_at: type: string format: cron description: | Can only be set if the event is CRON. Represent the cron format for the job schedule without seconds. For example: `* * * * *` represent the cron to launch the job every minute. See https://crontab.guru/ to WISIWIG interface. Timezone is UTC lifecycle_type: $ref: '#/components/schemas/JobLifecycleTypeEnum' auto_deploy: type: boolean description: | Specify if the job will be automatically updated after receiving a new image tag or a new commit according to the source type. The new image tag shall be communicated via the "Auto Deploy job" endpoint https://api-doc.qovery.com/#tag/Jobs/operation/autoDeployJobEnvironments nullable: true annotations_groups: $ref: '#/components/schemas/ServiceAnnotationsRequestList' labels_groups: $ref: '#/components/schemas/ServiceLabelsRequestList' icon_uri: type: string format: uri description: Icon URI representing the job. x-stoplight: id: k3gangiisgxpc type: object JobResponse: oneOf: - $ref: '#/components/schemas/LifecycleJobResponse' - $ref: '#/components/schemas/CronJobResponse' discriminator: propertyName: job_type mapping: LIFECYCLE: '#/components/schemas/LifecycleJobResponse' CRON: '#/components/schemas/CronJobResponse' JobResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/JobResponse' JobAdvancedSettings: type: object properties: build.timeout_max_sec: type: integer description: define the max timeout for the build 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) 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 additionalProperties: type: string description: Set pod placement on specific Kubernetes nodes labels job.delete_ttl_seconds_after_finished: type: integer nullable: true cronjob.concurrency_policy: type: string cronjob.failed_jobs_history_limit: type: integer cronjob.success_jobs_history_limit: type: integer 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 JobDeployRequest: type: object properties: image_tag: type: string description: | Image tag to deploy. Cannot be set if `git_commit_id` is defined git_commit_id: type: string description: | Commit to deploy Cannot be set if `image_tag` is defined JobDeploymentRestrictionRequest: type: object required: - mode - type - value properties: mode: $ref: '#/components/schemas/DeploymentRestrictionModeEnum' type: $ref: '#/components/schemas/DeploymentRestrictionTypeEnum' value: type: string description: 'For `PATH` restrictions, the value must not start with `/`' example: job1/src/ JobDeploymentRestrictionResponse: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/JobDeploymentRestrictionRequest' JobDeploymentRestrictionResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/JobDeploymentRestrictionResponse' JobScheduleEvent: type: string enum: - ON_START - ON_STOP - ON_DELETE - CRON description: | On which event the job is going to run. ON_START means when a deployment is requested for the environment ON_STOP means when a stop of the environment is requested ON_DELETE means when an environment delete is requested CRON means at a scheduled interval JobForceEvent: type: string enum: - START - STOP - DELETE - CRON DeploymentHistoryJobResponse: allOf: - $ref: '#/components/schemas/Base' - type: object properties: name: type: string description: name of the job status: $ref: '#/components/schemas/StateEnum' image_name: type: string tag: type: string commit: $ref: '#/components/schemas/Commit' schedule: type: object properties: event: $ref: '#/components/schemas/JobScheduleEvent' schedule_at: type: string format: cron nullable: true description: | Can only be set if the event is CRON. Represent the cron format for the job schedule without seconds. For example: `* * * * *` represent the cron to launch the job every minute. See https://crontab.guru/ to WISIWIG interface. Timezone is UTC arguments: type: array items: type: string entrypoint: type: string 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. If enabled, a preview environment will be automatically cloned when `/preview` endpoint is called or when a new commit is updated. If not specified, it takes the value of the `auto_preview` property from the associated environment. 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 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. If enabled, a preview environment will be automatically cloned when `/preview` endpoint is called. If not specified, it takes the value of the `auto_preview` property from the associated environment. 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' 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 HelmPortResponseWithServiceName: allOf: - $ref: '#/components/schemas/HelmPortResponseBase' - type: object required: - service_name properties: service_name: type: string HelmPortResponseWithServiceSelectors: allOf: - $ref: '#/components/schemas/HelmPortResponseBase' - type: object required: - service_selectors properties: service_selectors: type: array items: $ref: '#/components/schemas/KubernetesSelector' HelmResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/HelmResponse' HelmAdvancedSettings: type: object properties: deployment.custom_domain_check_enabled: type: boolean description: disable custom domain check when deploying a helm network.ingress.proxy_body_size_mb: type: integer network.ingress.force_ssl_redirect: type: boolean x-stoplight: id: 6tcwjiqqo99ii 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-buffering` network.ingress.proxy_request_buffering: type: string description: Allows to enable or disable nginx `proxy-request-buffering` 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.whitelist_source_range: type: string description: | list of source ranges to allow access to ingress proxy. This property can be used to whitelist source IP ranges for ingress proxy. The value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1 To allow all source ranges, set 0.0.0.0/0. network.ingress.denylist_source_range: type: string description: | list of source ranges to deny access to ingress proxy. This property can be used to blacklist source IP ranges for ingress proxy. The value is a comma separated list of CIDRs, e.g. 10.0.0.0/24,172.10.0.1 network.ingress.extra_headers: type: string description: Allows to define response headers example: '{"X-Frame-Options":"DENY ","X-Content-Type-Options":"nosniff"}' 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. You can add multiples comma separated values. 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 HelmDeployRequest: type: object properties: chart_version: type: string description: | version of the chart to deploy. Cannot be set if `git_commit_id` is defined git_commit_id: type: string description: | Commit to deploy for chart source. Cannot be set if `version` is defined values_override_git_commit_id: type: string description: | Commit to deploy for values override HelmDeploymentRestrictionRequest: type: object required: - mode - type - value properties: mode: $ref: '#/components/schemas/DeploymentRestrictionModeEnum' type: $ref: '#/components/schemas/DeploymentRestrictionTypeEnum' value: type: string description: 'For `PATH` restrictions, the value must not start with `/`' example: helm1/src/ HelmDeploymentRestrictionResponse: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/HelmDeploymentRestrictionRequest' HelmDeploymentRestrictionResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/HelmDeploymentRestrictionResponse' 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 HelmForceEvent: type: string enum: - DIFF DeploymentHistoryHelmResponse: allOf: - $ref: '#/components/schemas/Base' - type: object properties: name: type: string description: name of the helm status: $ref: '#/components/schemas/StateEnum' commit: $ref: '#/components/schemas/Commit' repository: type: object nullable: true description: 'If the chart source if from a repository, the chart name and its version' properties: chart_name: type: string chart_version: type: string HelmPortProtocolEnum: type: string default: HTTP enum: - HTTP - GRPC HelmDefaultValuesRequest: allOf: - type: object required: - source properties: 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 Key: type: object title: EnvironmentVariableAliasRequest required: - key properties: key: type: string description: type: string x-stoplight: id: qe7qh1tjtkwrm maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: alajw1h9vgr9e nullable: true KubernetesEnum: type: string enum: - MANAGED - SELF_MANAGED - PARTIALLY_MANAGED default: MANAGED 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 LinkResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Link' LinkedServiceTypeEnum: type: string description: 'type of the service (application, database, job, gateway...)' enum: - APPLICATION - CONTAINER - DATABASE - JOB - HELM - TERRAFORM Log: type: object required: - id - created_at - message properties: id: type: string format: uuid example: 4aa76065-68b3-41ef-aa1d-46be67012bef created_at: type: string format: date-time example: '2022-04-19T15:36:12.024Z' message: type: string pod_name: type: string example: app-z4aa76065-57d84cbbdb-xcg8v version: type: string example: 2bfd61fe45946c74f318050b26210be486c43a39 LogResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Log' ManagedDatabaseTypeResponse: type: object required: - name properties: name: type: string example: MYSQL ManagedDatabaseTypeResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ManagedDatabaseTypeResponse' ManagedDatabaseInstanceTypeResponse: type: object required: - name properties: name: type: string example: db.t3.medium ManagedDatabaseInstanceTypeResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ManagedDatabaseInstanceTypeResponse' Member: allOf: - $ref: '#/components/schemas/Base' - type: object required: - email properties: name: type: string nickname: type: string email: type: string format: email profile_picture_url: type: string format: uri last_activity_at: type: string format: date-time description: last time the user was connected role: $ref: '#/components/schemas/InviteMemberRoleEnum' role_name: type: string description: the role linked to the user role_id: type: string format: uuid MemberResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Member' MemberRoleUpdateRequest: type: object required: - user_id - role_id properties: user_id: type: string description: specify the git provider user id role_id: type: string format: uuid Organization: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/OrganizationRequest' - type: object properties: owner: type: string format: uuid description: uuid of the user owning the organization - type: object properties: organization_plan: type: object properties: plan: $ref: '#/components/schemas/PlanEnum' audit_logs_retention_in_days: type: number description: audit logs maximum period available in days OrganizationApiToken: allOf: - $ref: '#/components/schemas/Base' - type: object properties: name: type: string description: type: string role_name: type: string role_id: type: string format: uuid OrganizationApiTokenCreate: allOf: - $ref: '#/components/schemas/Base' - type: object properties: name: type: string description: type: string token: type: string description: the generated token to send in 'Authorization' header prefixed by 'Token ' role_name: type: string role_id: type: string format: uuid OrganizationApiTokenCreateRequest: type: object required: - name - role_id properties: name: type: string description: type: string scope: $ref: '#/components/schemas/OrganizationApiTokenScope' role_id: type: string format: uuid nullable: true description: the roleId provided by the "List organization custom roles" endpoint. OrganizationApiTokenResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/OrganizationApiToken' OrganizationApiTokenScope: type: string nullable: true description: deprecated enum: - ADMIN OrganizationAvailableRole: type: object required: - id - name properties: id: type: string format: uuid name: type: string OrganizationAvailableRoleList: type: object properties: results: type: array items: $ref: '#/components/schemas/OrganizationAvailableRole' OrganizationChangePlanRequest: type: object properties: plan: type: string OrganizationContainerAutoDeployRequest: type: object properties: image_name: type: string description: the container image name to deploy tag: type: string description: the new tag to deploy OrganizationContainerPreviewRequest: type: object properties: image_name: type: string description: the container image name to trigger preview environment tag: type: string description: the tag to be used in the preview environment OrganizationCreditCodeRequest: type: object properties: code: type: string OrganizationCurrentCost: allOf: - $ref: '#/components/schemas/CurrentCost' - type: object OrganizationCustomRoleCreateRequest: type: object required: - name properties: name: type: string description: type: string OrganizationCustomRoleUpdateRequest: type: object required: - name - cluster_permissions - project_permissions properties: name: type: string description: type: string cluster_permissions: description: Should contain an entry for every existing cluster type: array items: type: object properties: cluster_id: type: string format: uuid permission: $ref: '#/components/schemas/OrganizationCustomRoleClusterPermission' project_permissions: description: Should contain an entry for every existing project type: array items: type: object properties: project_id: type: string format: uuid is_admin: type: boolean description: | If `is_admin` is `true`, the user is: - automatically `MANAGER` for each environment type - allowed to manage project deployment rules - able to delete the project Note that `permissions` can then be ignored for this project default: false permissions: description: | Mandatory if `is_admin` is `false` Should contain an entry for every environment type: - `DEVELOPMENT` - `PREVIEW` - `STAGING` - `PRODUCTION` type: array items: type: object properties: environment_type: $ref: '#/components/schemas/EnvironmentModeEnum' permission: $ref: '#/components/schemas/OrganizationCustomRoleProjectPermission' OrganizationCustomRole: type: object properties: id: type: string name: type: string description: type: string cluster_permissions: type: array items: type: object properties: cluster_id: type: string format: uuid cluster_name: type: string permission: $ref: '#/components/schemas/OrganizationCustomRoleClusterPermission' project_permissions: type: array items: type: object properties: project_id: type: string format: uuid project_name: type: string is_admin: type: boolean description: | If `is_admin` is `true`, the user is: - automatically `MANAGER` for each environment type - allowed to manage project deployment rules - able to delete the project Note that `permissions` can then be ignored for this project default: false permissions: type: array items: type: object properties: environment_type: $ref: '#/components/schemas/EnvironmentModeEnum' permission: $ref: '#/components/schemas/OrganizationCustomRoleProjectPermission' OrganizationCustomRoleList: type: object properties: results: type: array items: $ref: '#/components/schemas/OrganizationCustomRole' OrganizationCustomRoleProjectPermission: type: string description: | Indicates the permission for a target project and a given environment type, from the lowest to the highest: - `NO_ACCESS` user has no access - `VIEWER` user can access the environment (and applications / containers / databases / variables) - `DEPLOYER` user can deploy the environment (dependent on the required cluster permission `ENV_CREATOR`) - `MANAGER` user can create an environment (and applications / containers / databases / variables) enum: - NO_ACCESS - VIEWER - DEPLOYER - MANAGER example: NO_ACCESS OrganizationCustomRoleClusterPermission: type: string description: | Indicates the permission for a target cluster, from the lowest to the highest: - `VIEWER` user has only read access on target cluster - `ENV_CREATOR` user can deploy on the cluster - `ADMIN` user can modify the cluster settings enum: - VIEWER - ENV_CREATOR - ADMIN example: VIEWER OrganizationEditRequest: type: object required: - name - plan properties: name: type: string description: name is case insensitive description: type: string website_url: type: string nullable: true repository: type: string nullable: true logo_url: type: string nullable: true icon_url: type: string nullable: true admin_emails: type: array nullable: true items: type: string OrganizationGithubAppConnectRequest: type: object required: - installation_id - code properties: installation_id: type: string code: type: string OrganizationRequest: type: object required: - name - plan properties: name: type: string description: name is case insensitive description: type: string nullable: true plan: $ref: '#/components/schemas/PlanEnum' website_url: type: string nullable: true repository: type: string nullable: true logo_url: type: string nullable: true icon_url: type: string nullable: true admin_emails: type: array nullable: true items: type: string OrganizationResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Organization' OrganizationEventResponse: type: object properties: id: type: string format: uuid timestamp: type: string format: date-time event_type: $ref: '#/components/schemas/OrganizationEventType' target_id: type: string format: uuid nullable: true target_name: type: string target_type: $ref: '#/components/schemas/OrganizationEventTargetType' sub_target_type: $ref: '#/components/schemas/OrganizationEventSubTargetType' change: type: string origin: $ref: '#/components/schemas/OrganizationEventOrigin' triggered_by: type: string project_id: type: string format: uuid nullable: true project_name: type: string environment_id: type: string format: uuid nullable: true environment_name: type: string user_agent: type: string nullable: true description: '' title: '' OrganizationEventResponseList: type: object properties: links: type: object properties: previous: type: string format: uri next: type: string format: uri organization_max_limit_reached: type: boolean description: Indicates if you cannot see previous logs according to your organization max limit events: type: array items: $ref: '#/components/schemas/OrganizationEventResponse' OrganizationEventTargetResponseList: type: object properties: targets: type: array items: type: object properties: id: type: string format: uuid name: type: string OrganizationEventOrigin: type: string description: Origin of the organization event enum: - API - CLI - CONSOLE - GIT - QOVERY_INTERNAL - TERRAFORM_PROVIDER example: API OrganizationEventSubTargetType: type: string description: Type of the organization event nullable: true enum: - ADVANCED_SETTINGS - API_TOKEN - BILLING_INFO - CLOUD_PROVIDER_CREDENTIALS - CLUSTER_CREDENTIALS - CLUSTER_ROUTING_TABLE - CONFIG - CREDIT_CARD - CREDIT_CODE - CUSTOM_DOMAIN - CUSTOM_ROLE - DEPLOYMENT_RULE - DEPLOYMENT_STAGE - GITHUB_APP - GIT_REPOSITORY - GIT_TOKEN - INVITATION - MEMBER_ROLE - PLAN - SECRET - TERRAFORM - TRANSFER_OWNERSHIP - VARIABLE example: ADVANCED_SETTINGS OrganizationEventTargetType: type: string description: Type of the organization event enum: - APPLICATION - CLUSTER - CONTAINER - CONTAINER_REGISTRY - DATABASE - ENTERPRISE_CONNECTION - ENVIRONMENT - JOB - HELM - MEMBERS_AND_ROLES - ORGANIZATION - PROJECT - WEBHOOK - TERRAFORM example: APPLICATION title: '' OrganizationEventType: type: string description: Type of the organization event enum: - CREATE - UPDATE - DELETE - ACCEPT - EXPORT - CLONE - DEPLOY_QUEUED - STOP_QUEUED - RESTART_QUEUED - DELETE_QUEUED - UNINSTALL_QUEUED - MAINTENANCE - DRY_RUN - TRIGGER_REDEPLOY - TRIGGER_CANCEL - FORCE_RUN_QUEUED - FORCE_RUN_QUEUED_DEPLOY - FORCE_RUN_QUEUED_STOP - FORCE_RUN_QUEUED_DELETE - TRIGGER_DEPLOY - TRIGGER_STOP - TRIGGER_RESTART - TRIGGER_DELETE - TRIGGER_UNINSTALL - TRIGGER_DEPLOY_DRY_RUN - TRIGGER_TERRAFORM_FORCE_UNLOCK - TRIGGER_TERRAFORM_MIGRATE_STATE - TRIGGER_FORCE_RUN - TRIGGER_FORCE_RUN_DEPLOY - TRIGGER_FORCE_RUN_STOP - TRIGGER_FORCE_RUN_DELETE - DEPLOYED - STOPPED - DELETED - UNINSTALLED - RESTARTED - DEPLOYED_DRY_RUN - FORCE_RUN_SUCCEEDED - TERRAFORM_FORCE_UNLOCK_SUCCEEDED - TERRAFORM_MIGRATE_STATE_SUCCEEDED - DEPLOY_FAILED - STOP_FAILED - DELETE_FAILED - UNINSTALL_FAILED - RESTART_FAILED - DEPLOYED_DRY_RUN_FAILED - FORCE_RUN_FAILED - TERRAFORM_FORCE_UNLOCK_FAILED - TERRAFORM_MIGRATE_STATE_FAILED - SHELL - SSO - PORT_FORWARD - REMOTE_DEBUG - IMPORT - LOCK - UNLOCK example: CREATE SecretOverride: type: object required: - id - key - mount_path - scope - variable_type properties: id: type: string format: uuid key: type: string mount_path: type: string scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_type: $ref: '#/components/schemas/APIVariableTypeEnum' description: type: string x-stoplight: id: edfpfqj87ezos maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: ls2iylkcayehn nullable: true OrganizationWebhookCreateRequest: type: object required: - kind - target_url - events properties: kind: $ref: '#/components/schemas/OrganizationWebhookKindEnum' target_url: type: string description: | Set the public HTTP or HTTPS endpoint that will receive the specified events. The target URL must starts with `http://` or `https://` target_secret: type: string description: | Make sure you receive a payload to sign the Qovery request with your secret. Qovery will add a HTTP header `Qovery-Signature: ` to every webhook requests sent to your target URL. description: type: string enabled: type: boolean description: Turn on or off your endpoint. events: type: array items: $ref: '#/components/schemas/OrganizationWebhookEventEnum' project_names_filter: type: array description: | Specify the project names you want to filter to. This webhook will be triggered only if the event is coming from the specified Project IDs. Notes: 1. Wildcard is accepted E.g. `product*`. 2. Name is case insensitive. items: type: string environment_types_filter: type: array description: | Specify the environment modes you want to filter to. This webhook will be triggered only if the event is coming from an environment with the specified mode. items: $ref: '#/components/schemas/EnvironmentModeEnum' OrganizationWebhookCreateResponse: allOf: - $ref: '#/components/schemas/Base' - type: object properties: kind: $ref: '#/components/schemas/OrganizationWebhookKindEnum' target_url: type: string description: | Set the public HTTP or HTTPS endpoint that will receive the specified events. The target URL must starts with `http://` or `https://` target_secret_set: type: boolean description: type: string enabled: type: boolean description: Turn on or off your endpoint. events: type: array items: $ref: '#/components/schemas/OrganizationWebhookEventEnum' project_names_filter: type: array description: | Specify the project names you want to filter to. This webhook will be triggered only if the event is coming from the specified Project IDs. Notes: 1. Wildcard is accepted E.g. `product*`. 2. Name is case insensitive. items: type: string environment_types_filter: type: array description: | Specify the environment modes you want to filter to. This webhook will be triggered only if the event is coming from an environment with the specified mode. items: $ref: '#/components/schemas/EnvironmentModeEnum' OrganizationWebhookEventEnum: type: string description: | Events to subscribe to and send to the `target_url`. - `DEPLOYMENT_STARTED` send an event when a deployment is started and going to be executed - `DEPLOYMENT_CANCELLED` send an event when a deployment is cancelled - `DEPLOYMENT_FAILURE` send an event when a deployment failed - `DEPLOYMENT_SUCCESSFUL` send an event when a deployment is successful enum: - DEPLOYMENT_STARTED - DEPLOYMENT_CANCELLED - DEPLOYMENT_FAILURE - DEPLOYMENT_SUCCESSFUL OrganizationWebhookKindEnum: type: string description: Define the type of the webhook. `SLACK` is a special webhook type to push notifications directly to slack. The `target_url` must be a Slack compatible endpoint. enum: - STANDARD - SLACK example: STANDARD OrganizationWebhookResponse: allOf: - $ref: '#/components/schemas/Base' - type: object properties: kind: $ref: '#/components/schemas/OrganizationWebhookKindEnum' target_url: type: string description: | Set the public HTTP or HTTPS endpoint that will receive the specified events. The target URL must starts with `http://` or `https://` target_secret_set: type: boolean description: type: string enabled: type: boolean description: Turn on or off your endpoint. events: type: array items: $ref: '#/components/schemas/OrganizationWebhookEventEnum' project_names_filter: type: array description: | Specify the project names you want to filter to. This webhook will be triggered only if the event is coming from the specified Project IDs. Notes: 1. Wildcard is accepted E.g. `product*`. 2. Name is case insensitive. items: type: string environment_types_filter: type: array description: | Specify the environment modes you want to filter to. This webhook will be triggered only if the event is coming from an environment with the specified mode. items: $ref: '#/components/schemas/EnvironmentModeEnum' OrganizationWebhookResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/OrganizationWebhookResponse' OrganizationAnnotationsGroupCreateRequest: type: object required: - name - annotations - scopes properties: name: type: string description: name of the annotations group annotations: type: array items: $ref: '#/components/schemas/Annotation' scopes: type: array items: $ref: '#/components/schemas/OrganizationAnnotationsGroupScopeEnum' OrganizationAnnotationsGroupResponseList: type: array items: $ref: '#/components/schemas/OrganizationAnnotationsGroupResponse' OrganizationAnnotationsGroupResponse: allOf: - $ref: '#/components/schemas/Base' - type: object required: - name - annotations - scopes properties: name: type: string annotations: type: array items: $ref: '#/components/schemas/Annotation' scopes: type: array items: $ref: '#/components/schemas/OrganizationAnnotationsGroupScopeEnum' OrganizationAnnotationsGroupScopeEnum: type: string description: Annotations Group Scope enum: - DEPLOYMENTS - STATEFUL_SETS - SERVICES - INGRESS - HPA - PODS - SECRETS - JOBS - CRON_JOBS OrganizationAnnotationsGroupAssociatedItemsResponseList: type: object properties: results: type: array items: type: object required: - item_id - item_name - item_type properties: cluster_id: type: string format: uuid cluster_name: type: string project_id: type: string format: uuid project_name: type: string environment_id: type: string format: uuid environment_name: type: string item_id: type: string format: uuid item_name: type: string item_type: $ref: '#/components/schemas/AnnotationsGroupAssociatedItemType' AnnotationsGroupAssociatedItemType: type: string description: Annotations Group Associated Item Type enum: - APPLICATION - DATABASE - CONTAINER - LIFECYCLE - ENVIRONMENT - CLUSTER - CRON Annotation: type: object required: - key - value properties: key: type: string value: type: string OrganizationLabelsGroupCreateRequest: type: object required: - name - labels properties: name: type: string description: name of the labels group labels: type: array items: $ref: '#/components/schemas/Label' OrganizationLabelsGroupResponseList: type: array items: $ref: '#/components/schemas/OrganizationLabelsGroupResponse' OrganizationLabelsGroupResponse: allOf: - $ref: '#/components/schemas/Base' - type: object required: - name - labels properties: name: type: string labels: type: array items: $ref: '#/components/schemas/Label' OrganizationLabelsGroupAssociatedItemsResponseList: type: object properties: results: type: array items: type: object required: - item_id - item_name - item_type properties: cluster_id: type: string format: uuid cluster_name: type: string project_id: type: string format: uuid project_name: type: string environment_id: type: string format: uuid environment_name: type: string item_id: type: string format: uuid item_name: type: string item_type: $ref: '#/components/schemas/LabelsGroupAssociatedItemType' LabelsGroupAssociatedItemType: type: string description: Labels Group Associated Item Type enum: - APPLICATION - DATABASE - CONTAINER - LIFECYCLE - ENVIRONMENT - CLUSTER - CRON Label: type: object required: - key - value - propagate_to_cloud_provider properties: key: type: string value: type: string propagate_to_cloud_provider: type: boolean PaginationData: type: object required: - page - page_size properties: page: type: number example: 1 page_size: type: number example: 20 PlanEnum: type: string description: 'FREE, BUSINESS & PROFESSIONAL are deprecated. 2025 plans are the new plans available.' enum: - FREE - TEAM - TEAM_YEARLY - ENTERPRISE - ENTERPRISE_YEARLY - PROFESSIONAL - BUSINESS - USER_2025 - TEAM_2025 - BUSINESS_2025 - ENTERPRISE_2025 PortProtocolEnum: type: string default: HTTP enum: - HTTP - GRPC - TCP - UDP Probe: type: object nullable: true properties: type: type: object properties: tcp: type: object nullable: true properties: port: type: integer host: type: string default: null nullable: true http: type: object nullable: true properties: path: type: string default: / scheme: type: string default: HTTP port: type: integer exec: type: object nullable: true properties: command: type: array items: type: string grpc: type: object nullable: true properties: service: type: string nullable: true 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 Project: allOf: - $ref: '#/components/schemas/Base' - type: object required: - name - organization properties: name: type: string description: type: string organization: $ref: '#/components/schemas/ReferenceObject' ProjectCurrentCost: allOf: - $ref: '#/components/schemas/GenericObjectCurrentCost' - type: object properties: environments: type: array items: $ref: '#/components/schemas/GenericObjectCurrentCost' ProjectCurrentCostResponseList: type: object properties: projects: type: array items: $ref: '#/components/schemas/ProjectCurrentCost' ProjectDeploymentRule: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/ProjectDeploymentRuleRequest' - type: object properties: priority_index: type: integer description: used to select the first deployment rule to match new created environments nullable: false ProjectDeploymentRuleRequest: type: object required: - name - mode - cluster_id - timezone - start_time - stop_time - weekdays - wildcard properties: name: type: string description: name is case insensitive example: project-rule description: type: string nullable: true example: description project rule mode: $ref: '#/components/schemas/EnvironmentModeEnum' cluster_id: type: string format: uuid auto_stop: type: boolean default: false timezone: type: string example: UTC start_time: type: string format: date-time example: '1970-01-01T08:00:00.000Z' stop_time: type: string format: date-time example: '1970-01-01T19:00:00.000Z' weekdays: type: array items: $ref: '#/components/schemas/WeekdayEnum' wildcard: type: string default: '' description: wildcard pattern composed of '?' and/or '*' used to target new created environments ProjectDeploymentRuleResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ProjectDeploymentRule' ProjectDeploymentRulesPriorityOrderRequest: type: object properties: project_deployment_rule_ids_in_order: type: array items: type: string format: uuid description: project deployment rule id ProjectRequest: type: object required: - name properties: name: type: string description: name is case insensitive description: type: string ProjectResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Project' ProjectStats: allOf: - $ref: '#/components/schemas/ReferenceObject' - $ref: '#/components/schemas/ServiceTotalNumber' - $ref: '#/components/schemas/EnvironmentTotalNumber' ProjectStatsResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ProjectStats' RebootServicesRequest: type: object properties: application_ids: type: array items: type: string format: uuid database_ids: type: array items: type: string format: uuid container_ids: type: array items: type: string format: uuid ReferenceObject: type: object required: - id properties: id: type: string format: uuid readOnly: true ReferenceObjectStatus: allOf: - $ref: '#/components/schemas/ReferenceObject' - $ref: '#/components/schemas/Status' ReferenceObjectStatusResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/ReferenceObjectStatus' Referral: type: object properties: total_invited: type: integer example: 2 invitation_link: type: string example: 'https://join.qovery.com/xDowkWEl' RewardClaim: type: object properties: type: type: string enum: - INVITATION code: type: string example: xDowkWEl ScalewayCredentialsRequest: type: object required: - name - scaleway_access_key - scaleway_secret_key - scaleway_project_id - scaleway_organization_id properties: name: type: string scaleway_access_key: type: string scaleway_secret_key: type: string scaleway_project_id: type: string scaleway_organization_id: type: string Secret: allOf: - $ref: '#/components/schemas/Base' - type: object required: - key - scope properties: key: type: string description: key is case sensitive overridden_secret: $ref: '#/components/schemas/SecretOverride' aliased_secret: $ref: '#/components/schemas/SecretAlias' scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_type: $ref: '#/components/schemas/APIVariableTypeEnum' service_id: type: string format: uuid service_name: type: string service_type: $ref: '#/components/schemas/LinkedServiceTypeEnum' owned_by: type: string description: 'Entity that created/own the variable (i.e: Qovery, Doppler)' description: type: string x-stoplight: id: fznezq37gx9ux maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: j13355s39qy21 nullable: true SecretEditRequest: type: object required: - key properties: value: type: string key: type: string description: type: string x-stoplight: id: kpr7b04o3wqkq maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: kfzgtx3qmrqsk nullable: true SecretRequest: type: object required: - key properties: key: type: string description: key is case sensitive value: type: string description: value of the secret. Clear value will never be returned mount_path: type: string default: null description: should be set for file only. variable mount path make secret a file (where file should be mounted). nullable: true description: type: string x-stoplight: id: dzjq13ney82de maxLength: 255 description: optional variable description (255 character maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: 5d202hkrquox8 nullable: true SecretResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Secret' Service: allOf: - $ref: '#/components/schemas/Base' - type: object required: - id properties: type: $ref: '#/components/schemas/ServiceTypeEnum' name: type: string description: name of the service id: type: string description: 'uuid of the associated service (application, database, job, gateway...)' format: uuid deployed_commit_id: type: string description: Git commit ID corresponding to the deployed version of the application last_updated_by: type: string format: uuid description: uuid of the user that made the last update consumed_resources_in_percent: type: number description: global overview of resources consumption of the service service_typology: type: string example: container description: 'describes the typology of service (container, postgresl, redis...)' service_version: type: string description: for databases this field exposes the database version example: v12 to_update: type: boolean ServiceDeploymentStatusEnum: type: string enum: - NEVER_DEPLOYED - OUT_OF_DATE - UP_TO_DATE ServiceTotalNumber: type: object required: - number properties: service_total_number: type: number ServiceTypeEnum: type: string x-stoplight: id: d66063cd29913 description: 'type of the service (application, database, job, ...)' enum: - APPLICATION - DATABASE - CONTAINER - JOB - HELM - TERRAFORM SignUp: allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/SignUpRequest' SignUpRequest: type: object required: - first_name - last_name - user_email - type_of_use - qovery_usage properties: first_name: type: string last_name: type: string user_email: type: string type_of_use: $ref: '#/components/schemas/TypeOfUseEnum' qovery_usage: type: string company_name: type: string nullable: true company_size: $ref: '#/components/schemas/CompanySizeEnum' user_role: type: string nullable: true qovery_usage_other: type: string nullable: true user_questions: type: string nullable: true current_step: type: string nullable: true dx_auth: type: boolean nullable: true infrastructure_hosting: type: string nullable: true 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 - WAITING_DELETING - WAITING_RESTARTING - WAITING_RUNNING - WAITING_STOPPING ServiceActionEnum: type: string enum: - DEPLOY - DELETE - RESTART - STOP - UNKNOWN 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 StageStatusEnum: type: string x-stoplight: id: lv5pyjmui11rn enum: - QUEUED - ONGOING - DONE - ERROR - SKIPPED - CANCELED ClusterStateEnum: type: string enum: - BUILDING - BUILD_ERROR - CANCELED - CANCELING - DELETED - DELETE_ERROR - DELETE_QUEUED - DELETING - DEPLOYED - DEPLOYING - DEPLOYMENT_ERROR - DEPLOYMENT_QUEUED - DRY_RUN - QUEUED - READY - STOPPED - STOPPING - STOP_ERROR - STOP_QUEUED - RESTART_QUEUED - RESTARTING - RESTARTED - RESTART_ERROR - INVALID_CREDENTIALS 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 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' Stage: type: object required: - id - name - description properties: id: type: string format: uuid name: type: string description: stage name steps: $ref: '#/components/schemas/StageStepMetrics' description: type: string x-stoplight: id: gwpra9face692 status: $ref: '#/components/schemas/StageStatusEnum' StatusKindEnum: type: string enum: - CANCELED - CANCELING - DELETED - DELETE_ERROR - DELETE_IN_PROGRESS - DEPLOYED - DEPLOYMENT_ERROR - DEPLOYMENT_IN_PROGRESS - ERROR - PAUSED - PAUSE_ERROR - PAUSE_IN_PROGRESS - WAITING StorageTypeEnum: type: string enum: - FAST_SSD TransferOwnershipRequest: type: object required: - user_id properties: user_id: type: string format: uuid TypeOfUseEnum: type: string enum: - PERSONAL - SCHOOL - WORK User: type: object 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 first_name: type: string last_name: type: string email: type: string format: email profile_picture_url: type: string format: uri UserResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/User' Value: type: object title: EnvironmentVariableOverrideRequest properties: value: type: string description: type: string x-stoplight: id: ygzxe4xek3thk maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: ercieri1t6gqn nullable: true VariableImport: type: object required: - total_variables_to_import - successful_imported_variables properties: total_variables_to_import: type: number successful_imported_variables: type: array items: type: object required: - name - scope - is_secret properties: name: type: string value: type: string description: Optional if the variable is secret scope: $ref: '#/components/schemas/APIVariableScopeEnum' is_secret: type: boolean VariableImportRequest: type: object required: - vars - overwrite properties: overwrite: type: boolean default: false vars: type: array items: type: object required: - name - value - scope - is_secret properties: name: type: string value: type: string scope: $ref: '#/components/schemas/APIVariableScopeEnum' is_secret: type: boolean Version: type: object required: - name properties: name: type: string example: '10.1' VersionResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/Version' WeekdayEnum: type: string enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY example: MONDAY VariableAliasRequest: type: object required: - key - alias_scope - alias_parent_id properties: key: type: string description: the value to be used as Alias of the targeted environment variable. alias_scope: $ref: '#/components/schemas/APIVariableScopeEnum' alias_parent_id: type: string format: uuid description: the id of the variable that is aliased. description: type: string x-stoplight: id: e1tqebew6jfe8 description: optional variable description (255 characters maximum) maxLength: 255 nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: udmfa3jcpde9q nullable: true VariableOverrideRequest: type: object required: - value - override_scope - override_parent_id properties: value: type: string description: the value to be used as Override of the targeted environment variable. override_scope: $ref: '#/components/schemas/APIVariableScopeEnum' override_parent_id: type: string format: uuid description: the id of the variable that is aliased. description: type: string x-stoplight: id: 4u5nndk8qphxp maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: smk0wzzy31f5u nullable: true VariableRequest: type: object required: - key - value - is_secret - variable_scope - variable_parent_id properties: key: type: string description: the key of the environment variable value: type: string description: the value of the environment variable mount_path: type: string description: the path where the file will be mounted (only if type =file) nullable: true is_secret: type: boolean description: 'if true, the variable will be considered as a secret and will not be accessible after its creation. Only your applications will be able to access its value at build and run time.' variable_scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_parent_id: type: string format: uuid description: 'based on the selected scope, it contains the ID of the service, environment or project where the variable is attached' description: type: string x-stoplight: id: 328cipvix8hjo description: optional variable description (255 characters maximum) maxLength: 255 nullable: true enable_interpolation_in_file: type: boolean x-stoplight: id: docfts24qtko6 nullable: true VariableEditRequest: type: object required: - key properties: key: type: string description: the key of the environment variable value: type: string description: the value of the environment variable nullable: true description: type: string x-stoplight: id: y471ewdkdpr4r maxLength: 255 description: optional variable description (255 characters maximum) nullable: true enable_interpolation_in_file: type: boolean nullable: true VariableResponse: allOf: - $ref: '#/components/schemas/Base' - type: object required: - key - value - scope - variable_type - is_secret properties: key: type: string value: type: string nullable: true mount_path: type: string nullable: true overridden_variable: $ref: '#/components/schemas/VariableOverride' aliased_variable: $ref: '#/components/schemas/VariableAlias' scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_type: $ref: '#/components/schemas/APIVariableTypeEnum' service_id: type: string format: uuid description: The id of the service referenced by this variable. service_name: type: string description: The name of the service referenced by this variable. service_type: $ref: '#/components/schemas/LinkedServiceTypeEnum' owned_by: type: string description: 'Entity that created/own the variable (i.e: Qovery, Doppler)' is_secret: type: boolean description: type: string x-stoplight: id: n9u4ex1jj4rxa enable_interpolation_in_file: type: boolean x-stoplight: id: 43yxsvszy5k8o VariableResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/VariableResponse' VariableAlias: type: object required: - id - key - mount_path - scope - variable_type properties: id: type: string format: uuid key: type: string example: DATABASE_PSQL_NAME value: type: string nullable: true mount_path: type: string scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_type: $ref: '#/components/schemas/APIVariableTypeEnum' VariableOverride: type: object required: - id - key - mount_path - scope - variable_type properties: id: type: string format: uuid description: The id of the overriden variable key: type: string description: The key of the overriden variable value: type: string nullable: true description: The value of the overriden variable mount_path: type: string description: The mounth path of the overriden variable (only if environment variable type is 'file') scope: $ref: '#/components/schemas/APIVariableScopeEnum' variable_type: $ref: '#/components/schemas/APIVariableTypeEnum' ClusterDeploymentStatusEnum: type: string enum: - NEVER_DEPLOYED - OUT_OF_DATE - UP_TO_DATE 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 StageStepMetrics: type: object properties: total_duration_sec: description: The total duration in seconds of the stage deployment or null if the deployment is not completed type: integer nullable: true details: description: A list of metrics for deployment steps of the stage. type: array items: $ref: '#/components/schemas/StageStepMetric' 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' StageStepMetric: type: object properties: step_name: $ref: '#/components/schemas/StageStepMetricNameEnum' status: $ref: '#/components/schemas/StepMetricStatusEnum' duration_sec: description: The duration of the step in seconds. type: integer StageStepMetricNameEnum: type: string enum: - QUEUEING - PROVISION_BUILDER description: | The name of the deployment step at the stage level: - QUEUEING: The step preceding the actual stage deployment step. - PROVISION_BUILDER: The step to provision builders before the actual build. 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. 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: - REGISTRY_CREATE_REPOSITORY: The step to create the repository in the registry. - GIT_CLONE: The step to clone the source code repository. - BUILD_QUEUEING: The queuing time preceding the actual building step. - BUILD: The step to build the source code. - DEPLOYMENT_QUEUEING: The queuing time preceding the actual deployment step. - DEPLOYMENT: The step to deploy the service. - ROUTER_DEPLOYMENT: The step to deploy the router. - MIRROR_IMAGE: The step to mirror the image to the private registry. - EXECUTING: The step to execute a job or terraform apply. OrganizationJobAutoDeployRequest: type: object properties: image_name: type: string description: the job image name to deploy tag: type: string description: the new tag to deploy RegistryMirroringModeEnum: type: string default: Service enum: - Cluster - Service description: | Mirroring mode when deploying a service from a container registry - Cluster: This is not available on Scaleway. Images within the mirroring registry are organized by "Qovery cluster", meaning that the application deployed on the same cluster are all mirrored on the same repository. - Service: Images within the mirroring registry are organized by "Qovery service", each service has its own repository ServiceTypeForVariableEnum: type: string description: type of the service enum: - APPLICATION - CONTAINER - JOB - HELM - TERRAFORM JobTypeEnum: type: string description: type of job enum: - LIFECYCLE - CRON LifecycleJobResponse: allOf: - $ref: '#/components/schemas/BaseJobResponse' - type: object required: - job_type - schedule properties: job_type: $ref: '#/components/schemas/JobTypeEnum' schedule: type: object properties: on_start: type: object properties: arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container on_stop: type: object properties: arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container on_delete: type: object properties: arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container lifecycle_type: $ref: '#/components/schemas/JobLifecycleTypeEnum' annotations_groups: $ref: '#/components/schemas/OrganizationAnnotationsGroupResponseList' labels_groups: $ref: '#/components/schemas/OrganizationLabelsGroupResponseList' title: '' CronJobResponse: allOf: - $ref: '#/components/schemas/BaseJobResponse' - type: object required: - job_type - schedule properties: job_type: $ref: '#/components/schemas/JobTypeEnum' schedule: type: object required: - cronjob properties: cronjob: type: object required: - timezone - scheduled_at properties: arguments: type: array items: type: string entrypoint: type: string description: optional entrypoint when launching container timezone: type: string description: tz identifier at which the schedule at will be executed scheduled_at: type: string format: cron description: | Can only be set if the event is CRON. Represent the cron format for the job schedule without seconds. For example: `* * * * *` represent the cron to launch the job every minute. See https://crontab.guru/ to WISIWIG interface. Timezone is UT annotations_groups: $ref: '#/components/schemas/OrganizationAnnotationsGroupResponseList' labels_groups: $ref: '#/components/schemas/OrganizationLabelsGroupResponseList' BaseJobResponse: allOf: - $ref: '#/components/schemas/Base' - type: object required: - environment - maximum_cpu - maximum_memory - maximum_gpu - name - cpu - memory - gpu - auto_preview - source - healthchecks - icon_uri - service_type properties: environment: $ref: '#/components/schemas/ReferenceObject' maximum_cpu: type: integer description: Maximum cpu that can be allocated to the job based on organization cluster configuration. unit is millicores (m). 1000m = 1 cpu example: 16000 maximum_memory: type: integer description: Maximum memory that can be allocated to the job based on organization cluster configuration. unit is MB. 1024 MB = 1GB example: 16384 maximum_gpu: type: integer description: Maximum memory that can be allocated to the job based on organization cluster configuration. unit is MB. 1024 MB = 1GB x-stoplight: id: 7o0e6wrgnxgcc minimum: 0 default: 0 example: 2 name: type: string description: name is case insensitive description: type: string cpu: type: integer description: unit is millicores (m). 1000m = 1 cpu example: 1250 memory: type: integer description: unit is MB. 1024 MB = 1GB example: 1024 gpu: type: integer x-stoplight: id: 50sj2wtkdypgg default: 0 minimum: 0 example: 1 max_nb_restart: type: integer minimum: 0 description: | Maximum number of restart allowed before the job is considered as failed 0 means that no restart/crash of the job is allowed max_duration_seconds: type: integer minimum: 0 description: | Maximum number of seconds allowed for the job to run before killing it and mark it as failed auto_preview: type: boolean description: | Indicates if the 'environment preview option' is enabled for this container. If enabled, a preview environment will be automatically cloned when `/preview` endpoint is called. If not specified, it takes the value of the `auto_preview` property from the associated environment. port: type: integer minimum: 1 description: Port where to run readiness and liveliness probes checks. The port will not be exposed externally default: null nullable: true source: nullable: false oneOf: - required: - image properties: image: $ref: '#/components/schemas/ContainerSource' type: object - required: - docker properties: docker: $ref: '#/components/schemas/JobSourceDockerResponse' type: object healthchecks: $ref: '#/components/schemas/Healthcheck' auto_deploy: type: boolean description: | Specify if the job will be automatically updated after receiving a new image tag or a new commit according to the source type. The new image tag shall be communicated via the "Auto Deploy job" endpoint https://api-doc.qovery.com/#tag/Jobs/operation/autoDeployJobEnvironments icon_uri: type: string format: uri description: Icon URI representing the job. x-stoplight: id: p1secr7kxozsd service_type: $ref: '#/components/schemas/ServiceTypeEnum' 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: '' HelmKeyValues: type: array description: 'The input is in json array format: [ [$KEY,$VALUE], [...] ]' items: type: array items: type: string OrganizationBillingUsageReportRequest: type: object required: - from - to - report_expiration_in_seconds properties: from: description: The start date of the report type: string format: date-time example: '2020-01-01T00:00:00.000Z' to: description: The end date of the report type: string format: date-time example: '2020-01-31T23:59:59.000Z' report_expiration_in_seconds: description: The number of seconds the report will be publicly available type: integer example: 3600 OrganizationBillingUsageReportResponse: type: object properties: report_url: description: The URL of the report type: string delete_report_url: description: The URL to delete the report. Use this URL to pro-actively delete the report before it expires type: string OrganizationAnnotationsGroupEnrichedResponseList: title: OrganizationAnnotationsGroupEnrichedResponseList x-stoplight: id: 2tbiuqncqaqaw type: array items: $ref: '#/components/schemas/OrganizationAnnotationsGroupEnrichedResponse' OrganizationAnnotationsGroupEnrichedResponse: title: OrganizationAnnotationsGroupEnrichedResponse x-stoplight: id: edjpmiyq8n5nt allOf: - $ref: '#/components/schemas/Base' - type: object x-stoplight: id: 2auhw8xgz67rj required: - name - annotations - scopes properties: name: type: string x-stoplight: id: pjys12dlmqw9c annotations: type: array x-stoplight: id: 4yn29zdqeb0og items: $ref: '#/components/schemas/Annotation' scopes: x-stoplight: id: h8qu8e8yp5dh3 type: array items: $ref: '#/components/schemas/OrganizationAnnotationsGroupScopeEnum' associated_items_count: type: integer x-stoplight: id: q71gum8nqmj8p OrganizationLabelsGroupEnrichedResponseList: title: OrganizationLabelsGroupEnrichedResponseList type: array items: $ref: '#/components/schemas/OrganizationLabelsGroupEnrichedResponse' OrganizationLabelsGroupEnrichedResponse: title: OrganizationLabelsGroupEnrichedResponse allOf: - $ref: '#/components/schemas/Base' - type: object required: - name - labels properties: name: type: string labels: type: array items: $ref: '#/components/schemas/Label' associated_items_count: type: integer JobSourceDockerResponse: title: JobSourceDockerResponse x-stoplight: id: s59m8wajnieny type: object properties: git_repository: $ref: '#/components/schemas/ApplicationGitRepository' dockerfile_path: type: string x-stoplight: id: 72djyl4mjhxny description: The path of the associated Dockerfile. Only if you are using build_mode = DOCKER nullable: true dockerfile_raw: type: string x-stoplight: id: 7s4l0qg285y48 description: The content of your dockerfile if it is not stored inside your git repository nullable: true docker_target_build_stage: type: string x-stoplight: id: 8o1faq3bgz92i description: The target build stage in the Dockerfile to build nullable: true 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 HelmSourceGitResponse: title: HelmSourceGitResponse x-stoplight: id: lsxautcdafty6 type: object required: - git_repository properties: git_repository: $ref: '#/components/schemas/ApplicationGitRepository' CpuArchitectureEnum: title: CpuArchitectureEnum x-stoplight: id: jlrd3r03vjzoy enum: - AMD64 - ARM64 ClusterFeatureKarpenterParametersResponse: title: ClusterFeatureKarpenterParametersResponse x-stoplight: id: q33tdlz4ychh5 type: object required: - type - value properties: type: $ref: '#/components/schemas/ClusterFeatureResponseTypeEnum' value: $ref: '#/components/schemas/ClusterFeatureKarpenterParameters' ClusterFeatureKarpenterParameters: title: ClusterFeatureKarpenterParameters x-stoplight: id: fzprvq41bcge1 type: object required: - spot_enabled - disk_size_in_gib - default_service_architecture - qovery_node_pools properties: spot_enabled: type: boolean x-stoplight: id: fuolcs5q8ncp8 disk_size_in_gib: type: integer x-stoplight: id: nwpjqw3bf7px0 default_service_architecture: $ref: '#/components/schemas/CpuArchitectureEnum' qovery_node_pools: $ref: '#/components/schemas/KarpenterNodePool' JobLifecycleTypeEnum: title: JobLifecycleTypeEnum x-stoplight: id: tz1t23a291l51 enum: - GENERIC - TERRAFORM - CLOUDFORMATION LifecycleTemplateListResponse: title: LifecycleTemplateListResponse x-stoplight: id: xors8ncf4ky35 type: object required: - results properties: results: type: array x-stoplight: id: 7641tagxo4zpi items: x-stoplight: id: uozhvuyd6pdmu type: object required: - id - name - description properties: id: type: string x-stoplight: id: qwkicuwqfvcw4 format: uuid name: type: string x-stoplight: id: eec0zks0ju8mm description: type: string x-stoplight: id: yg0unyqcvyzcn LifecycleTemplateResponse: title: LifecycleTemplateResponse x-stoplight: id: bvzo0blwz03tn type: object x-internal: false required: - id - name - description - sourceUrl - cloud_provider - events - max_duration_in_sec - resources - variables - dockerfile properties: id: type: string x-stoplight: id: glttp2ir2fk7e format: uuid name: type: string x-stoplight: id: xrjua7zbq9eut description: type: string x-stoplight: id: humhra0a53b09 sourceUrl: type: string x-stoplight: id: 6wwoi4u4iggbr format: uri description: location of the template cloud_provider: $ref: '#/components/schemas/CloudProviderEnum' events: type: array x-stoplight: id: 5dzxa31dbj27j description: lis of pre-defined command for each event items: x-stoplight: id: c2tzn0jhhq3o9 type: object required: - name - command properties: name: type: string x-stoplight: id: gjv4fce8vssmm entrypoint: type: string x-stoplight: id: 0i1rd5p3sk6f5 command: type: array x-stoplight: id: gpsvjqfwkwwft items: x-stoplight: id: pcxa5np84g1ze type: string max_duration_in_sec: type: integer x-stoplight: id: 6uoktngysqxii description: |- Job max allowed duration in seconds. After this allowed time, the job is going to be killed. resources: type: object x-stoplight: id: q6p0dfgqw56m2 required: - cpu_milli - ram_mib properties: cpu_milli: type: integer x-stoplight: id: jayn5f1p1jxh2 ram_mib: type: integer x-stoplight: id: 65ta45mnalu3c variables: type: array x-stoplight: id: 6a91s0nhrkccw description: Variables to inject at the creation of this lifecycle job items: x-stoplight: id: 0px0di1tv9tu8 type: object required: - name - description - default - is_secret properties: name: type: string x-stoplight: id: 9k7i4ohmj7uz3 description: type: string x-stoplight: id: nz4h3xndjh07g description: Short description to explain the purpose of the variable default: type: string x-stoplight: id: p9jb40lqlaj4a description: Default value for the variable is_secret: type: boolean x-stoplight: id: v6y3uhp3xivq5 description: If the variable should be injected as a secret file: type: object x-stoplight: id: 71mpuvnx5g4gm description: 'If present, the variable should be a file instead of a raw value' required: - path properties: path: type: string x-stoplight: id: d7xqu15fk6iat enable_interpolation: type: boolean x-stoplight: id: mbvppc2tt4l2t default: false description: if we should interpolate variable inside the file dockerfile: type: string x-stoplight: id: 0xkypu9qkowv3 description: Dockerfile of the template ContainerRegistryAssociatedServicesResponseList: title: ContainerRegistryAssociatedServicesResponseList x-stoplight: id: xn1fsp17ahwfi type: object properties: results: type: array items: $ref: '#/components/schemas/ContainerRegistryAssociatedServicesResponse' CheckedCustomDomainsResponse: title: CheckedCustomDomainsResponse type: object required: - results properties: results: type: array items: $ref: '#/components/schemas/CheckedCustomDomainResponse' CheckedCustomDomainStatus: type: string enum: - RESOLVES_TO_IP - MATCHES_LOAD_BALANCER_HOST - DOMAIN_NOT_CONFIGURED - DOMAIN_LINKED_TO_WRONG_HOST - GENERIC_FAILURE description: | This enum represents the final status for your domain. There are 2 successful statuses: * `RESOLVES_TO_IP`: we succeeded to resolve an IP to your domain. This is the successful final status for custom domains where `use_cdn` is `true` * `MATCHES_LOAD_BALANCER_HOST`: we succeeded to lookup CNAMEs & found that it matches your cluser Load Balancer host. This is the successful final status for custom domain where `use_cdn` is `false` * `DOMAIN_NOT_CONFIGURED`: the domain is not configured, look at the `error_details` field for more information * `DOMAIN_LINKED_TO_WRONG_HOST`: the domain has CNAME(s) that matches a different host than your Load Balancer one * `GENERIC_FAILURE`: an error occured when attempting to validate your domain, look at the `error_details` field for more information CheckedCustomDomainResponse: title: CheckedCustomDomainResponse type: object required: - domain_name - status properties: domain_name: type: string description: domain name checked example: my.domain.tld status: $ref: '#/components/schemas/CheckedCustomDomainStatus' error_details: type: string nullable: true description: optional field containing information about failure check ContainerRegistryAssociatedServicesResponse: title: ContainerRegistryAssociatedServicesResponse x-stoplight: id: uxbkfqdj9zyi6 type: object required: - project_id - project_name - environment_id - environment_name - service_id - service_name - service_type properties: project_id: type: string x-stoplight: id: 9jdx3t62nttjz format: uuid project_name: type: string x-stoplight: id: cjlfx1ucomdv9 environment_id: type: string x-stoplight: id: gk5r4dcoliuac format: uuid environment_name: type: string x-stoplight: id: kxry5d624susz service_id: type: string x-stoplight: id: kmouxjf3vbtjo format: uuid service_name: type: string x-stoplight: id: ga0yqhtmi4nl6 service_type: $ref: '#/components/schemas/ContainerRegistryAssociatedServiceType' ContainerRegistryAssociatedServiceType: title: ContainerRegistryAssociatedServiceType x-stoplight: id: dif8pj1ys444y enum: - CONTAINER - LIFECYCLE - CRON HelmRepositoryAssociatedServiceType: title: HelmRepositoryAssociatedServiceType x-stoplight: id: 7afohg0qwqoht enum: - HELM HelmRepositoryAssociatedServicesResponse: title: HelmRepositoryAssociatedServicesResponse x-stoplight: id: een4pa4di1fir type: object required: - project_id - project_name - environment_id - environment_name - service_id - service_name - service_type properties: project_id: type: string x-stoplight: id: 5p4tj302re42n format: uuid project_name: type: string x-stoplight: id: j9o1qaceqfiu8 environment_id: type: string x-stoplight: id: oe1zp7vzdukve format: uuid environment_name: type: string x-stoplight: id: n2usi4loyu8kn service_id: type: string x-stoplight: id: 9nnymt6uz7zdq format: uuid service_name: type: string x-stoplight: id: rb0g9ev15frmu service_type: $ref: '#/components/schemas/HelmRepositoryAssociatedServiceType' HelmRepositoryAssociatedServicesResponseList: title: HelmRepositoryAssociatedServicesResponseList x-stoplight: id: lyrvkahz5uw6s type: object properties: results: type: array x-stoplight: id: 00sn35cw5lnb4 items: $ref: '#/components/schemas/HelmRepositoryAssociatedServicesResponse' 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' KubernetesMetadata: title: KubernetesMetadata x-stoplight: id: ajq08tq9ym2vh type: object properties: name: type: string x-stoplight: id: n0gt58vsemvlv 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' 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 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 ClusterInstanceGpuInfo: title: ClusterInstanceGpuInfo x-stoplight: id: dfdp50z2mr1cs type: object properties: count: type: integer x-stoplight: id: hbl5jxfcth747 description: The number of GPUs included in the instance. name: type: string x-stoplight: id: pregmt5l22afi description: The model name of the GPU. manufacturer: type: string x-stoplight: id: a0e1rvah0xfms description: The manufacturer of the GPUs in the instance. memory_in_mib: type: string x-stoplight: id: 20yjj7h8sjtdu description: The total GPU memory available. ClusterInstanceAttributes: title: ClusterInstanceAttributes x-stoplight: id: nxbpo7v2ecz72 type: object properties: instance_category: type: string x-stoplight: id: epo9cqt13zoqp description: The category of the instance. instance_generation: type: integer x-stoplight: id: 274hjvkvlycxp description: The generation of the instance. instance_family: type: string x-stoplight: id: ixmy1d0nokjh5 description: The family or series of the instance. instance_size: type: string x-stoplight: id: dmnfjmvowgd0a description: Specifies the size of the instance within its family. meets_resource_reqs: type: boolean x-stoplight: id: 8gytpdzm751we description: The instance has sufficient resources to be chosen as a standalone instance in a cluster. KarpenterNodePool: title: KarpenterNodePool x-stoplight: id: q8vks57rql8x1 type: object required: - requirements properties: requirements: x-stoplight: id: pkowctfxv7q77 type: array items: $ref: '#/components/schemas/KarpenterNodePoolRequirement' stable_override: $ref: '#/components/schemas/KarpenterStableNodePoolOverride' default_override: $ref: '#/components/schemas/KarpenterDefaultNodePoolOverride' gpu_override: $ref: '#/components/schemas/KarpenterGpuNodePoolOverride' KarpenterNodePoolRequirementKey: title: KarpenterNodePoolRequirementKey x-stoplight: id: eancn656efy06 enum: - InstanceFamily - InstanceSize - Arch - SkuFamily - SkuVersion KarpenterNodePoolRequirementOperator: title: KarpenterNodePoolRequirementOperator x-stoplight: id: wkzlvifywpa0t enum: - In KarpenterNodePoolRequirement: title: KarpenterNodePoolRequirement x-stoplight: id: 4ebed64emvn09 type: object required: - key - operator - values properties: key: $ref: '#/components/schemas/KarpenterNodePoolRequirementKey' operator: $ref: '#/components/schemas/KarpenterNodePoolRequirementOperator' values: type: array x-stoplight: id: qf036o7tch5ed items: x-stoplight: id: 02kz5mierypik type: string KarpenterStableNodePoolOverride: title: KarpenterStableNodePoolOverride type: object properties: consolidation: $ref: '#/components/schemas/KarpenterNodePoolConsolidation' limits: $ref: '#/components/schemas/KarpenterNodePoolLimits' KarpenterGpuNodePoolOverride: title: KarpenterGpuNodePoolOverride x-stoplight: id: fi2s446xdrdu1 type: object properties: consolidation: $ref: '#/components/schemas/KarpenterNodePoolConsolidation' limits: $ref: '#/components/schemas/KarpenterNodePoolLimits' requirements: type: array x-stoplight: id: 38pdri17ozql9 items: $ref: '#/components/schemas/KarpenterNodePoolRequirement' disk_size_in_gib: type: integer x-stoplight: id: xq5ycmme7o025 minimum: 0 default: 100 example: 150 spot_enabled: type: boolean x-stoplight: id: rjzxs0e2rn0ij default: false KarpenterDefaultNodePoolOverride: title: KarpenterDefaultNodePoolOverride type: object properties: limits: $ref: '#/components/schemas/KarpenterNodePoolLimits' KarpenterNodePoolConsolidation: title: KarpenterNodePoolConsolidation type: object required: - enabled - days - start_time - duration properties: enabled: type: boolean default: false nullable: false days: type: array nullable: false items: $ref: '#/components/schemas/WeekdayEnum' start_time: description: | The start date of the consolidation. The format should follow ISO-8601 convention: "PThh:mm" type: string example: 'PT22:30' nullable: false duration: description: | The duration during the consolidation will be active. The format should follow ISO-8601 convention: "PThhHmmM" type: string example: PT2H45M nullable: false EnvironmentDeploymentStatusEnum: title: EnvironmentDeploymentStatusEnum x-stoplight: id: sbw3iw6yteyba enum: - NEVER_DEPLOYED - UP_TO_DATE - OUT_OF_DATE KarpenterNodePoolLimits: title: KarpenterNodePoolLimits type: object required: - enabled - max_cpu_in_vcpu - max_memory_in_gibibytes - max_gpu properties: enabled: type: boolean default: false nullable: false max_cpu_in_vcpu: type: integer description: 'CPU limit that will be applied for the node pool (in vCPU unit: 1 vCPU = 1000 millicores)' max_memory_in_gibibytes: type: integer description: 'Memory limit that will be applied for the node pool (in Gibibytes unit: 1Gi = 1024 mebibytes)' max_gpu: type: integer x-stoplight: id: fn3k34ck5abe4 default: 0 example: 10 minimum: 0 description: GPU limit that will be applied for the node pool ClusterLockRequest: title: ClusterLockRequest x-stoplight: id: d0zigj2okjq2u type: object required: - reason properties: reason: type: string x-stoplight: id: r7sy48ofln6xf ttl_in_days: type: integer x-stoplight: id: m7spawrlr0mii ClusterLock: title: ClusterLock x-stoplight: id: cfl44h3tyj8p9 type: object required: - reason - cluster_id - locked_at - owner_name properties: reason: type: string x-stoplight: id: 24t21mhr6yvb8 ttl_in_days: type: integer x-stoplight: id: hkgmap89j628o cluster_id: type: string x-stoplight: id: uvcmzekexkogh format: uuid locked_at: type: string format: date-time x-stoplight: id: aqpw2xs6xlw6b owner_name: type: string x-stoplight: id: 92n5bq5he0utp ClusterLockList: title: ClusterLockList x-stoplight: id: 87swuavftz0gk type: object properties: results: type: array x-stoplight: id: xpi2ooy1zclay items: $ref: '#/components/schemas/ClusterLock' EnvDeploymentStatus: title: EnvDeploymentStatus x-stoplight: id: 3t1ibpp18xhmy type: object properties: deployment_request_id: type: string x-stoplight: id: moe7npwga4pwm format: uuid environment_id: type: string x-stoplight: id: t6sa9u90dayva format: uuid status: $ref: '#/components/schemas/StateEnum' DeploymentHistoryActionStatus: title: DeploymentHistoryActionStatus x-stoplight: id: qppeluzk1hor1 enum: - QUEUED - ONGOING - SUCCESS - ERROR - CANCELED - CANCELING - NEVER QueuedDeploymentRequestWithStages: title: QueuedDeploymentRequestWithStages x-stoplight: id: ididqvn23k30w type: object required: - identifier - auditing_data - trigger_action - stages properties: identifier: x-stoplight: id: 0knkd1kmqqc02 type: object required: - deployment_request_id - environment_id properties: deployment_request_id: type: string x-stoplight: id: p9kpe6jw19qcu format: uuid environment_id: type: string x-stoplight: id: vrz81gxwvya9i format: uuid auditing_data: type: object x-stoplight: id: 0npwbfsta4xai required: - triggered_by properties: triggered_by: type: string x-stoplight: id: hfi1kibghpsc3 origin: $ref: '#/components/schemas/OrganizationEventOrigin' trigger_action: $ref: '#/components/schemas/DeploymentHistoryTriggerAction' stages: type: array x-stoplight: id: snkercfc1t8iq items: x-stoplight: id: ym6jl6374zowd type: object required: - name - status - services properties: name: type: string x-stoplight: id: 7p40i9fzfddii status: $ref: '#/components/schemas/StageStatusEnum' services: type: array x-stoplight: id: 8cnjdpbn1xllp items: x-stoplight: id: yn2f0fy77v6gj type: object required: - identifier - status properties: identifier: type: object x-stoplight: id: 2qiq6p8loxy0n required: - service_id - service_type - name properties: service_id: type: string x-stoplight: id: ixyztl7bo1e7r format: uuid service_type: $ref: '#/components/schemas/ServiceTypeEnum' name: type: string x-stoplight: id: rqj252xn7e17p status: $ref: '#/components/schemas/StageStatusEnum' icon_uri: type: string x-stoplight: id: vr9mfika0841x details: x-stoplight: id: 8pjqibbjgziqn oneOf: - description: JobDetails x-stoplight: id: ibi93dbff8m63 type: object required: - job_type properties: job_type: x-stoplight: id: tg4bw75mf4084 enum: - CRON - LIFECYCLE type: object QueuedDeploymentRequestForService: title: QueuedDeploymentRequestForService x-stoplight: id: 6tjmdk549eeaq type: object required: - identifier - auditing_data - status_details - icon_uri properties: identifier: type: object required: - deployment_request_id - service_id - service_type - name properties: deployment_request_id: type: string format: uuid service_id: type: string x-stoplight: id: 0l33zc2pd2ie0 format: uuid service_type: $ref: '#/components/schemas/ServiceTypeEnum' name: type: string x-stoplight: id: 476yle3ji5f9q auditing_data: type: object required: - triggered_by properties: triggered_by: type: string origin: $ref: '#/components/schemas/OrganizationEventOrigin' status_details: $ref: '#/components/schemas/StatusDetails' icon_uri: type: string x-stoplight: id: h69hlvf3roanf ServiceLightResponse: title: ServiceLightResponse x-stoplight: id: tg1rwcmait89l type: object required: - id - name - description - icon_uri - service_type - project_id - project_name - environment_id - environment_name properties: id: type: string x-stoplight: id: kusnde41nhbq0 format: uuid name: type: string x-stoplight: id: uxr40wquz4uo4 description: type: string x-stoplight: id: 71c9yrajgrd9f icon_uri: type: string format: uri x-stoplight: id: k6zs0jdg7k95f service_type: $ref: '#/components/schemas/ServiceTypeEnum' project_id: type: string x-stoplight: id: 6j6xz0qq65mbs format: uuid project_name: type: string x-stoplight: id: jfl0pof91101b environment_id: type: string x-stoplight: id: cs79bi0ic3r18 format: uuid environment_name: type: string x-stoplight: id: s8c6hmto9njzg job_type: x-stoplight: id: jwtmqb1fq5a6m enum: - CRON - LIFECYCLE ClusterMetricsResponse: title: ClusterMetricsResponse x-stoplight: id: 7z04ha035fh6s type: object properties: metrics: type: string x-stoplight: id: nyp9g89joz1wv MetricsParameters: title: MetricsParameters x-stoplight: id: 25tfm065x6c64 type: object properties: enabled: type: boolean x-stoplight: id: 0y1427jsrtwmg configuration: x-stoplight: id: 1e9r2at0nxziv oneOf: - $ref: '#/components/schemas/MetricsConfigurationManagedByQovery' discriminator: propertyName: kind mapping: MANAGED_BY_QOVERY: '#/components/schemas/MetricsConfigurationManagedByQovery' MetricsConfigurationManagedByQovery: title: MetricsConfigurationManagedByQovery x-stoplight: id: d6oy3aiodk659 type: object properties: kind: x-stoplight: id: i8z3rzufjt5uk enum: - MANAGED_BY_QOVERY resource_profile: $ref: '#/components/schemas/ObservabilityResourceProfile' cloud_watch_export_config: $ref: '#/components/schemas/CloudWatchExportConfig' high_availability: type: boolean x-stoplight: id: zs2zhdd1p5e6q internal_network_monitoring: $ref: '#/components/schemas/InternalNetworkMonitoring' alerting: $ref: '#/components/schemas/AlertingConfig' InfrastructureOutputs: type: object required: - kind discriminator: propertyName: kind mapping: AKS: '#/components/schemas/AksInfrastructureOutputs' EKS: '#/components/schemas/EksInfrastructureOutputs' GKE: '#/components/schemas/GkeInfrastructureOutputs' SCW_KAPSULE: '#/components/schemas/KapsuleInfrastructureOutputs' oneOf: - $ref: '#/components/schemas/AksInfrastructureOutputs' - $ref: '#/components/schemas/EksInfrastructureOutputs' - $ref: '#/components/schemas/GkeInfrastructureOutputs' - $ref: '#/components/schemas/KapsuleInfrastructureOutputs' AksInfrastructureOutputs: type: object required: - kind - cluster_name - cluster_oidc_issuer properties: kind: enum: - AKS cluster_name: type: string cluster_oidc_issuer: type: string EksInfrastructureOutputs: type: object required: - kind - cluster_name - cluster_arn - cluster_oidc_issuer - vpc_id properties: kind: enum: - EKS cluster_name: type: string cluster_arn: type: string cluster_oidc_issuer: type: string vpc_id: type: string GkeInfrastructureOutputs: type: object required: - kind - cluster_name - cluster_self_link properties: kind: enum: - GKE cluster_name: type: string cluster_self_link: type: string KapsuleInfrastructureOutputs: type: object required: - kind - cluster_name properties: kind: enum: - SCW_KAPSULE cluster_name: type: string IngressDeploymentStatusResponse: title: IngressDeploymentStatusResponse x-stoplight: id: uebtvs1ouszf2 type: object properties: routerId: type: string x-stoplight: id: e507c0na5om2i format: uuid status: $ref: '#/components/schemas/StateEnum' GcpStaticClusterCredentials: title: GcpStaticClusterCredentials x-stoplight: id: qtvaepejqookw type: object required: - id - name - object_type properties: id: type: string format: uuid name: type: string object_type: enum: - GCP AzureStaticClusterCredentials: title: AzureStaticClusterCredentials x-stoplight: id: wo7v4e4c0jlfu type: object required: - id - name - azure_subscription_id - azure_tenant_id - object_type - azure_application_id - azure_application_object_id properties: id: type: string x-stoplight: id: 7qy00mrnhmclv format: uuid name: type: string x-stoplight: id: f5c1wc467emz3 azure_subscription_id: type: string x-stoplight: id: x0s5zbj6l1yx0 azure_tenant_id: type: string x-stoplight: id: ygjwz6uqfexsc object_type: x-stoplight: id: 8oodrxjznyahm enum: - AZURE azure_application_id: type: string x-stoplight: id: wc0e8cqceyopu azure_application_object_id: type: string x-stoplight: id: q20e71qkfsk1k AzureCredentialsRequest: title: AzureCredentialsRequest x-stoplight: id: gjzlt9ldnn7ip type: object required: - name - azure_subscription_id - azure_tenant_id properties: name: type: string x-stoplight: id: ywkpnhxrygsf4 azure_subscription_id: type: string x-stoplight: id: 4py3o45wxewvh azure_tenant_id: type: string x-stoplight: id: u776tz269mjb0 TerraformEngineEnum: enum: - TERRAFORM - OPEN_TOFU TerraformRequest: title: TerraformRequest x-stoplight: id: 7ujl5rx7sd38b type: object required: - name - description - auto_deploy - terraform_files_source - terraform_variables_source - backend - engine - provider_version - job_resources properties: name: type: string x-stoplight: id: 6mlmgpyzwe46t description: type: string x-stoplight: id: ltvpnbhjz1oho auto_deploy: type: boolean x-stoplight: id: 38iixcrw933wy terraform_files_source: oneOf: - type: object properties: git_repository: $ref: '#/components/schemas/TerraformGitRepositoryRequest' terraform_variables_source: $ref: '#/components/schemas/TerraformVariablesSourceRequest' backend: $ref: '#/components/schemas/TerraformBackend' engine: $ref: '#/components/schemas/TerraformEngineEnum' provider_version: $ref: '#/components/schemas/TerraformProviderVersion' timeout_sec: type: integer x-stoplight: id: 3e5ngsw45atsd icon_uri: type: string x-stoplight: id: nem7zoh97kyzc format: uri job_resources: $ref: '#/components/schemas/TerraformRequestJobResources' use_cluster_credentials: type: boolean x-stoplight: id: w9ncq63nukwe0 action_extra_arguments: type: object x-stoplight: id: guh2uio7aztct description: |- The key represent the action command name i.e: "plan" The value represent the extra arguments to pass to this command i.e: {"apply", ["-lock=false"]} is going to prepend `-lock=false` to terraform apply commands additionalProperties: x-stoplight: id: 99o28tw5chbb1 type: array items: x-stoplight: id: c6p960bh9qcu4 type: string TerraformResponse: allOf: - $ref: '#/components/schemas/Base' - type: object required: - name - timeout_sec - auto_deploy - icon_uri - service_type - terraform_variables_source - engine - backend - provider_version - job_resources - environment - use_cluster_credentials - action_extra_arguments properties: name: type: string description: name is case insensitive description: type: string timeout_sec: type: integer minimum: 0 default: 600 auto_deploy: type: boolean terraform_files_source: nullable: false x-stoplight: id: abfhjb6q74upq oneOf: - $ref: '#/components/schemas/TerraformFilesSource' icon_uri: type: string format: uri description: Icon URI representing the terraform service. x-stoplight: id: i2pvbugqsldhe service_type: $ref: '#/components/schemas/ServiceTypeEnum' terraform_variables_source: $ref: '#/components/schemas/TerraformVariablesSourceResponse' engine: $ref: '#/components/schemas/TerraformEngineEnum' backend: $ref: '#/components/schemas/TerraformBackend' provider_version: $ref: '#/components/schemas/TerraformProviderVersion' job_resources: $ref: '#/components/schemas/TerraformJobResourcesResponse' environment: $ref: '#/components/schemas/ReferenceObject' use_cluster_credentials: type: boolean x-stoplight: id: ixjejij08tgfo action_extra_arguments: type: object x-stoplight: id: rnkzwlf29dgb5 description: |- The key represent the action command name i.e: "plan" The value represent the extra arguments to pass to this command i.e: {"apply", ["-lock=false"]} is going to prepend `-lock=false` to terraform apply commands additionalProperties: x-stoplight: id: 57b09dqz1jwra type: array items: x-stoplight: id: 2mkmankga2thw type: string description: A Terraform service TerraformRequestJobResources: title: TerraformRequestJobResources x-stoplight: id: ucc7l63gajzu8 type: object required: - cpu_milli - ram_mib - gpu - storage_gib properties: cpu_milli: type: integer x-stoplight: id: alsilze9jc23e ram_mib: type: integer x-stoplight: id: a5y9bv1avatm3 gpu: type: integer x-stoplight: id: rql3vn2yhkwec minimum: 0 default: 0 example: 1 storage_gib: type: integer x-stoplight: id: 627awhyjj26ny TerraformProviderVersion: title: TerraformProviderVersion x-stoplight: id: 1a1hkhvei2wjq type: object required: - explicit_version properties: read_from_terraform_block: type: boolean x-stoplight: id: p2dnmuifo0fki explicit_version: type: string x-stoplight: id: 611hxcvuy68lv TerraformVariableParsingRequest: type: object required: - git_repository properties: git_repository: $ref: '#/components/schemas/ApplicationGitRepositoryRequest' TerraformVariablesSourceRequest: title: TerraformVariablesSourceRequest x-stoplight: id: w9dp75z2a944z type: object required: - tf_var_file_paths - tf_vars properties: tf_var_file_paths: type: array x-stoplight: id: kk82s9qjluugt items: x-stoplight: id: 7ns22ue58d2zb type: string tf_vars: type: array items: $ref: '#/components/schemas/TerraformVarKeyValue' TerraformVarKeyValue: title: TerraformVarKeyValue type: object description: A Terraform input variable properties: key: type: string x-stoplight: id: enwctu8s88umi value: type: string x-stoplight: id: ix1y6viqpaxk6 secret: type: boolean x-stoplight: id: df80p2az3whjg TerraformVariablesResponse: title: TerraformVariablesResponse type: object description: Response containing list of Terraform variables required: - variables properties: variables: type: array items: $ref: '#/components/schemas/TerraformVariableResponse' TerraformVariableResponse: title: TerraformVariableResponse type: object description: A Terraform variable with its configuration required: - key - secret properties: key: type: string description: The variable key/name value: type: string nullable: true description: The variable value (null if secret and not exposed) secret: type: boolean description: Whether the variable is secret TerraformVariableDefinition: title: TerraformVariableDefinition type: object description: Represents a Terraform variable definition extracted from a Terraform file. required: - key - sensitive - source properties: key: type: string description: The name of the variable sensitive: type: boolean description: Whether the variable is marked as sensitive default: type: string nullable: true description: 'The default value of the variable, or null if no default is provided' source: type: string description: The path inside your git repository where the variable is defined TerraformFilesSourceRequest: title: TerraformFilesSourceRequest x-stoplight: id: n91jcyroi7kt4 type: object properties: id: type: string x-stoplight: id: vtpiblf7t37xq TerraformGitRepositoryRequest: title: TerraformGitRepositoryRequest x-stoplight: id: ot316adf8cqn0 type: object required: - url properties: url: type: string x-stoplight: id: yjnlaiu6umfgc branch: type: string x-stoplight: id: 7txz9hngsrt2a root_path: type: string x-stoplight: id: 2sdr8f1ia9yr1 git_token_id: type: string x-stoplight: id: ddhd4pztgc43y TerraformVariablesSourceResponse: title: TerraformVariablesSourceResponse x-stoplight: id: 2lr1mv2b3y7xy type: object required: - tf_var_file_paths - tf_vars properties: tf_var_file_paths: type: array x-stoplight: id: ua5d71it2yiu5 items: x-stoplight: id: qsy17gz9fl3n3 type: string tf_vars: type: array items: $ref: '#/components/schemas/TerraformVarKeyValue' TfVarsListRequest: title: TfVarsListRequest type: object description: Request to list Terraform tfvars files from a Git repository required: - git_repository - mode properties: git_repository: $ref: '#/components/schemas/ApplicationGitRepositoryRequest' mode: $ref: '#/components/schemas/TfVarsDiscoveryMode' TfVarsDiscoveryMode: title: TfVarsDiscoveryMode description: Discovery mode for Terraform tfvars files - either auto-discover or specify paths oneOf: - $ref: '#/components/schemas/TfVarsDiscoveryModeAutoDiscover' - $ref: '#/components/schemas/TfVarsDiscoveryModeSpecificPaths' discriminator: propertyName: type mapping: AutoDiscover: '#/components/schemas/TfVarsDiscoveryModeAutoDiscover' SpecificPaths: '#/components/schemas/TfVarsDiscoveryModeSpecificPaths' TfVarsDiscoveryModeAutoDiscover: title: TfVarsDiscoveryModeAutoDiscover type: object description: Automatically discover all tfvars files in the repository required: - type properties: type: type: string enum: - AutoDiscover description: Discriminator for auto-discovery mode TfVarsDiscoveryModeSpecificPaths: title: TfVarsDiscoveryModeSpecificPaths type: object description: Discover tfvars files at specific paths only required: - type - paths properties: type: type: string enum: - SpecificPaths description: Discriminator for specific paths mode paths: type: array items: type: string description: List of specific paths to tfvars files example: - /environments/prod.tfvars - /environments/staging.tfvars TfVarsFileResponse: title: TfVarsFileResponse type: object description: Represents a Terraform tfvars file with its variables required: - source - variables properties: source: type: string description: The path to the tfvars file within the Git repository example: environments/prod.tfvars variables: type: object additionalProperties: type: string description: Map of variable names to their values from the tfvars file example: environment: production region: us-east-1 TerraformJobResourcesResponse: title: TerraformJobResourcesResponse x-stoplight: id: xhswkmfwyerrv type: object required: - cpu_milli - ram_mib - gpu - storage_gib properties: cpu_milli: type: integer x-stoplight: id: bg054290feb9c ram_mib: type: integer x-stoplight: id: f6dur44ah2bwe gpu: type: integer x-stoplight: id: y8lomc204l40z default: 0 minimum: 0 example: 1 storage_gib: type: integer x-stoplight: id: dsf78pwnvmqi8 TerraformResponseList: title: TerraformResponseList x-stoplight: id: ipapoxduvpkk7 type: object properties: results: type: array x-stoplight: id: mkzx2zfzysbnp items: $ref: '#/components/schemas/TerraformResponse' TerraformVersionResponse: type: object required: - engine - version properties: engine: $ref: '#/components/schemas/TerraformEngineEnum' version: type: string description: Terraform version string TerraformVersionResponseList: type: object properties: results: type: array items: $ref: '#/components/schemas/TerraformVersionResponse' TerraformAdvancedSettings: title: TerraformAdvancedSettings x-stoplight: id: vykzi46lkt2y1 type: object properties: build.timeout_max_sec: type: integer description: define the max timeout for the build 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.ephemeral_storage_in_gib: type: integer 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 additionalProperties: type: string description: Set pod placement on specific Kubernetes nodes labels security.service_account_name: type: string description: | Allows you to set an existing Kubernetes service account name security.read_only_root_filesystem: type: boolean description: | Mounts the container's root filesystem as read-only TerraformDeployRequest: type: object properties: id: type: string format: uuid nullable: true description: Terraform service identifier git_commit_id: type: string description: Commit to deploy for chart source. dry_run: type: boolean description: 'Deprecated: use action=PLAN instead.' force_unlock_state: type: boolean nullable: true description: 'Deprecated: use action=FORCE_UNLOCK instead.' action: type: string nullable: true description: Terraform action to execute. enum: - PLAN - FORCE_UNLOCK - MIGRATE_STATE TerraformDeploymentRestrictionRequest: title: TerraformDeploymentRestrictionRequest x-stoplight: id: gtjm33l5m7q0x type: object required: - mode - type - value properties: mode: $ref: '#/components/schemas/DeploymentRestrictionModeEnum' type: $ref: '#/components/schemas/DeploymentRestrictionTypeEnum' value: type: string x-stoplight: id: hsk8w0ydpuwm4 description: '‘For `PATH` restrictions, the value must not start with `/`’' TerraformDeploymentRestrictionResponse: title: TerraformDeploymentRestrictionResponse x-stoplight: id: 9t9zdouc9tao0 allOf: - $ref: '#/components/schemas/Base' - $ref: '#/components/schemas/TerraformDeploymentRestrictionRequest' TerraformDeploymentRestrictionResponseList: title: TerraformDeploymentRestrictionResponseList x-stoplight: id: olvqymwxtdfeq type: object properties: results: x-stoplight: id: iu0k7b7tkayre type: array items: $ref: '#/components/schemas/TerraformDeploymentRestrictionResponse' OrganizationCrendentialsResponseList: title: OrganizationCrendentialsResponseList x-stoplight: id: 0tv1xnjgh98nm type: object properties: results: type: array x-stoplight: id: dyld95hlync5e items: x-stoplight: id: qjal2umjmvumz type: object properties: credential: $ref: '#/components/schemas/ClusterCredentials' clusters: type: array x-stoplight: id: 7o7dzkbyt78bu items: $ref: '#/components/schemas/CredentialCluster' CredentialCluster: title: CredentialCluster x-stoplight: id: oyhk9uf5vcqlk type: object properties: id: type: string x-stoplight: id: ksymb5hxvrlq9 format: uuid name: type: string x-stoplight: id: skztj7io7an31 cloud_provider: $ref: '#/components/schemas/CloudProviderEnum' TerraformFilesSource: title: TerraformFilesSource x-stoplight: id: ynhtfa5yo20ee type: object properties: git: x-stoplight: id: iavjewfs0d12k type: object properties: git_repository: $ref: '#/components/schemas/ApplicationGitRepository' ClusterLogsResponse: title: ClusterLogsResponse x-stoplight: id: 93ntufnd3epke type: object properties: response: type: string x-stoplight: id: 7vk339giarxht ClusterInfrastructureChartsParameters: type: object properties: nginx_parameters: $ref: '#/components/schemas/ClusterInfrastructureNginxChartParameters' cert_manager_parameters: $ref: '#/components/schemas/ClusterInfrastructureCertManagerChartParameters' metal_lb_parameters: $ref: '#/components/schemas/ClusterInfrastructureMetalLbChartParameters' ClusterInfrastructureNginxChartParameters: title: ClusterInfrastructureNginxChartParameters x-stoplight: id: c9r0h8ey6ugzr type: object properties: replica_count: type: integer x-stoplight: id: zdwoxwir7ygnw minimum: 0 default_ssl_certificate: type: string x-stoplight: id: z1l1xmwud3yjq publish_status_address: type: string x-stoplight: id: da9klqdcxew6n annotation_metal_lb_load_balancer_ips: type: string x-stoplight: id: 4ji26purdr956 annotation_external_dns_kubernetes_target: type: string x-stoplight: id: ytwsmm8mzre3g ClusterInfrastructureCertManagerChartParameters: title: InfrastructureCertManagerChartParameters x-stoplight: id: xsidu7mikkhq3 type: object properties: kubernetes_namespace: type: string x-stoplight: id: y5txd86avhe6j ClusterInfrastructureMetalLbChartParameters: title: InfrastructureMetalLbChartParameters x-stoplight: id: evxswes22ykhd type: object properties: ip_address_pools: type: array x-stoplight: id: sfxtfy7n1uddw items: x-stoplight: id: lstjwwfo9ys6i type: string EnterpriseConnectionResponseList: title: EnterpriseConnectionResponseList type: object properties: results: type: array items: $ref: '#/components/schemas/EnterpriseConnectionDto' EnterpriseConnectionDto: title: EnterpriseConnectionDto type: object required: - connection_name - default_role - enforce_group_sync - group_mappings properties: connection_name: type: string description: The connection name default_role: type: string description: | The purpose of this default role is to be associated to your users if: - you choose to not expose your IDPs groups to the SAML / OIDC connection - no associated group is found in your `group_mappings` defined You can define either a Qovery provided role (i.e `viewer`) or one of your custom role`s uuid. enforce_group_sync: type: boolean description: | * if `true`, roles will be synchronized at each user login according to your `group_mappings` configuration based on your IDP groups * if `false`, no synchronization is done for your users and `group_mappings` configuration will be ignored group_mappings: type: object description: | This will allow to create mapping rules based on your IDP group names. It's a dictionnary having: - key: either a Qovery provided role (i.e `viewer`) or one of your custom role`s uuid - value: an array of your IDP group names Example: "I want to associate the Qovery role `devops` to my IDP groups ['Administrators', 'DevSecOps']" additionalProperties: type: array items: type: string nullable: false AlertReceiverCreationRequest: title: AlertReceiverCreationRequest x-stoplight: id: q1oj36zhkhmvp type: object discriminator: propertyName: type mapping: SLACK: '#/components/schemas/SlackAlertReceiverCreationRequest' x-internal: false required: - organization_id - name - description - type - send_resolved properties: organization_id: type: string x-stoplight: id: bojx2ynimjvnr format: uuid name: type: string x-stoplight: id: vhcpsitoy9mm1 description: type: string x-stoplight: id: lrlxf8a34veta type: $ref: '#/components/schemas/AlertReceiverType' send_resolved: type: boolean x-stoplight: id: ucf1p0q2vpohv SlackAlertReceiverCreationRequest: title: SlackAlertReceiverCreationRequest x-stoplight: id: awuv9zidg4qxx allOf: - $ref: '#/components/schemas/AlertReceiverCreationRequest' - type: object x-stoplight: id: jw3lis4cbm2nf required: - webhook_url properties: webhook_url: type: string x-stoplight: id: dre0gsq0bs0xv format: uri AlertReceiverType: title: AlertReceiverType x-stoplight: id: 79fodqa89swh7 enum: - SLACK AlertReceiverEditRequest: title: AlertReceiverEditRequest x-stoplight: id: y2od6vkbmt7yr type: object discriminator: propertyName: type mapping: SLACK: '#/components/schemas/SlackAlertReceiverEditRequest' required: - name - description - type - send_resolved properties: name: type: string x-stoplight: id: x7yi5mef1y2le description: type: string x-stoplight: id: 0l6xifjl3s4e2 type: $ref: '#/components/schemas/AlertReceiverType' send_resolved: type: boolean x-stoplight: id: hk2x1t8ixk5sf SlackAlertReceiverEditRequest: title: SlackAlertReceiverEditRequest x-stoplight: id: hcxf6sxx1jrv9 allOf: - $ref: '#/components/schemas/AlertReceiverEditRequest' - type: object x-stoplight: id: 0nkbeafo42gqk properties: webhook_url: type: string x-stoplight: id: 8c5ze7hwv90q2 nullable: true AlertReceiverResponse: title: AlertReceiverResponse x-stoplight: id: qyrx61cvx84cz allOf: - $ref: '#/components/schemas/Base' - type: object required: - name - description - type - send_resolved properties: name: type: string x-stoplight: id: 5zeqm4fc5c8bf description: type: string x-stoplight: id: aja5apvg882lo type: $ref: '#/components/schemas/AlertReceiverType' send_resolved: type: boolean x-stoplight: id: xpyx1p6hna34g AlertReceiverList: title: AlertReceiverList x-stoplight: id: adq5zt8oqtve1 type: object required: - results properties: results: x-stoplight: id: e8a6xqrax75d5 type: array items: $ref: '#/components/schemas/AlertReceiverResponse' AlertPresentation: title: AlertPresentation x-stoplight: id: csg2krsbv2i40 type: object properties: summary: type: string x-stoplight: id: 4q8s7z1uu8kvm nullable: true runbook_url: type: string x-stoplight: id: fe7wk13airhnu description: URL to runbook with remediation steps format: uri nullable: true AlertRuleCreationRequest: title: AlertRuleCreationRequest x-stoplight: id: mcgiquvv7m2vp type: object required: - organization_id - cluster_id - name - description - promql_expr - for_duration - severity - presentation - enabled - alert_receiver_ids - target properties: organization_id: type: string x-stoplight: id: qe8mxuqf5rerq format: uuid description: Organization identifier cluster_id: type: string x-stoplight: id: luojx47y8mgl1 format: uuid description: ' Cluster identifier where the rule will be deployed' name: type: string x-stoplight: id: 7ih1egmfghew9 description: Name of the alert rule description: type: string x-stoplight: id: jhc5u599bha5a description: | Description of what the alert monitors promql_expr: type: string x-stoplight: id: 2ojznqgimdacq description: PromQL expression to evaluate for_duration: type: string x-stoplight: id: 8jk0kcca7whc6 description: Duration the condition must be true before firing (ISO-8601 duration format) format: duration severity: $ref: '#/components/schemas/AlertSeverity' presentation: $ref: '#/components/schemas/AlertPresentation' enabled: type: boolean x-stoplight: id: 0ksuq2b0flii5 description: Whether the alert rule is enabled alert_receiver_ids: type: array x-stoplight: id: oy3dbybxgmvs5 description: List of alert receiver IDs to send notifications to minItems: 1 items: x-stoplight: id: cc3sm9sjduuqf type: string format: uuid target: $ref: '#/components/schemas/AlertTarget' AlertSeverity: title: AlertSeverity x-stoplight: id: 74rrc7nvxpc30 description: |- Alert severity level: - LOW: Minor issues or informational alerts that don't require immediate attention. Can be addressed during normal business hours. - MEDIUM: Moderate issues that should be investigated soon but don't impact critical services. May cause degraded performance or minor service disruption. - HIGH: Serious issues affecting service quality or availability. Requires prompt attention and resolution within hours. - CRITICAL: Critical issue requiring immediate action. Service outage, data loss risk, or severe performance degradation affecting users. enum: - LOW - MEDIUM - HIGH - CRITICAL AlertRuleEditRequest: title: AlertRuleEditRequest x-stoplight: id: 6914x54u4sgg0 type: object required: - name - description - promql_expr - for_duration - severity - enabled - alert_receiver_ids - presentation properties: name: type: string x-stoplight: id: 7zbib93n861tt description: Name of the alert rule description: type: string x-stoplight: id: 2xpgzz03za6jo description: Description of what the alert monitors promql_expr: type: string x-stoplight: id: 6smsj3iavzowc description: PromQL expression to evaluate for_duration: type: string x-stoplight: id: auoq20czr9ouh format: duration description: Duration the condition must be true before firing (ISO-8601 duration format) severity: $ref: '#/components/schemas/AlertSeverity' enabled: type: boolean x-stoplight: id: uayodiines5vd description: Whether the alert rule is enabled alert_receiver_ids: type: array x-stoplight: id: n42yd3ffbfzdq description: List of alert receiver IDs to send notifications to minItems: 1 items: x-stoplight: id: xt3qvn76g9znl type: string format: uuid presentation: $ref: '#/components/schemas/AlertPresentation' AlertPresentationResponse: title: AlertPresentationResponse x-stoplight: id: dx514vxebudw0 type: object properties: summary: type: string x-stoplight: id: z5t89ub093022 description: ' Alert summary template' nullable: true runbook_url: type: string x-stoplight: id: kf94o17fes7zl description: URL to runbook with remediation steps format: uri nullable: true AlertRuleResponse: title: AlertRuleResponse x-stoplight: id: jsi9jy70651hv allOf: - $ref: '#/components/schemas/Base' - type: object required: - organization_id - cluster_id - name - description - promql_expr - for_duration - severity - enabled - alert_receiver_ids - presentation - target - state - is_up_to_date properties: organization_id: type: string x-stoplight: id: 40agisyi9s6no format: uuid description: Organization identifier cluster_id: type: string x-stoplight: id: nd3oz9h1qpa6w description: ' Cluster identifier' format: uuid name: type: string x-stoplight: id: 866jtxgaipphh description: | Name of the alert rule description: type: string x-stoplight: id: r728dl0e8ef6x description: Description of what the alert monitors promql_expr: type: string x-stoplight: id: 5e2ku0srk67e7 description: PromQL expression to evaluate for_duration: type: string x-stoplight: id: 3aceb4kbdv4pz format: duration description: Duration the condition must be true before firing (ISO-8601 duration format) severity: $ref: '#/components/schemas/AlertSeverity' enabled: type: boolean x-stoplight: id: du2v3ss6fb66f description: Whether the alert rule is enabled alert_receiver_ids: type: array x-stoplight: id: 7lerayyele2ss description: List of alert receiver IDs to send notifications to items: x-stoplight: id: xdka1kakao7s0 type: string format: uuid presentation: $ref: '#/components/schemas/AlertPresentationResponse' target: $ref: '#/components/schemas/AlertTarget' state: $ref: '#/components/schemas/AlertRuleState' is_up_to_date: type: boolean x-stoplight: id: 4nfaupf2l1668 description: |- Indicates whether the current version of the alert has been synced with the alerting system. If false, an outdated version is currently deployed. AlertTargetType: title: AlertTargetType x-stoplight: id: y45ivkwhr7wb4 enum: - ' CLUSTER' - ENVIRONMENT - APPLICATION - CONTAINER - JOB - CRONJOB - HELM - TERRAFORM description: The target of an alert AlertTarget: title: AlertTarget x-stoplight: id: rv11vyq7cy4dn type: object required: - target_type - target_id properties: target_type: $ref: '#/components/schemas/AlertTargetType' target_id: type: string x-stoplight: id: 8begp36fsknxq format: uuid AlertRuleState: title: AlertRuleState x-stoplight: id: 05u4rv9rrfvcp enum: - UNDEPLOYED - OK - TRIGGERED - PENDING_NOTIFICATION - NOTIFIED - SUPPRESSED - UNROUTED AlertRuleList: title: AlertRuleList x-stoplight: id: hawsqfl98nqlz type: object required: - results properties: results: type: array x-stoplight: id: nsk4tfkil7yuf items: $ref: '#/components/schemas/AlertRuleResponse' ObservabilityResourceProfile: title: ObservabilityResourceProfile x-stoplight: id: 3a3rea0t85miz enum: - LOW - NORMAL - HIGH CloudWatchExportConfig: title: CloudWatchExportConfig x-stoplight: id: 69hi4weirghk5 type: object required: - enabled properties: enabled: description: To enable the cloudwatch exporter. type: boolean x-stoplight: id: zxwl3n47xffu4 InternalNetworkMonitoring: title: InternalNetworkMonitoring x-stoplight: id: d9zr14swvmont type: object required: - enabled properties: enabled: type: boolean x-stoplight: id: 8fvsh62tnjurc AlertingConfig: title: AlertingConfig x-stoplight: id: 079kamufdt1pm type: object required: - enabled properties: enabled: type: boolean x-stoplight: id: spv3usiee6mc9 default_rule_labels: type: string x-stoplight: id: tsp767d421sed spec_config_secret: type: string x-stoplight: id: vhloqa7s6ta17 spec_external_url: type: string x-stoplight: id: 53c0p049mktbg config_name: type: string x-stoplight: id: 6ueyhx8jelz3f responses: '204': description: no content '400': description: Bad request '401': description: Access token is missing or invalid '403': description: Access forbidden '404': description: Resource not found 204-deletion: description: The resource was deleted successfully 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" ''' security: - bearerAuth: [] - ApiKeyAuth: []