Qovery API (1.0.3)

Download OpenAPI specification:Download

Qovery Product Team: [email protected] URL: https://www.qovery.com
  • Qovery is the fastest way to deploy your full-stack apps on any Cloud provider.
  • ℹ️ The API is stable and still in development.

Organization Main Calls

List user organizations

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create an organization

Authorizations:
bearerAuthApiKeyAuth
Request Body schema: application/json
name
required
string

name is case insensitive

description
string or null
plan
required
string (PlanEnum)
Enum: "FREE" "TEAM" "TEAM_YEARLY" "ENTERPRISE" "ENTERPRISE_YEARLY" "PROFESSIONAL" "BUSINESS"

BUSINESS & PROFESSIONAL are deprecated

website_url
string or null
repository
string or null
logo_url
string or null
icon_url
string or null
admin_emails
Array of strings or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "plan": "FREE",
  • "website_url": "string",
  • "repository": "string",
  • "logo_url": "string",
  • "icon_url": "string",
  • "admin_emails": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "plan": "FREE",
  • "website_url": "string",
  • "repository": "string",
  • "logo_url": "string",
  • "icon_url": "string",
  • "admin_emails": [
    ],
  • "owner": "534359f7-5407-4b19-ba92-c71c370022a5"
}

Get organization by ID

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "plan": "FREE",
  • "website_url": "string",
  • "repository": "string",
  • "logo_url": "string",
  • "icon_url": "string",
  • "admin_emails": [
    ],
  • "owner": "534359f7-5407-4b19-ba92-c71c370022a5"
}

Edit an organization

To edit an organization you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string

name is case insensitive

description
string
website_url
string or null
repository
string or null
logo_url
string or null
icon_url
string or null
admin_emails
Array of strings or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "website_url": "string",
  • "repository": "string",
  • "logo_url": "string",
  • "icon_url": "string",
  • "admin_emails": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "plan": "FREE",
  • "website_url": "string",
  • "repository": "string",
  • "logo_url": "string",
  • "icon_url": "string",
  • "admin_emails": [
    ],
  • "owner": "534359f7-5407-4b19-ba92-c71c370022a5"
}

Delete an organization

To delete an organization you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

List organization available roles

List organization available roles

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List organization git tokens

List organization git tokens

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a git token

Create a new git token to be used as a git provider by a service

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string
description
string
type
required
string (GitProviderEnum)
Enum: "BITBUCKET" "GITHUB" "GITLAB"
token
required
string

The token from your git provider side

workspace
string

Mandatory only for BITBUCKET git provider, to allow us to fetch repositories at creation/edition of a service

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "type": "BITBUCKET",
  • "token": "string",
  • "workspace": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "type": "BITBUCKET",
  • "expired_at": "2019-08-24",
  • "workspace": "string",
  • "associated_services_count": 0
}

Get organization git token

Get organization git token

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

gitTokenId
required
string <uuid>

Git Token ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "type": "BITBUCKET",
  • "expired_at": "2019-08-24",
  • "workspace": "string",
  • "associated_services_count": 0
}

Edit a git token

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

gitTokenId
required
string <uuid>

Git Token ID

Request Body schema: application/json
name
required
string
description
string
type
required
string (GitProviderEnum)
Enum: "BITBUCKET" "GITHUB" "GITLAB"
token
required
string

The token from your git provider side

workspace
string

Mandatory only for BITBUCKET git provider, to allow us to fetch repositories at creation/edition of a service

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "type": "BITBUCKET",
  • "token": "string",
  • "workspace": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "type": "BITBUCKET",
  • "expired_at": "2019-08-24",
  • "workspace": "string",
  • "associated_services_count": 0
}

Delete a git token

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

gitTokenId
required
string <uuid>

Git Token ID

Responses

Get organization git token associated services

Get organization git tokens associated services

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

gitTokenId
required
string <uuid>

Git Token ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Organization Api Token

List organization api tokens

List organization api tokens

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create an organization api token

Create an organization api token. You can use the generated token to interact in a programmatic way with our API.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string
description
string
scope
string or null (OrganizationApiTokenScope)
Value: "ADMIN"

deprecated

role_id
required
string or null <uuid>

the roleId provided by the "List organization custom roles" endpoint.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "scope": "ADMIN",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "token": "string",
  • "role_name": "string",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9"
}

Delete organization api token

Delete organization api token

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

apiTokenId
required
string <uuid>

Organization Api Token ID

Responses

Organization Account Git Repositories

Get git provider accounts

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get github repositories of the connected user

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

query Parameters
gitTokenId
string <uuid>

The git token id that must be used for the application

Responses

Response samples

Content type
application/json
{}

Get github branches of the specified repository

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

query Parameters
name
string

The name of the repository where to retrieve the branches

gitTokenId
string <uuid>

The git token id that must be used for the application

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get gitlab repositories of the connected user

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

query Parameters
gitTokenId
string <uuid>

The git token id that must be used for the application

Responses

Response samples

Content type
application/json
{}

Get gitlab branches of the specified repository

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

query Parameters
name
string

The name of the repository to retrieve the branches

gitTokenId
string <uuid>

The git token id that must be used for the application

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get bitbucket repositories of the connected user

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

query Parameters
gitTokenId
string <uuid>

The git token id that must be used for the application

Responses

Response samples

Content type
application/json
{}

Get bitbucket branches of the specified repository

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

query Parameters
name
string

The name of the repository where to retrieve the branches

gitTokenId
string <uuid>

The git token id that must be used for the application

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Organization Webhook

List organization webhooks

List organization webhooks

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create an organization webhook

Create an organization webhook.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
kind
required
string (OrganizationWebhookKindEnum)
Enum: "STANDARD" "SLACK"

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.

target_url
required
string

Set the public HTTP or HTTPS endpoint that will receive the specified events. The target URL must starts with http:// or https://

target_secret
string

Make sure you receive a payload to sign the Qovery request with your secret. Qovery will add a HTTP header Qovery-Signature: <Your Secret> to every webhook requests sent to your target URL.

description
string
enabled
boolean

Turn on or off your endpoint.

events
required
Array of strings (OrganizationWebhookEventEnum)
Items Enum: "DEPLOYMENT_STARTED" "DEPLOYMENT_CANCELLED" "DEPLOYMENT_FAILURE" "DEPLOYMENT_SUCCESSFUL"
project_names_filter
Array of strings

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.

environment_types_filter
Array of strings (EnvironmentModeEnum)
Items Enum: "DEVELOPMENT" "PREVIEW" "PRODUCTION" "STAGING"

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.

Responses

Request samples

Content type
application/json
{
  • "kind": "STANDARD",
  • "target_url": "string",
  • "target_secret": "string",
  • "description": "string",
  • "enabled": true,
  • "events": [
    ],
  • "project_names_filter": [
    ],
  • "environment_types_filter": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "kind": "STANDARD",
  • "target_url": "string",
  • "target_secret_set": true,
  • "description": "string",
  • "enabled": true,
  • "events": [
    ],
  • "project_names_filter": [
    ],
  • "environment_types_filter": [
    ]
}

Get an Organization webhook

Get an Organization webhook

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

webhookId
required
string <uuid>

Webhook ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "kind": "STANDARD",
  • "target_url": "string",
  • "target_secret_set": true,
  • "description": "string",
  • "enabled": true,
  • "events": [
    ],
  • "project_names_filter": [
    ],
  • "environment_types_filter": [
    ]
}

Edit an organization webhook

Edit an organization webhook

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

webhookId
required
string <uuid>

Webhook ID

Request Body schema: application/json
kind
required
string (OrganizationWebhookKindEnum)
Enum: "STANDARD" "SLACK"

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.

target_url
required
string

Set the public HTTP or HTTPS endpoint that will receive the specified events. The target URL must starts with http:// or https://

target_secret
string

Make sure you receive a payload to sign the Qovery request with your secret. Qovery will add a HTTP header Qovery-Signature: <Your Secret> to every webhook requests sent to your target URL.

description
string
enabled
boolean

Turn on or off your endpoint.

events
required
Array of strings (OrganizationWebhookEventEnum)
Items Enum: "DEPLOYMENT_STARTED" "DEPLOYMENT_CANCELLED" "DEPLOYMENT_FAILURE" "DEPLOYMENT_SUCCESSFUL"
project_names_filter
Array of strings

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.

environment_types_filter
Array of strings (EnvironmentModeEnum)
Items Enum: "DEVELOPMENT" "PREVIEW" "PRODUCTION" "STAGING"

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.

Responses

Request samples

Content type
application/json
{
  • "kind": "STANDARD",
  • "target_url": "string",
  • "target_secret": "string",
  • "description": "string",
  • "enabled": true,
  • "events": [
    ],
  • "project_names_filter": [
    ],
  • "environment_types_filter": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "kind": "STANDARD",
  • "target_url": "string",
  • "target_secret_set": true,
  • "description": "string",
  • "enabled": true,
  • "events": [
    ],
  • "project_names_filter": [
    ],
  • "environment_types_filter": [
    ]
}

Delete organization webhook

Delete organization webhook

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

webhookId
required
string <uuid>

Webhook ID

Responses

Organization Custom Role

List organization custom roles

List organization custom roles

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create an organization custom role

Create an organization custom role

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "cluster_permissions": [
    ],
  • "project_permissions": [
    ]
}

Get an organization custom role

Get an organization custom role

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

customRoleId
required
string <uuid>

Custom Role ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "cluster_permissions": [
    ],
  • "project_permissions": [
    ]
}

Edit an organization custom role

Edit an organization custom role

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

customRoleId
required
string <uuid>

Custom Role ID

Request Body schema: application/json
name
required
string
description
string
required
Array of objects

Should contain an entry for every existing cluster

required
Array of objects

Should contain an entry for every existing project

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "cluster_permissions": [
    ],
  • "project_permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "cluster_permissions": [
    ],
  • "project_permissions": [
    ]
}

Delete organization custom role

Delete organization custom role

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

customRoleId
required
string <uuid>

Custom Role ID

Responses

Organization Event

Get all events inside the organization

Get all events inside the organization

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

query Parameters
pageSize
number or null
Default: 10

The number of events to display in the current page

fromTimestamp
string or null

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

toTimestamp
string or null

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

continueToken
string

Token used to fetch the next page results The format is a timestamp with nano precision

stepBackToken
string

Token used to fetch the previous page results The format is a timestamp with nano precision

eventType
string (OrganizationEventType)
Enum: "CREATE" "UPDATE" "DELETE" "ACCEPT" "EXPORT" "TRIGGER_DEPLOY" "TRIGGER_REDEPLOY" "TRIGGER_STOP" "TRIGGER_CANCEL" "TRIGGER_RESTART" "TRIGGER_DELETE"
Example: eventType=CREATE

Type of the organization event

targetType
string (OrganizationEventTargetType)
Enum: "APPLICATION" "CLUSTER" "CONTAINER" "CONTAINER_REGISTRY" "DATABASE" "ENVIRONMENT" "JOB" "HELM" "MEMBERS_AND_ROLES" "ORGANIZATION" "PROJECT" "WEBHOOK"
Example: targetType=APPLICATION

Type of the organization event

targetId
string or null <uuid>

The target resource id to search.
Must be specified with the corresponding target_type

subTargetType
string or null (OrganizationEventSubTargetType)
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: subTargetType=ADVANCED_SETTINGS

Type of the organization event

triggeredBy
string

Information about the owner of the event (user name / apitoken / automatic action)

origin
string (OrganizationEventOrigin)
Enum: "API" "CLI" "CONSOLE" "GIT" "QOVERY_INTERNAL" "TERRAFORM_PROVIDER"
Example: origin=API

Origin of the organization event

Responses

Response samples

Content type
application/json
{
  • "links": {},
  • "events": [
    ]
}

Get available event targets to filter events

Get available event targets to filter events

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

query Parameters
fromTimestamp
string or null

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

toTimestamp
string or null

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

eventType
string (OrganizationEventType)
Enum: "CREATE" "UPDATE" "DELETE" "ACCEPT" "EXPORT" "TRIGGER_DEPLOY" "TRIGGER_REDEPLOY" "TRIGGER_STOP" "TRIGGER_CANCEL" "TRIGGER_RESTART" "TRIGGER_DELETE"
Example: eventType=CREATE

Type of the organization event

targetType
string (OrganizationEventTargetType)
Enum: "APPLICATION" "CLUSTER" "CONTAINER" "CONTAINER_REGISTRY" "DATABASE" "ENVIRONMENT" "JOB" "HELM" "MEMBERS_AND_ROLES" "ORGANIZATION" "PROJECT" "WEBHOOK"
Example: targetType=APPLICATION

Type of the organization event

triggeredBy
string

Information about the owner of the event (user name / apitoken / automatic action)

origin
string (OrganizationEventOrigin)
Enum: "API" "CLI" "CONSOLE" "GIT" "QOVERY_INTERNAL" "TERRAFORM_PROVIDER"
Example: origin=API

Origin of the organization event

projectId
string <uuid>

Mandatory when requesting an environment or a service

environmentId
string <uuid>

Mandatory when requesting a service

Responses

Response samples

Content type
application/json
{
  • "targets": [
    ]
}

Projects

List projects

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a project

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string

name is case insensitive

description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "organization": {
    }
}

List total number of services and environments for each project of the organization

Returns a list of project ids, and for each its total numberof services and environments

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Members

Get organization members

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Edit an organization member role

Edit an organization member role

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
user_id
required
string

specify the git provider user id

role_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "user_id": "string",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9"
}

Remove a member

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
user_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Get invited members

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Invite someone in the organization

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
email
required
string
role
string (InviteMemberRoleEnum)
Enum: "ADMIN" "DEVELOPER" "OWNER" "VIEWER"

deprecated

role_id
string <uuid>

the target role to attribute to the new member

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "role": "ADMIN",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "email": "[email protected]",
  • "role": "ADMIN",
  • "invitation_link": "http://example.com",
  • "invitation_status": "EXPIRED",
  • "organization_name": "string",
  • "inviter": "string",
  • "logo_url": "http://example.com",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
  • "role_name": "string"
}

Get member invitation

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

inviteId
required
string <uuid>

Invite ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "email": "[email protected]",
  • "role": "ADMIN",
  • "invitation_link": "http://example.com",
  • "invitation_status": "EXPIRED",
  • "organization_name": "string",
  • "inviter": "string",
  • "logo_url": "http://example.com",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
  • "role_name": "string"
}

Accept Invite in the organization

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

inviteId
required
string <uuid>

Invite ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "email": "[email protected]",
  • "role": "ADMIN",
  • "invitation_link": "http://example.com",
  • "invitation_status": "EXPIRED",
  • "organization_name": "string",
  • "inviter": "string",
  • "logo_url": "http://example.com",
  • "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
  • "role_name": "string"
}

Remove an invited member

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

inviteId
required
string <uuid>

Invite ID

Responses

Transfer organization ownership to another user

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
user_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Billing

Get organization current cost

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "plan": "FREE",
  • "remaining_trial_day": 0,
  • "renewal_at": "2019-08-24T14:15:22Z",
  • "cost": {
    }
}

Add credit code

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
code
string

Responses

Request samples

Content type
application/json
{
  • "code": "string"
}

Change organization plan

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
plan
string

Responses

Request samples

Content type
application/json
{
  • "plan": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "plan": "FREE",
  • "website_url": "string",
  • "repository": "string",
  • "logo_url": "string",
  • "icon_url": "string",
  • "admin_emails": [
    ],
  • "owner": "534359f7-5407-4b19-ba92-c71c370022a5"
}

Get cluster current cost

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.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Response samples

Content type
application/json
{
  • "min_cost_in_cents": 15000,
  • "min_cost": 150,
  • "max_cost_in_cents": 30000,
  • "max_cost": 300,
  • "currency_code": "USD"
}

Get organization billing info

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "first_name": "Forrest",
  • "last_name": "Gump",
  • "email": "[email protected]",
  • "address": "21 Jenny Street",
  • "city": "Greenbow",
  • "zip": "36744",
  • "state": "Alabama",
  • "country_code": "US",
  • "company": "string",
  • "vat_number": "string"
}

Edit Organization Billing Info

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
first_name
required
string
last_name
required
string
email
required
string <email>

email used for billing, and to receive all invoices by email

address
required
string
city
required
string
zip
required
string
state
string

only for US

country_code
required
string

ISO code of the country

company
string

name of the company to bill

vat_number
string

Responses

Request samples

Content type
application/json
{
  • "first_name": "Forrest",
  • "last_name": "Gump",
  • "email": "[email protected]",
  • "address": "21 Jenny Street",
  • "city": "Greenbow",
  • "zip": "36744",
  • "state": "Alabama",
  • "country_code": "US",
  • "company": "string",
  • "vat_number": "string"
}

Response samples

Content type
application/json
{
  • "first_name": "Forrest",
  • "last_name": "Gump",
  • "email": "[email protected]",
  • "address": "21 Jenny Street",
  • "city": "Greenbow",
  • "zip": "36744",
  • "state": "Alabama",
  • "country_code": "US",
  • "company": "string",
  • "vat_number": "string"
}

Get organization billing status

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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "is_valid": true,
  • "message": "string"
}

Generate organization billing usage report

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
from
required
string <date-time>

The start date of the report

to
required
string <date-time>

The end date of the report

report_expiration_in_seconds
required
integer

The number of seconds the report will be publicly available

Responses

Request samples

Content type
application/json
{
  • "from": "2020-01-01T00:00:00.000Z",
  • "to": "2020-01-31T23:59:59.000Z",
  • "report_expiration_in_seconds": 3600
}

Response samples

Content type
application/json
{
  • "report_url": "string",
  • "delete_report_url": "string"
}

Get organization billing external ID

This endpoint returns the external ID of the organization's billing account.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

List organization invoices

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get organization invoice

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

invoiceId
required
string <uuid>

Invoice ID

Responses

Response samples

Content type
application/json
{
  • "total_in_cents": 30000,
  • "total": 300,
  • "currency_code": "USD",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "status": "NOT_PAID"
}

Get invoice link

This will return URL of the invoice PDF

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

invoiceId
required
string <uuid>

Invoice ID

Responses

Response samples

Content type
application/json
{
  • "url": "string",
  • "internal_port": 0,
  • "external_port": 0,
  • "is_qovery_domain": true,
  • "is_default": true
}

Download all invoices

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

List organization credit cards

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add credit card

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
number
required
string
cvv
required
string
expiry_month
required
integer
expiry_year
required
integer

Responses

Request samples

Content type
application/json
{
  • "number": "string",
  • "cvv": "string",
  • "expiry_month": 6,
  • "expiry_year": 2025
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "expiry_month": 6,
  • "expiry_year": 2025,
  • "last_digit": "7890",
  • "is_expired": true,
  • "brand": "string"
}

Delete credit card

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

creditCardId
required
string <uuid>

Credit Card ID

Responses

Clusters

List organization clusters

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a cluster

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string

name is case-insensitive

description
string
region
required
string
cloud_provider
required
string (CloudProviderEnum)
Enum: "AWS" "SCW" "GCP" "ON_PREMISE"
object (ClusterCloudProviderInfoRequest)
min_running_nodes
integer
Default: 1
max_running_nodes
integer
Default: 1
disk_size
integer
Default: 40

Unit is in GB. The disk size to be used for the node configuration

instance_type
string

the instance type to be used for this cluster. The list of values can be retrieved via the endpoint /{CloudProvider}/instanceType

kubernetes
string (KubernetesEnum)
Default: "MANAGED"
Enum: "K3S" "MANAGED" "SELF_MANAGED"
production
boolean

specific flag to indicate that this cluster is a production one

ssh_keys
Array of strings

Indicate your public ssh_key to remotely connect to your EC2 instance.

kubeconfig
string

If the cluster is a self managed one. The kubeconfig to use to connect to it

Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "region": "string",
  • "cloud_provider": "AWS",
  • "cloud_provider_credentials": {
    },
  • "min_running_nodes": 1,
  • "max_running_nodes": 1,
  • "disk_size": 50,
  • "instance_type": "T3A_LARGE",
  • "kubernetes": "K3S",
  • "production": true,
  • "ssh_keys": [
    ],
  • "kubeconfig": "string",
  • "features": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "organization": {
    },
  • "name": "string",
  • "description": "string",
  • "region": "string",
  • "cloud_provider": "AWS",
  • "min_running_nodes": 1,
  • "max_running_nodes": 1,
  • "disk_size": 50,
  • "instance_type": "T3A_LARGE",
  • "kubernetes": "K3S",
  • "cpu": 10000,
  • "memory": 4096,
  • "estimated_cloud_provider_cost": 0,
  • "status": "BUILDING",
  • "has_access": true,
  • "version": "string",
  • "is_default": true,
  • "production": true,
  • "ssh_keys": [
    ],
  • "features": [
    ],
  • "deployment_status": "NEVER_DEPLOYED"
}

List all clusters statuses

Returns a list of clusters with only their id and status.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Delete a cluster

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

query Parameters
deleteMode
string (ClusterDeleteMode)
Default: "DEFAULT"
Enum: "DEFAULT" "DELETE_CLUSTER_AND_QOVERY_CONFIG" "DELETE_QOVERY_CONFIG"
Example: deleteMode=DEFAULT

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

Responses

Edit a cluster

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Request Body schema: application/json
name
required
string

name is case-insensitive

description
string
region
required
string
cloud_provider
required
string (CloudProviderEnum)
Enum: "AWS" "SCW" "GCP" "ON_PREMISE"
object (ClusterCloudProviderInfoRequest)
min_running_nodes
integer
Default: 1
max_running_nodes
integer
Default: 1
disk_size
integer
Default: 40

Unit is in GB. The disk size to be used for the node configuration

instance_type
string

the instance type to be used for this cluster. The list of values can be retrieved via the endpoint /{CloudProvider}/instanceType

kubernetes
string (KubernetesEnum)
Default: "MANAGED"
Enum: "K3S" "MANAGED" "SELF_MANAGED"
production
boolean

specific flag to indicate that this cluster is a production one

ssh_keys
Array of strings

Indicate your public ssh_key to remotely connect to your EC2 instance.

kubeconfig
string

If the cluster is a self managed one. The kubeconfig to use to connect to it

Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "region": "string",
  • "cloud_provider": "AWS",
  • "cloud_provider_credentials": {
    },
  • "min_running_nodes": 1,
  • "max_running_nodes": 1,
  • "disk_size": 50,
  • "instance_type": "T3A_LARGE",
  • "kubernetes": "K3S",
  • "production": true,
  • "ssh_keys": [
    ],
  • "kubeconfig": "string",
  • "features": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "organization": {
    },
  • "name": "string",
  • "description": "string",
  • "region": "string",
  • "cloud_provider": "AWS",
  • "min_running_nodes": 1,
  • "max_running_nodes": 1,
  • "disk_size": 50,
  • "instance_type": "T3A_LARGE",
  • "kubernetes": "K3S",
  • "cpu": 10000,
  • "memory": 4096,
  • "estimated_cloud_provider_cost": 0,
  • "status": "BUILDING",
  • "has_access": true,
  • "version": "string",
  • "is_default": true,
  • "production": true,
  • "ssh_keys": [
    ],
  • "features": [
    ],
  • "deployment_status": "NEVER_DEPLOYED"
}

Get cluster status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Response samples

Content type
application/json
{
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "status": "BUILDING",
  • "is_deployed": true,
  • "last_execution_id": "f73e3833-922a-48a5-9dbd-6163f43f9143-1656410242"
}

Get cluster helm values for self managed installation

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Get cluster kubeconfig

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Edit cluster kubeconfig

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Request Body schema: application/x-yaml
string

Responses

Get advanced settings

Get the list and values of the advanced settings of the cluster. Default values for each setting are available in our documentation

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Response samples

Content type
application/json
{
  • "aws.cloudwatch.eks_logs_retention_days": 0,
  • "aws.vpc.enable_s3_flow_logs": true,
  • "aws.vpc.flow_logs_retention_days": 0,
  • "loki.log_retention_in_week": 0,
  • "registry.image_retention_time": 0,
  • "cloud_provider.container_registry.tags": {
    },
  • "load_balancer.size": "string",
  • "database.postgresql.deny_public_access": true,
  • "database.postgresql.allowed_cidrs": [
    ],
  • "database.mysql.deny_public_access": true,
  • "database.mysql.allowed_cidrs": [
    ],
  • "database.mongodb.deny_public_access": true,
  • "database.mongodb.allowed_cidrs": [
    ],
  • "database.redis.deny_public_access": true,
  • "database.redis.allowed_cidrs": [
    ],
  • "aws.iam.admin_group": "string",
  • "aws.eks.ec2.metadata_imds": "optional",
  • "pleco.resources_ttl": 0,
  • "registry.mirroring_mode": "CLUSTER",
  • "nginx.vcpu.request_in_milli_cpu": 0,
  • "nginx.vcpu.limit_in_milli_cpu": 0,
  • "nginx.memory.request_in_mib": 0,
  • "nginx.memory.limit_in_mib": 0,
  • "nginx.hpa.cpu_utilization_percentage_threshold": 0,
  • "nginx.hpa.min_number_instances": 0,
  • "nginx.hpa.max_number_instances": 0
}

Edit advanced settings

Edit advanced settings by returning table of advanced settings.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Request Body schema: application/json
aws.cloudwatch.eks_logs_retention_days
integer

Set the number of retention days for EKS Cloudwatch logs

aws.vpc.enable_s3_flow_logs
boolean

Enable flow logs for on the VPC and store them in an S3 bucket

aws.vpc.flow_logs_retention_days
integer

Set the number of retention days for flow logs. Disable with value "0"

loki.log_retention_in_week
integer

For how long in week loki is going to keep logs of your applications

registry.image_retention_time
integer

Configure the number of seconds before cleaning images in the registry

object

Add additional tags on the cluster dedicated registry

load_balancer.size
string

Select the size of the main load_balancer (only effective for Scaleway)

database.postgresql.deny_public_access
boolean

Deny public access to any PostgreSQL database

database.postgresql.allowed_cidrs
Array of strings

List of CIDRs allowed to access the PostgreSQL database

database.mysql.deny_public_access
boolean

Deny public access to any MySql database

database.mysql.allowed_cidrs
Array of strings

List of CIDRs allowed to access the MySql database

database.mongodb.deny_public_access
boolean

Deny public access to any MongoDB/DocumentDB database

database.mongodb.allowed_cidrs
Array of strings

List of CIDRs allowed to access the MongoDB/DocumentDB database

database.redis.deny_public_access
boolean

Deny public access to any Redis database

database.redis.allowed_cidrs
Array of strings

List of CIDRs allowed to access the Redis database

aws.iam.admin_group
string

AWS IAM group name with cluster access

aws.eks.ec2.metadata_imds
string
Enum: "optional" "required"

Specify the IMDS version you want to use:

  • required: IMDS V2 only
  • optional: IMDS V1 + V2
pleco.resources_ttl
integer
Deprecated
registry.mirroring_mode
string (RegistryMirroringModeEnum)
Default: "SERVICE"
Enum: "CLUSTER" "SERVICE"

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
nginx.vcpu.request_in_milli_cpu
integer

vcpu request in millicores

nginx.vcpu.limit_in_milli_cpu
integer

vcpu limit in millicores

nginx.memory.request_in_mib
integer

memory request in MiB

nginx.memory.limit_in_mib
integer

memory limit in MiB

nginx.hpa.cpu_utilization_percentage_threshold
integer

hpa cpu threshold in percentage

nginx.hpa.min_number_instances
integer

hpa minimum number of instances

nginx.hpa.max_number_instances
integer

hpa maximum number of instances

Responses

Request samples

Content type
application/json
{
  • "aws.cloudwatch.eks_logs_retention_days": 0,
  • "aws.vpc.enable_s3_flow_logs": true,
  • "aws.vpc.flow_logs_retention_days": 0,
  • "loki.log_retention_in_week": 0,
  • "registry.image_retention_time": 0,
  • "cloud_provider.container_registry.tags": {
    },
  • "load_balancer.size": "string",
  • "database.postgresql.deny_public_access": true,
  • "database.postgresql.allowed_cidrs": [
    ],
  • "database.mysql.deny_public_access": true,
  • "database.mysql.allowed_cidrs": [
    ],
  • "database.mongodb.deny_public_access": true,
  • "database.mongodb.allowed_cidrs": [
    ],
  • "database.redis.deny_public_access": true,
  • "database.redis.allowed_cidrs": [
    ],
  • "aws.iam.admin_group": "string",
  • "aws.eks.ec2.metadata_imds": "optional",
  • "pleco.resources_ttl": 0,
  • "registry.mirroring_mode": "CLUSTER",
  • "nginx.vcpu.request_in_milli_cpu": 0,
  • "nginx.vcpu.limit_in_milli_cpu": 0,
  • "nginx.memory.request_in_mib": 0,
  • "nginx.memory.limit_in_mib": 0,
  • "nginx.hpa.cpu_utilization_percentage_threshold": 0,
  • "nginx.hpa.min_number_instances": 0,
  • "nginx.hpa.max_number_instances": 0
}

Response samples

Content type
application/json
{
  • "aws.cloudwatch.eks_logs_retention_days": 0,
  • "aws.vpc.enable_s3_flow_logs": true,
  • "aws.vpc.flow_logs_retention_days": 0,
  • "loki.log_retention_in_week": 0,
  • "registry.image_retention_time": 0,
  • "cloud_provider.container_registry.tags": {
    },
  • "load_balancer.size": "string",
  • "database.postgresql.deny_public_access": true,
  • "database.postgresql.allowed_cidrs": [
    ],
  • "database.mysql.deny_public_access": true,
  • "database.mysql.allowed_cidrs": [
    ],
  • "database.mongodb.deny_public_access": true,
  • "database.mongodb.allowed_cidrs": [
    ],
  • "database.redis.deny_public_access": true,
  • "database.redis.allowed_cidrs": [
    ],
  • "aws.iam.admin_group": "string",
  • "aws.eks.ec2.metadata_imds": "optional",
  • "pleco.resources_ttl": 0,
  • "registry.mirroring_mode": "CLUSTER",
  • "nginx.vcpu.request_in_milli_cpu": 0,
  • "nginx.vcpu.limit_in_milli_cpu": 0,
  • "nginx.memory.request_in_mib": 0,
  • "nginx.memory.limit_in_mib": 0,
  • "nginx.hpa.cpu_utilization_percentage_threshold": 0,
  • "nginx.hpa.min_number_instances": 0,
  • "nginx.hpa.max_number_instances": 0
}

Get routing table

Retrieve network routing table where each line corresponds to a route between a destination and a target.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Edit routing table

Edit routing table by returning updated table.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Request Body schema: application/json
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "routes": [
    ]
}

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List Cluster Logs

List Cluster Logs

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get cluster cloud provider info and credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Response samples

Content type
application/json
{
  • "cloud_provider": "AWS",
  • "credentials": {
    },
  • "region": "string"
}

Specify cluster cloud provider info and credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Request Body schema: application/json
cloud_provider
string (CloudProviderEnum)
Enum: "AWS" "SCW" "GCP" "ON_PREMISE"
object
region
string

Responses

Request samples

Content type
application/json
{
  • "cloud_provider": "AWS",
  • "credentials": {
    },
  • "region": "string"
}

Response samples

Content type
application/json
{
  • "cloud_provider": "AWS",
  • "credentials": {
    },
  • "region": "string"
}

Know if a cluster is ready to be deployed or not

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Response samples

Content type
application/json
{
  • "is_ready": true
}

Deploy a cluster

allows to deploy a cluster

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Response samples

Content type
application/json
{
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "status": "BUILDING",
  • "is_deployed": true
}

Stop cluster

Cluster stop has been requester.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

clusterId
required
string <uuid>

Cluster ID

Responses

Response samples

Content type
application/json
{
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "status": "BUILDING",
  • "is_deployed": true
}

List default cluster advanced settings

Default values for each setting are available in our documentation

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "aws.cloudwatch.eks_logs_retention_days": 0,
  • "aws.vpc.enable_s3_flow_logs": true,
  • "aws.vpc.flow_logs_retention_days": 0,
  • "loki.log_retention_in_week": 0,
  • "registry.image_retention_time": 0,
  • "cloud_provider.container_registry.tags": {
    },
  • "load_balancer.size": "string",
  • "database.postgresql.deny_public_access": true,
  • "database.postgresql.allowed_cidrs": [
    ],
  • "database.mysql.deny_public_access": true,
  • "database.mysql.allowed_cidrs": [
    ],
  • "database.mongodb.deny_public_access": true,
  • "database.mongodb.allowed_cidrs": [
    ],
  • "database.redis.deny_public_access": true,
  • "database.redis.allowed_cidrs": [
    ],
  • "aws.iam.admin_group": "string",
  • "aws.eks.ec2.metadata_imds": "optional",
  • "pleco.resources_ttl": 0,
  • "registry.mirroring_mode": "CLUSTER",
  • "nginx.vcpu.request_in_milli_cpu": 0,
  • "nginx.vcpu.limit_in_milli_cpu": 0,
  • "nginx.memory.request_in_mib": 0,
  • "nginx.memory.limit_in_mib": 0,
  • "nginx.hpa.cpu_utilization_percentage_threshold": 0,
  • "nginx.hpa.min_number_instances": 0,
  • "nginx.hpa.max_number_instances": 0
}

Cloud Provider

List Cloud providers available

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List AWS regions

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List AWS features available

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List AWS available instance types

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List AWS available managed database types

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List AWS available managed database instance types

Authorizations:
bearerAuthApiKeyAuth
path Parameters
region
required
string
Example: us-east-2

region name

databaseType
required
string
Example: MYSQL

Database type

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List AWS EC2 available instance types

Authorizations:
bearerAuthApiKeyAuth
path Parameters
region
required
string
Example: us-east-2

region name

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List AWS EKS available instance types

Authorizations:
bearerAuthApiKeyAuth
path Parameters
region
required
string
Example: us-east-2

region name

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List Scaleway regions

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List Scaleway features available

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List Scaleway available instance types

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List Scaleway available managed database types

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List Scaleway available managed database instance types

Authorizations:
bearerAuthApiKeyAuth
path Parameters
zone
required
string
Example: fr-par-1

zone name

databaseType
required
string
Example: MYSQL

Database type

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List Scaleway Kapsule available instance types

Authorizations:
bearerAuthApiKeyAuth
path Parameters
zone
required
string
Example: fr-par-1

zone name

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List GCP regions

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List GCP features available

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List GCP GKE available instance types

Authorizations:
bearerAuthApiKeyAuth
path Parameters
region
required
string
Example: us-east-2

region name

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Cloud Provider Credentials

List AWS credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create AWS credentials set

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string
access_key_id
required
string
secret_access_key
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "access_key_id": "string",
  • "secret_access_key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Get a set of AWS credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

credentialsId
required
string <uuid>

Credentials ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Edit a set of AWS credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

credentialsId
required
string <uuid>

Credentials ID

Request Body schema: application/json
name
required
string
access_key_id
required
string
secret_access_key
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "access_key_id": "string",
  • "secret_access_key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Delete a set of AWS credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
credentialsId
required
string <uuid>

Credentials ID

organizationId
required
string <uuid>

Organization ID

Responses

List Scaleway credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create Scaleway credentials set

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string
scaleway_access_key
required
string
scaleway_secret_key
required
string
scaleway_project_id
required
string
scaleway_organization_id
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "scaleway_access_key": "string",
  • "scaleway_secret_key": "string",
  • "scaleway_project_id": "string",
  • "scaleway_organization_id": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Get a set of Scaleway credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

credentialsId
required
string <uuid>

Credentials ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Edit a set of Scaleway credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

credentialsId
required
string <uuid>

Credentials ID

Request Body schema: application/json
name
required
string
scaleway_access_key
required
string
scaleway_secret_key
required
string
scaleway_project_id
required
string
scaleway_organization_id
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "scaleway_access_key": "string",
  • "scaleway_secret_key": "string",
  • "scaleway_project_id": "string",
  • "scaleway_organization_id": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Delete a set of Scaleway credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
credentialsId
required
string <uuid>

Credentials ID

organizationId
required
string <uuid>

Organization ID

Responses

List GCP credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create GCP credentials set

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string
gcp_credentials
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "gcp_credentials": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Get a set of GCP credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

credentialsId
required
string <uuid>

Credentials ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Edit a set of GCP credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

credentialsId
required
string <uuid>

Credentials ID

Request Body schema: application/json
name
required
string
gcp_credentials
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "gcp_credentials": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Delete a set of GCP credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
credentialsId
required
string <uuid>

Credentials ID

organizationId
required
string <uuid>

Organization ID

Responses

Github App

Connect a github account to an organization

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
installation_id
required
string
code
required
string

Responses

Request samples

Content type
application/json
{
  • "installation_id": "string",
  • "code": "string"
}

Disconnect a github account from an organization

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

query Parameters
force
boolean

Indicates if the github app should be disconnected despite github applications linked to organization

Responses

Container Registries

List organization container registries

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a container registry

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string
kind
required
string (ContainerRegistryKindEnum)
Enum: "ECR" "SCALEWAY_CR" "DOCKER_HUB" "GITHUB_CR" "GITLAB_CR" "PUBLIC_ECR" "DOCR" "GENERIC_CR" "GCP_ARTIFACT_REGISTRY"

The type of your container registry

description
string
url
string <uri>

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://
required
object

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
  • 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

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "kind": "ECR",
  • "description": "string",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "kind": "ECR",
  • "description": "string",
  • "url": "string",
  • "cluster": {
    }
}

Get a container registry

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

containerRegistryId
required
string <uuid>

Container Registry ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "kind": "ECR",
  • "description": "string",
  • "url": "string",
  • "cluster": {
    }
}

Delete a container registry

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

containerRegistryId
required
string <uuid>

Container Registry ID

Responses

Edit a container registry

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

containerRegistryId
required
string <uuid>

Container Registry ID

Request Body schema: application/json
name
required
string
kind
required
string (ContainerRegistryKindEnum)
Enum: "ECR" "SCALEWAY_CR" "DOCKER_HUB" "GITHUB_CR" "GITLAB_CR" "PUBLIC_ECR" "DOCR" "GENERIC_CR" "GCP_ARTIFACT_REGISTRY"

The type of your container registry

description
string
url
string <uri>

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://
required
object

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
  • 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

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "kind": "ECR",
  • "description": "string",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "kind": "ECR",
  • "description": "string",
  • "url": "string",
  • "cluster": {
    }
}

List supported container registries

List supported container registries by Qovery and get the mandatory authentification configuration.

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Helm Repositories

List supported helm repository

List supported helm repository by Qovery and get the mandatory authentification configuration.

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List organization helm repositories

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a helm repository

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
name
required
string
kind
required
string (HelmRepositoryKindEnum)
Enum: "HTTPS" "OCI_ECR" "OCI_SCALEWAY_CR" "OCI_DOCKER_HUB" "OCI_PUBLIC_ECR" "OCI_GENERIC_CR" "OCI_GITHUB_CR" "OCI_GITLAB_CR"

The type of your helm repository

description
string
url
string <uri>

URL of the helm chart repository:

  • For OCI: it must start by oci://
  • For HTTPS: it must be start by https://
skip_tls_verification
required
boolean

Bypass tls certificate verification when connecting to repository

required
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "kind": "HTTPS",
  • "description": "string",
  • "skip_tls_verification": true,
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "kind": "HTTPS",
  • "description": "string",
  • "url": "string",
  • "skip_tls_verification": true
}

Get a helm repository

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

helmRepositoryId
required
string <uuid>

Helm chart repository ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "kind": "HTTPS",
  • "description": "string",
  • "url": "string",
  • "skip_tls_verification": true
}

Delete a helm repository

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

helmRepositoryId
required
string <uuid>

Helm chart repository ID

Responses

Edit a helm repository

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

helmRepositoryId
required
string <uuid>

Helm chart repository ID

Request Body schema: application/json
name
required
string
kind
required
string (HelmRepositoryKindEnum)
Enum: "HTTPS" "OCI_ECR" "OCI_SCALEWAY_CR" "OCI_DOCKER_HUB" "OCI_PUBLIC_ECR" "OCI_GENERIC_CR" "OCI_GITHUB_CR" "OCI_GITLAB_CR"

The type of your helm repository

description
string
url
string <uri>

URL of the helm chart repository:

  • For OCI: it must start by oci://
  • For HTTPS: it must be start by https://
skip_tls_verification
required
boolean

Bypass tls certificate verification when connecting to repository

required
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "kind": "HTTPS",
  • "description": "string",
  • "skip_tls_verification": true,
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "kind": "HTTPS",
  • "description": "string",
  • "url": "string",
  • "skip_tls_verification": true
}

Project Main Calls

Get project by ID

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "organization": {
    }
}

Edit a project

To edit a project you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Request Body schema: application/json
name
required
string

name is case insensitive

description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "organization": {
    }
}

Delete a project

To delete a project you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Responses

Environments

List environments

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create an environment

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Request Body schema: application/json
name
required
string

name is case insensitive

cluster
string <uuid>
mode
string (CreateEnvironmentModeEnum)
Enum: "DEVELOPMENT" "PRODUCTION" "STAGING"

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "cluster": "75f2c581-ef2d-4437-9fa8-a27342452fc4",
  • "mode": "PRODUCTION"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "organization": {
    },
  • "project": {
    },
  • "last_updated_by": "e51d5fee-238a-41fd-a36d-38209c61fb21",
  • "cloud_provider": {
    },
  • "mode": "PRODUCTION",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "cluster_name": "string"
}

List environments statuses

Returns a list of environments with only their id and status.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List total number of services for each environment of the project

Returns a list of environment ids, and for each its total numberof services

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Project Deployment Rule

List project deployment rules

List project deployment rules

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a deployment rule

Create a deployment rule

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Request Body schema: application/json
name
required
string

name is case insensitive

description
string or null
mode
required
string (EnvironmentModeEnum)
Enum: "DEVELOPMENT" "PREVIEW" "PRODUCTION" "STAGING"
cluster_id
required
string <uuid>
auto_stop
boolean
Default: false
timezone
required
string
start_time
required
string <date-time>
stop_time
required
string <date-time>
weekdays
required
Array of strings (WeekdayEnum)
Items Enum: "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY" "SUNDAY"
wildcard
required
string
Default: ""

wildcard pattern composed of '?' and/or '*' used to target new created environments

Responses

Request samples

Content type
application/json
{
  • "name": "project-rule",
  • "description": "description project rule",
  • "mode": "PRODUCTION",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "auto_stop": false,
  • "timezone": "UTC",
  • "start_time": "1970-01-01T08:00:00.000Z",
  • "stop_time": "1970-01-01T19:00:00.000Z",
  • "weekdays": [
    ],
  • "wildcard": ""
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "project-rule",
  • "description": "description project rule",
  • "mode": "PRODUCTION",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "auto_stop": false,
  • "timezone": "UTC",
  • "start_time": "1970-01-01T08:00:00.000Z",
  • "stop_time": "1970-01-01T19:00:00.000Z",
  • "weekdays": [
    ],
  • "wildcard": "",
  • "priority_index": 0
}

Get a project deployment rule

Get a project deployment rule

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

deploymentRuleId
required
string <uuid>

Deployment Rule ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "project-rule",
  • "description": "description project rule",
  • "mode": "PRODUCTION",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "auto_stop": false,
  • "timezone": "UTC",
  • "start_time": "1970-01-01T08:00:00.000Z",
  • "stop_time": "1970-01-01T19:00:00.000Z",
  • "weekdays": [
    ],
  • "wildcard": "",
  • "priority_index": 0
}

Edit a project deployment rule

Edit a project deployment rule

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

deploymentRuleId
required
string <uuid>

Deployment Rule ID

Request Body schema: application/json
name
required
string

name is case insensitive

description
string or null
mode
required
string (EnvironmentModeEnum)
Enum: "DEVELOPMENT" "PREVIEW" "PRODUCTION" "STAGING"
cluster_id
required
string <uuid>
auto_stop
boolean
Default: false
timezone
required
string
start_time
required
string <date-time>
stop_time
required
string <date-time>
weekdays
required
Array of strings (WeekdayEnum)
Items Enum: "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY" "SUNDAY"
wildcard
required
string
Default: ""

wildcard pattern composed of '?' and/or '*' used to target new created environments

Responses

Request samples

Content type
application/json
{
  • "name": "project-rule",
  • "description": "description project rule",
  • "mode": "PRODUCTION",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "auto_stop": false,
  • "timezone": "UTC",
  • "start_time": "1970-01-01T08:00:00.000Z",
  • "stop_time": "1970-01-01T19:00:00.000Z",
  • "weekdays": [
    ],
  • "wildcard": ""
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "project-rule",
  • "description": "description project rule",
  • "mode": "PRODUCTION",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "auto_stop": false,
  • "timezone": "UTC",
  • "start_time": "1970-01-01T08:00:00.000Z",
  • "stop_time": "1970-01-01T19:00:00.000Z",
  • "weekdays": [
    ],
  • "wildcard": "",
  • "priority_index": 0
}

Delete a project deployment rule

Delete a project deployment rule

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

deploymentRuleId
required
string <uuid>

Deployment Rule ID

Responses

Update deployment rules priority order

Update deployment rules priority order

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Request Body schema: application/json
project_deployment_rule_ids_in_order
Array of strings <uuid>

Responses

Request samples

Content type
application/json
{
  • "project_deployment_rule_ids_in_order": [
    ]
}

Project Environment Variable

List project environment variables

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add an environment variable to the project

  • 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.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Request Body schema: application/json
key
required
string

key is case sensitive.

value
string

value of the env variable.

mount_path
string or null
Default: null

should be set for file only. variable mount path makes variable a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Delete an environment variable from a project

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Responses

Edit an environment variable belonging to the project

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the env variable.

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable override at the project level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable alias at the project level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Project Secret

List project secrets

Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add a secret to the project

  • 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.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the secret. Clear value will never be returned

mount_path
string or null
Default: null

should be set for file only. variable mount path make secret a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Delete a secret from a project

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

secretId
required
string <uuid>

Secret ID

Responses

Edit a secret belonging to the project

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string
key
required
string

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret override at the project level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret alias at the project level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
projectId
required
string <uuid>

Project ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Environment Main Calls

Get environment by ID

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "organization": {
    },
  • "project": {
    },
  • "last_updated_by": "e51d5fee-238a-41fd-a36d-38209c61fb21",
  • "cloud_provider": {
    },
  • "mode": "PRODUCTION",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "cluster_name": "string"
}

Edit an environment

To edit an environment you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
name
string
mode
string (CreateEnvironmentModeEnum)
Enum: "DEVELOPMENT" "PRODUCTION" "STAGING"

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "mode": "PRODUCTION"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "organization": {
    },
  • "project": {
    },
  • "last_updated_by": "e51d5fee-238a-41fd-a36d-38209c61fb21",
  • "cloud_provider": {
    },
  • "mode": "PRODUCTION",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "cluster_name": "string"
}

Delete an environment

To delete an environment you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Get environment status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "last_deployment_state": "BUILDING",
  • "last_deployment_id": "string",
  • "total_deployment_duration_in_seconds": 0,
  • "origin": "API",
  • "triggered_by": "string"
}

Get environment statuses with services status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "environment": {
    },
  • "applications": [
    ],
  • "containers": [
    ],
  • "jobs": [
    ],
  • "databases": [
    ],
  • "helms": [
    ]
}

Get environment statuses with stages

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "environment": {
    },
  • "stages": [
    ]
}

Applications

List applications

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

query Parameters
toUpdate
boolean
Default: false

return (or not) results that must be updated

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create an application

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
Array of objects
Array of objects
name
required
string

name is case insensitive

description
string or null

give a description to this application

required
object (ApplicationGitRepositoryRequest)
build_mode
string (BuildModeEnum)
Default: "BUILDPACKS"
Enum: "BUILDPACKS" "DOCKER"

DOCKER requires dockerfile_path BUILDPACKS does not require any dockerfile_path

dockerfile_path
string or null

The path of the associated Dockerfile. Only if you are using build_mode = DOCKER

buildpack_language
string or null (BuildPackLanguageEnum)
Enum: "CLOJURE" "GO" "GRADLE" "GRAILS" "JAVA" "JVM" "NODE_JS" "PHP" "PLAY" "PYTHON" "SCALA"

Development language of the application

cpu
integer
Default: 500

unit is millicores (m). 1000m = 1 cpu

memory
integer
Default: 512

unit is MB. 1024 MB = 1GB

min_running_instances
integer >= 0
Default: 1

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.

max_running_instances
integer
Default: 1

Maximum number of instances running. This resource auto-scale based on the CPU and Memory consumption. Note: -1 means that there is no limit.

required
object (Healthcheck)
auto_preview
boolean
Default: true

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.

arguments
Array of strings
entrypoint
string

optional entrypoint when launching container

auto_deploy
boolean or null

Specify if the application will be automatically updated after receiving a new commit.

Responses

Request samples

Content type
application/json
{
  • "storage": [
    ],
  • "ports": [
    ],
  • "name": "string",
  • "description": "string",
  • "git_repository": {},
  • "build_mode": "BUILDPACKS",
  • "dockerfile_path": "string",
  • "buildpack_language": "CLOJURE",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "auto_deploy": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "storage": [
    ],
  • "environment": {
    },
  • "git_repository": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "build_mode": "BUILDPACKS",
  • "dockerfile_path": "string",
  • "buildpack_language": "CLOJURE",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "ports": [
    ],
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "auto_deploy": true
}

List all environment applications statuses

Returns a list of applications with only their id and status.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List supported languages

Returns list of languages supported by Buildpacks.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List default application advanced settings

Default values for each setting are available in our documentation

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "deployment.antiaffinity.pod": "Preferred",
  • "deployment.update_strategy.type": "RollingUpdate",
  • "deployment.update_strategy.rolling_update.max_unavailable_percent": 0,
  • "deployment.update_strategy.rolling_update.max_surge_percent": 0,
  • "build.timeout_max_sec": 0,
  • "build.cpu_max_in_milli": 0,
  • "build.ram_max_in_gib": 0,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true,
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "hpa.cpu.average_utilization_percent": 0,
  • "security.service_account_name": "string",
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Clone application

This will create a new application with the same configuration on the targeted environment Id.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
name
required
string
environment_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "environment_id": "40ef0e48-a11f-4963-a229-e396c9f7e7c4"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "storage": [
    ],
  • "environment": {
    },
  • "git_repository": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "build_mode": "BUILDPACKS",
  • "dockerfile_path": "string",
  • "buildpack_language": "CLOJURE",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "ports": [
    ],
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "auto_deploy": true
}

Containers

List all container registry container statuses

Returns a list of containers with only their id and status.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

containerRegistryId
required
string <uuid>

Container Registry ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List containers

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

query Parameters
toUpdate
boolean
Default: false

return (or not) results that must be updated

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a container

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
Array of objects
Array of objects
name
required
string

name is case insensitive

description
string

give a description to this container

registry_id
required
string

id of the linked registry

image_name
required
string

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
required
string

tag of the image container

arguments
Array of strings
entrypoint
string

optional entrypoint when launching container

cpu
integer
Default: 500

unit is millicores (m). 1000m = 1 cpu

memory
integer
Default: 512

unit is MB. 1024 MB = 1GB

min_running_instances
integer >= 0
Default: 1

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.

max_running_instances
integer
Default: 1

Maximum number of instances running. This resource auto-scale based on the CPU and Memory consumption. Note: -1 means that there is no limit.

required
object (Healthcheck)
auto_preview
boolean

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
boolean or null

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

Responses

Request samples

Content type
application/json
{
  • "storage": [
    ],
  • "ports": [
    ],
  • "name": "string",
  • "description": "string",
  • "registry_id": "string",
  • "image_name": "string",
  • "tag": "string",
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "auto_deploy": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "storage": [
    ],
  • "image_name": "string",
  • "tag": "string",
  • "registry_id": "string",
  • "registry": {
    },
  • "environment": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "ports": [
    ],
  • "auto_deploy": true
}

List all environment container statuses

Returns a list of containers with only their id and status.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Auto deploy containers

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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
image_name
string

the container image name to deploy

tag
string

the new tag to deploy

Responses

Request samples

Content type
application/json
{
  • "image_name": "string",
  • "tag": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Preview container environments

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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
image_name
string

the container image name to trigger preview environment

tag
string

the tag to be used in the preview environment

Responses

Request samples

Content type
application/json
{
  • "image_name": "string",
  • "tag": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

List default container advanced settings

Default values for each setting are available in our documentation

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "deployment.antiaffinity.pod": "Preferred",
  • "deployment.update_strategy.type": "RollingUpdate",
  • "deployment.update_strategy.rolling_update.max_unavailable_percent": 0,
  • "deployment.update_strategy.rolling_update.max_surge_percent": 0,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.proxy_request_buffering": "string",
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true,
  • "security.service_account_name": "string",
  • "hpa.cpu.average_utilization_percent": 0,
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Clone container

This will create a new container with the same configuration on the targeted environment Id.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Request Body schema: application/json
name
required
string
environment_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "environment_id": "40ef0e48-a11f-4963-a229-e396c9f7e7c4"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "storage": [
    ],
  • "image_name": "string",
  • "tag": "string",
  • "registry_id": "string",
  • "registry": {
    },
  • "environment": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "ports": [
    ],
  • "auto_deploy": true
}

Databases

List eligible database types, versions and modes for the environment

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List environment databases

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a database

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
name
required
string

name is case insensitive

description
string

give a description to this database

type
required
string (DatabaseTypeEnum)
Enum: "MONGODB" "MYSQL" "POSTGRESQL" "REDIS"
version
required
string
mode
required
string (DatabaseModeEnum)
Enum: "CONTAINER" "MANAGED"
accessibility
string (DatabaseAccessibilityEnum)
Default: "PRIVATE"
Enum: "PRIVATE" "PUBLIC"
cpu
integer
Default: 250

unit is millicores (m). 1000m = 1 cpu This field will be ignored for managed DB (instance type will be used instead).

instance_type
string

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
integer

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
storage
integer
Default: 10

unit is GB

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "type": "MONGODB",
  • "version": "10.1",
  • "mode": "CONTAINER",
  • "accessibility": "PRIVATE",
  • "cpu": 1250,
  • "instance_type": "db.t3.medium",
  • "memory": 1024,
  • "storage": 10
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "type": "MONGODB",
  • "version": "10.1",
  • "mode": "CONTAINER",
  • "accessibility": "PRIVATE",
  • "cpu": 1250,
  • "instance_type": "db.t3.medium",
  • "memory": 1024,
  • "storage": 10,
  • "environment": {
    },
  • "host": "string",
  • "port": 5432,
  • "maximum_cpu": 1250,
  • "maximum_memory": 1024,
  • "disk_encrypted": true
}

List all environment databases statuses

Returns a list of databases with only their id and status.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Clone database

This will create a new database with the same configuration on the targeted environment Id.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Request Body schema: application/json
name
required
string
environment_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "environment_id": "40ef0e48-a11f-4963-a229-e396c9f7e7c4"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "type": "MONGODB",
  • "version": "10.1",
  • "mode": "CONTAINER",
  • "accessibility": "PRIVATE",
  • "cpu": 1250,
  • "instance_type": "db.t3.medium",
  • "memory": 1024,
  • "storage": 10,
  • "environment": {
    },
  • "host": "string",
  • "port": 5432,
  • "maximum_cpu": 1250,
  • "maximum_memory": 1024,
  • "disk_encrypted": true
}

Jobs

Auto deploy jobs

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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
organizationId
required
string <uuid>

Organization ID

Request Body schema: application/json
image_name
string

the job image name to deploy

tag
string

the new tag to deploy

Responses

Request samples

Content type
application/json
{
  • "image_name": "string",
  • "tag": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

List default job advanced settings

Default values for each setting is available in our documentation

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "build.timeout_max_sec": 0,
  • "build.cpu_max_in_milli": 0,
  • "build.ram_max_in_gib": 0,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "job.delete_ttl_seconds_after_finished": 0,
  • "cronjob.concurrency_policy": "string",
  • "cronjob.failed_jobs_history_limit": 0,
  • "cronjob.success_jobs_history_limit": 0,
  • "security.service_account_name": "string",
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

List jobs

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

query Parameters
toUpdate
boolean
Default: false

return (or not) results that must be updated

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a job

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
name
required
string

name is case insensitive

description
string
cpu
integer
Default: 500

unit is millicores (m). 1000m = 1 cpu

memory
integer
Default: 512

unit is MB. 1024 MB = 1GB

max_nb_restart
integer >= 0
Default: 0

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
integer >= 0

Maximum number of seconds allowed for the job to run before killing it and mark it as failed

auto_preview
boolean

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
integer or null >= 1
Default: null

Port where to run readiness and liveliness probes checks. The port will not be exposed externally

object
required
object (Healthcheck)
object

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

auto_deploy
boolean or null

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

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "max_nb_restart": 0,
  • "max_duration_seconds": 0,
  • "auto_preview": true,
  • "port": null,
  • "source": {
    },
  • "healthchecks": {
    },
  • "schedule": {
    },
  • "auto_deploy": true
}

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "max_nb_restart": 0,
  • "max_duration_seconds": 0,
  • "auto_preview": true,
  • "port": null,
  • "source": {
    },
  • "healthchecks": {
    },
  • "auto_deploy": true,
  • "job_type": "LIFECYCLE",
  • "schedule": {
    }
}

List all environment job statuses

Returns a list of jobs with only their id and status.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Clone job

This will create a new job with the same configuration on the targeted environment Id.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Request Body schema: application/json
name
required
string
environment_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "environment_id": "40ef0e48-a11f-4963-a229-e396c9f7e7c4"
}

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "max_nb_restart": 0,
  • "max_duration_seconds": 0,
  • "auto_preview": true,
  • "port": null,
  • "source": {
    },
  • "healthchecks": {
    },
  • "auto_deploy": true,
  • "job_type": "LIFECYCLE",
  • "schedule": {
    }
}

Helms

List default helm advanced settings

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.proxy_request_buffering": "string",
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true
}

List helms

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

query Parameters
toUpdate
boolean
Default: false

return (or not) results that must be updated

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a helm

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
Array of objects
name
required
string

name is case insensitive

description
string
timeout_sec
integer >= 0
Default: 600

Maximum number of seconds allowed for helm to run before killing it and mark it as failed

auto_preview
boolean or null

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.

auto_deploy
required
boolean

Specify if the helm will be automatically updated after receiving a new image tag or a new commit according to the source type.

required
object or object
arguments
required
Array of strings

The extra arguments to pass to helm

allow_cluster_wide_resources
boolean
Default: false

If we should allow the chart to deploy object outside his specified namespace. Setting this flag to true, requires special rights

required
object

Specify helm values you want to set or override

Responses

Request samples

Content type
application/json
{
  • "ports": [
    ],
  • "name": "string",
  • "description": "string",
  • "timeout_sec": 600,
  • "auto_preview": true,
  • "auto_deploy": true,
  • "source": {},
  • "arguments": [
    ],
  • "allow_cluster_wide_resources": false,
  • "values_override": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "name": "string",
  • "description": "string",
  • "timeout_sec": 600,
  • "auto_preview": true,
  • "auto_deploy": true,
  • "ports": [
    ],
  • "source": {
    },
  • "arguments": [
    ],
  • "allow_cluster_wide_resources": false,
  • "values_override": {
    }
}

Get helm default values

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
required
object or object

Responses

Request samples

Content type
application/json
{}

List all environment helm statuses

Returns a list of helms with only their id and status.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Clone helm

This will create a new helm with the same configuration on the targeted environment Id.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Request Body schema: application/json
name
required
string
environment_id
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "environment_id": "40ef0e48-a11f-4963-a229-e396c9f7e7c4"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "name": "string",
  • "description": "string",
  • "timeout_sec": 600,
  • "auto_preview": true,
  • "auto_deploy": true,
  • "ports": [
    ],
  • "source": {
    },
  • "arguments": [
    ],
  • "allow_cluster_wide_resources": false,
  • "values_override": {
    }
}

Environment Actions

Deploy environment

This will deploy all the services of this environment to their latest version.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Stop environment

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "last_deployment_state": "BUILDING",
  • "last_deployment_id": "string",
  • "total_deployment_duration_in_seconds": 0,
  • "origin": "API",
  • "triggered_by": "string"
}

Deprecated - Restart environment

Deprecated - Please use the "Redeploy environment" endpoint now

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "last_deployment_state": "BUILDING",
  • "last_deployment_id": "string",
  • "total_deployment_duration_in_seconds": 0,
  • "origin": "API",
  • "triggered_by": "string"
}

Cancel environment deployment

Cancel the current deployment of your environment.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "last_deployment_state": "BUILDING",
  • "last_deployment_id": "string",
  • "total_deployment_duration_in_seconds": 0,
  • "origin": "API",
  • "triggered_by": "string"
}

Clone environment

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.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
name
required
string

name is case insensitive

cluster_id
string <uuid>
mode
string (EnvironmentModeEnum)
Enum: "DEVELOPMENT" "PREVIEW" "PRODUCTION" "STAGING"
apply_deployment_rule
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "mode": "PRODUCTION",
  • "apply_deployment_rule": false
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "organization": {
    },
  • "project": {
    },
  • "last_updated_by": "e51d5fee-238a-41fd-a36d-38209c61fb21",
  • "cloud_provider": {
    },
  • "mode": "PRODUCTION",
  • "cluster_id": "d3d1bfdf-67c4-41fa-b065-858242731616",
  • "cluster_name": "string"
}

Deploy services

Update and deploy the selected services

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
Array of objects
databases
Array of strings <uuid>
Array of objects
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "applications": [
    ],
  • "databases": [
    ],
  • "containers": [
    ],
  • "jobs": [
    ],
  • "helms": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Reboot services

Update and reboot the selected services

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
application_ids
Array of strings <uuid>
database_ids
Array of strings <uuid>
container_ids
Array of strings <uuid>

Responses

Request samples

Content type
application/json
{
  • "application_ids": [
    ],
  • "database_ids": [
    ],
  • "container_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Stop services

Stop selected services

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
application_ids
Array of strings <uuid>
container_ids
Array of strings <uuid>
database_ids
Array of strings <uuid>
job_ids
Array of strings <uuid>
helm_ids
Array of strings <uuid>

Responses

Request samples

Content type
application/json
{
  • "application_ids": [
    ],
  • "container_ids": [
    ],
  • "database_ids": [
    ],
  • "job_ids": [
    ],
  • "helm_ids": [
    ]
}

Delete services

Delete selected services

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
application_ids
Array of strings <uuid>
container_ids
Array of strings <uuid>
database_ids
Array of strings <uuid>
job_ids
Array of strings <uuid>
helm_ids
Array of strings <uuid>

Responses

Request samples

Content type
application/json
{
  • "application_ids": [
    ],
  • "container_ids": [
    ],
  • "database_ids": [
    ],
  • "job_ids": [
    ],
  • "helm_ids": [
    ]
}

Environment Logs

List environment deployment logs

This returns the last 1000 environment deployment logs.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List environment deployment logs v2

This returns the last 1000 environment deployment logs v2

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

query Parameters
version
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Environment Deployment History

List environment deployments

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

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

query Parameters
startId
string <uuid>

Starting point after which to return results

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "page_size": 20,
  • "results": [
    ]
}

Environment Deployment Rule

Get environment deployment rule

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "on_demand_preview": false,
  • "auto_stop": false,
  • "auto_preview": false,
  • "timezone": "UTC",
  • "start_time": "1970-01-01T08:00:00.000Z",
  • "stop_time": "1970-01-01T19:00:00.000Z",
  • "weekdays": [
    ]
}

Edit an environment deployment rule

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

deploymentRuleId
required
string <uuid>

Deployment Rule ID

Request Body schema: application/json
on_demand_preview
boolean
Default: false
auto_preview
boolean
Default: false
auto_stop
boolean
Default: false
timezone
required
string
start_time
required
string <date-time>
stop_time
required
string <date-time>
weekdays
required
Array of strings (WeekdayEnum)
Items Enum: "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY" "SUNDAY"

Responses

Request samples

Content type
application/json
{
  • "on_demand_preview": false,
  • "auto_preview": false,
  • "auto_stop": false,
  • "timezone": "UTC",
  • "start_time": "1970-01-01T08:00:00.000Z",
  • "stop_time": "1970-01-01T19:00:00.000Z",
  • "weekdays": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "on_demand_preview": false,
  • "auto_stop": false,
  • "auto_preview": false,
  • "timezone": "UTC",
  • "start_time": "1970-01-01T08:00:00.000Z",
  • "stop_time": "1970-01-01T19:00:00.000Z",
  • "weekdays": [
    ]
}

Environment Variable

List environment variables

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add an environment variable to the environment

  • 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.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
key
required
string

key is case sensitive.

value
string

value of the env variable.

mount_path
string or null
Default: null

should be set for file only. variable mount path makes variable a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Delete an environment variable from an environment

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Responses

Edit an environment variable belonging to the environment

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the env variable.

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable override at the environment level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable alias at the environment level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Environment Secret

List environment secrets

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add a secret to the environment

  • 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.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the secret. Clear value will never be returned

mount_path
string or null
Default: null

should be set for file only. variable mount path make secret a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Delete a secret from the environment

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

secretId
required
string <uuid>

Secret ID

Responses

Edit a secret belonging to the environment

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string
key
required
string

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret override at the environment level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret alias at the environment level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Environment Export

Export full environment and its resources into Terraform manifests

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

query Parameters
exportSecrets
boolean
Default: false

export Secrets from configuration and include them into Terraform export

Responses

Deployment Stage Main Calls

List environment deployment stage

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create environment deployment stage

Authorizations:
bearerAuthApiKeyAuth
path Parameters
environmentId
required
string <uuid>

Environment ID

Request Body schema: application/json
name
required
string

The name of the deployment stage

description
string or null

free test describing this stage

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "name": "string",
  • "description": "string",
  • "deployment_order": 1,
  • "services": [
    ]
}

Get Deployment Stage

Authorizations:
bearerAuthApiKeyAuth
path Parameters
deploymentStageId
required
string <uuid>

Deployment Stage ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "name": "string",
  • "description": "string",
  • "deployment_order": 1,
  • "services": [
    ]
}

Delete deployment stage

Authorizations:
bearerAuthApiKeyAuth
path Parameters
deploymentStageId
required
string <uuid>

Deployment Stage ID

Responses

Edit deployment stage

Authorizations:
bearerAuthApiKeyAuth
path Parameters
deploymentStageId
required
string <uuid>

Deployment Stage ID

Request Body schema: application/json
name
required
string

The name of the deployment stage

description
string or null

free test describing this stage

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "name": "string",
  • "description": "string",
  • "deployment_order": 1,
  • "services": [
    ]
}

Attach service to deployment stage

Authorizations:
bearerAuthApiKeyAuth
path Parameters
deploymentStageId
required
string <uuid>

Deployment Stage ID

serviceId
required
string <uuid>

Service ID of an application/job/container/database

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Move deployment stage before requested stage

Authorizations:
bearerAuthApiKeyAuth
path Parameters
deploymentStageId
required
string <uuid>

Deployment Stage ID

stageId
required
string <uuid>

Deployment Stage ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Move deployment stage after requested stage

Authorizations:
bearerAuthApiKeyAuth
path Parameters
deploymentStageId
required
string <uuid>

Deployment Stage ID

stageId
required
string <uuid>

Deployment Stage ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get Service Deployment Stage

Authorizations:
bearerAuthApiKeyAuth
path Parameters
serviceId
required
string <uuid>

Service ID of an application/job/container/database

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "name": "string",
  • "description": "string",
  • "deployment_order": 1,
  • "services": [
    ]
}

Application Main Calls

Get application by ID

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "storage": [
    ],
  • "environment": {
    },
  • "git_repository": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "build_mode": "BUILDPACKS",
  • "dockerfile_path": "string",
  • "buildpack_language": "CLOJURE",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "ports": [
    ],
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "auto_deploy": true
}

Edit application

  • 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.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
Array of objects
name
string

name is case insensitive

description
string

give a description to this application

object (ApplicationGitRepositoryRequest)
build_mode
string (BuildModeEnum)
Default: "BUILDPACKS"
Enum: "BUILDPACKS" "DOCKER"

DOCKER requires dockerfile_path BUILDPACKS does not require any dockerfile_path

dockerfile_path
string or null

The path of the associated Dockerfile

buildpack_language
string or null (BuildPackLanguageEnum)
Enum: "CLOJURE" "GO" "GRADLE" "GRAILS" "JAVA" "JVM" "NODE_JS" "PHP" "PLAY" "PYTHON" "SCALA"

Development language of the application

cpu
integer
Default: 500

unit is millicores (m). 1000m = 1 cpu

memory
integer
Default: 512

unit is MB. 1024 MB = 1GB

min_running_instances
integer >= 0
Default: 1

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.

max_running_instances
integer
Default: 1

Maximum number of instances running. This resource auto-scale based on the CPU and Memory consumption. Note: -1 means that there is no limit.

required
object (Healthcheck)
auto_preview
boolean
Default: true

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.

Array of objects (ServicePortResponseList)
arguments
Array of strings
entrypoint
string

optional entrypoint when launching container

auto_deploy
boolean or null

Specify if the application will be automatically updated after receiving a new commit.

Responses

Request samples

Content type
application/json
{
  • "storage": [
    ],
  • "name": "string",
  • "description": "string",
  • "git_repository": {},
  • "build_mode": "BUILDPACKS",
  • "dockerfile_path": "string",
  • "buildpack_language": "CLOJURE",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "ports": [
    ],
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "auto_deploy": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "storage": [
    ],
  • "environment": {
    },
  • "git_repository": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "build_mode": "BUILDPACKS",
  • "dockerfile_path": "string",
  • "buildpack_language": "CLOJURE",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "ports": [
    ],
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "auto_deploy": true
}

Delete application

To delete the application you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Get application status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

List contributors

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List last commits

Returns list of the last 100 commits made on the repository linked to the application

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

query Parameters
startId
string <uuid>

Starting point after which to return results

gitCommitId
string <uuid>

Git Commit ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Application Actions

Deploy application

You must provide a git commit id

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
git_commit_id
required
string

Commit ID to deploy

Responses

Request samples

Content type
application/json
{
  • "git_commit_id": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Stop application

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Deprecated - Restart application

Deprecated - Please use the "Redeploy application" endpoint now

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Reboot application

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Application Configuration

Get Application Network information

Get status of the application network settings.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "sticky_session": false
}

Edit Application Network

Edit the Network settings of the application.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
sticky_session
boolean
Default: false

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.

Responses

Request samples

Content type
application/json
{
  • "sticky_session": false
}

Response samples

Content type
application/json
{
  • "sticky_session": false
}

Get advanced settings

Get list and values of the advanced settings of the application. Default values for each setting are available in our documentation

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "deployment.antiaffinity.pod": "Preferred",
  • "deployment.update_strategy.type": "RollingUpdate",
  • "deployment.update_strategy.rolling_update.max_unavailable_percent": 0,
  • "deployment.update_strategy.rolling_update.max_surge_percent": 0,
  • "build.timeout_max_sec": 0,
  • "build.cpu_max_in_milli": 0,
  • "build.ram_max_in_gib": 0,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true,
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "hpa.cpu.average_utilization_percent": 0,
  • "security.service_account_name": "string",
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Edit advanced settings

Edit advanced settings by returning table of advanced settings.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
deployment.custom_domain_check_enabled
boolean

disable custom domain check when deploying an application

deployment.termination_grace_period_seconds
integer

define how long in seconds an application is supposed to be stopped gracefully

object

Set pod placement on specific Kubernetes nodes labels

deployment.antiaffinity.pod
string
Enum: "Preferred" "Requirred"

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
string
Enum: "RollingUpdate" "Recreate"
  • 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
integer

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
integer

Define the percentage of the maximum number of pods that can be created over the desired number of pods

build.timeout_max_sec
integer
build.cpu_max_in_milli
integer

define the max cpu resources (in milli)

build.ram_max_in_gib
integer

define the max ram resources (in gib)

network.ingress.proxy_body_size_mb
integer
network.ingress.enable_cors
boolean
network.ingress.cors_allow_origin
string
network.ingress.cors_allow_methods
string
network.ingress.cors_allow_headers
string
network.ingress.proxy_buffer_size_kb
integer

header buffer size used while reading response header from upstream

network.ingress.keepalive_time_seconds
integer

Limits the maximum time (in seconds) during which requests can be processed through one keepalive connection

network.ingress.keepalive_timeout_seconds
integer

Sets a timeout (in seconds) during which an idle keepalive connection to an upstream server will stay open.

network.ingress.send_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a response to the client

network.ingress.proxy_connect_timeout_seconds
integer

Sets a timeout (in seconds) for establishing a connection to a proxied server

network.ingress.proxy_send_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a request to the proxied server

network.ingress.proxy_read_timeout_seconds
integer

Sets a timeout (in seconds) for reading a response from the proxied server

network.ingress.proxy_buffering
string

Allows to enable or disable nginx proxy-request-buffering

network.ingress.whitelist_source_range
string

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
string

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
string

Set the name of an environment variable to use as a basic authentication (login:crypted_password) from htpasswd command.

network.ingress.enable_sticky_session
boolean

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
integer

Sets a timeout (in seconds) for transmitting a request to the grpc server

network.ingress.grpc_read_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a request to the grpc server

network.ingress.extra_headers
string

Allows to define response headers

hpa.cpu.average_utilization_percent
integer

Percentage value of cpu usage at which point pods should scale up.

security.service_account_name
string

Allows you to set an existing Kubernetes service account name

security.automount_service_account_token
boolean

Automount Kubernetes service account token to have access to Kubernetes API from pods

security.read_only_root_filesystem
boolean

Mounts the container's root filesystem as read-only

Responses

Request samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "deployment.antiaffinity.pod": "Preferred",
  • "deployment.update_strategy.type": "RollingUpdate",
  • "deployment.update_strategy.rolling_update.max_unavailable_percent": 0,
  • "deployment.update_strategy.rolling_update.max_surge_percent": 0,
  • "build.timeout_max_sec": 0,
  • "build.cpu_max_in_milli": 0,
  • "build.ram_max_in_gib": 0,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true,
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "hpa.cpu.average_utilization_percent": 0,
  • "security.service_account_name": "string",
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Response samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "deployment.antiaffinity.pod": "Preferred",
  • "deployment.update_strategy.type": "RollingUpdate",
  • "deployment.update_strategy.rolling_update.max_unavailable_percent": 0,
  • "deployment.update_strategy.rolling_update.max_surge_percent": 0,
  • "build.timeout_max_sec": 0,
  • "build.cpu_max_in_milli": 0,
  • "build.ram_max_in_gib": 0,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true,
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "hpa.cpu.average_utilization_percent": 0,
  • "security.service_account_name": "string",
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Custom Domain

List application custom domains

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add custom domain to the application.

Add a custom domain to this application in order not to use qovery autogenerated domain

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
domain
required
string

your custom domain

generate_certificate
required
boolean

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.

Responses

Request samples

Content type
application/json
{
  • "domain": "my.domain.tld",
  • "generate_certificate": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "domain": "my.domain.tld",
  • "generate_certificate": true,
  • "validation_domain": "string",
  • "status": "VALIDATION_PENDING"
}

Edit a Custom Domain

To edit a Custom Domain you must have the project user permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

customDomainId
required
string <uuid>

Custom Domain ID

Request Body schema: application/json
domain
required
string

your custom domain

generate_certificate
required
boolean

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.

Responses

Request samples

Content type
application/json
{
  • "domain": "my.domain.tld",
  • "generate_certificate": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "domain": "my.domain.tld",
  • "generate_certificate": true,
  • "validation_domain": "string",
  • "status": "VALIDATION_PENDING"
}

Delete a Custom Domain

To delete an CustomDomain you must have the project user permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

customDomainId
required
string <uuid>

Custom Domain ID

Responses

Get Custom Domain status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

customDomainId
required
string <uuid>

Custom Domain ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "domain": "my.domain.tld",
  • "generate_certificate": true,
  • "validation_domain": "string",
  • "status": "VALIDATION_PENDING"
}

Application Database

Application Logs

List logs

This will list the last 1000 logs of the application

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Application Deployment Restriction

Get application deployment restrictions

Get application deployment restrictions

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create an application deployment restriction

Create an application deployment restriction

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
mode
required
string (DeploymentRestrictionModeEnum)
Enum: "EXCLUDE" "MATCH"

Match mode will rebuild app only if specified items are updated. Exclude mode will not rebuild app if specified items are updated.

type
required
string (DeploymentRestrictionTypeEnum)
Value: "PATH"
value
required
string

For PATH restrictions, the value must not start with /

Responses

Request samples

Content type
application/json
{
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "application1/src/"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "application1/src/"
}

Edit an application deployment restriction

Edit an application deployment restriction

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

deploymentRestrictionId
required
string <uuid>

Deployment Restriction ID

Request Body schema: application/json
mode
required
string (DeploymentRestrictionModeEnum)
Enum: "EXCLUDE" "MATCH"

Match mode will rebuild app only if specified items are updated. Exclude mode will not rebuild app if specified items are updated.

type
required
string (DeploymentRestrictionTypeEnum)
Value: "PATH"
value
required
string

For PATH restrictions, the value must not start with /

Responses

Request samples

Content type
application/json
{
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "application1/src/"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "application1/src/"
}

Delete an application deployment restriction

Delete an application deployment restriction

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

deploymentRestrictionId
required
string <uuid>

Deployment Restriction ID

Responses

Application Deployment History

List application deploys

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

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

query Parameters
startId
string <uuid>

Starting point after which to return results

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "page_size": 20,
  • "results": [
    ]
}

Application Environment Variable

List environment variables

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add an environment variable to the application

  • Add an environment variable to the application.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
key
required
string

key is case sensitive.

value
string

value of the env variable.

mount_path
string or null
Default: null

should be set for file only. variable mount path makes variable a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Import variables

Import environment variables in a defined scope, with a defined visibility.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
overwrite
required
boolean
Default: false
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "overwrite": false,
  • "vars": [
    ]
}

Response samples

Content type
application/json
{
  • "total_variables_to_import": 0,
  • "successful_imported_variables": [
    ]
}

Delete an environment variable from an application

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Responses

Edit an environment variable belonging to the application

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the env variable.

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable override at the application level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable alias at the application level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Application Secret

List application secrets

Secrets are like environment variables, but they are secured and can't be revealed.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add a secret to the application

  • Add a secret to the application.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the secret. Clear value will never be returned

mount_path
string or null
Default: null

should be set for file only. variable mount path make secret a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Delete a secret from an application

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

secretId
required
string <uuid>

Secret ID

Responses

Edit a secret belonging to the application

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string
key
required
string

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret override at the application level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret alias at the application level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
applicationId
required
string <uuid>

Application ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Container Main Calls

Get container by ID

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "storage": [
    ],
  • "image_name": "string",
  • "tag": "string",
  • "registry_id": "string",
  • "registry": {
    },
  • "environment": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "ports": [
    ],
  • "auto_deploy": true
}

Edit container

  • 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.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Request Body schema: application/json
Array of objects
Array of objects
name
required
string

name is case insensitive

description
string

give a description to this container

registry_id
required
string

id of the linked registry

image_name
required
string

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
required
string

tag of the image container

arguments
Array of strings
entrypoint
string

optional entrypoint when launching container

cpu
integer
Default: 500

unit is millicores (m). 1000m = 1 cpu

memory
integer
Default: 512

unit is MB. 1024 MB = 1GB

min_running_instances
integer >= 0
Default: 1

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.

max_running_instances
integer
Default: 1

Maximum number of instances running. This resource auto-scale based on the CPU and Memory consumption. Note: -1 means that there is no limit.

required
object (Healthcheck)
auto_preview
boolean

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
boolean or null

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

Responses

Request samples

Content type
application/json
{
  • "storage": [
    ],
  • "ports": [
    ],
  • "name": "string",
  • "description": "string",
  • "registry_id": "string",
  • "image_name": "string",
  • "tag": "string",
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "auto_deploy": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "storage": [
    ],
  • "image_name": "string",
  • "tag": "string",
  • "registry_id": "string",
  • "registry": {
    },
  • "environment": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "arguments": [
    ],
  • "entrypoint": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "min_running_instances": 1,
  • "max_running_instances": 1,
  • "healthchecks": {
    },
  • "auto_preview": true,
  • "ports": [
    ],
  • "auto_deploy": true
}

Delete container

To delete the container you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Get container status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Container Actions

Deploy container

You must provide a git commit id

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Request Body schema: application/json
image_tag
required
string

Image tag to deploy

Responses

Request samples

Content type
application/json
{
  • "image_tag": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Stop container

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Deprecated - Restart container

Deprecated - Please use the "Redeploy container" endpoint now

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Reboot container

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Container Configuration

Get advanced settings

Get list and values of the advanced settings of the container. Default values for each setting are available in our documentation

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "deployment.antiaffinity.pod": "Preferred",
  • "deployment.update_strategy.type": "RollingUpdate",
  • "deployment.update_strategy.rolling_update.max_unavailable_percent": 0,
  • "deployment.update_strategy.rolling_update.max_surge_percent": 0,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.proxy_request_buffering": "string",
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true,
  • "security.service_account_name": "string",
  • "hpa.cpu.average_utilization_percent": 0,
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Edit advanced settings

Edit advanced settings by returning table of advanced settings.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Request Body schema: application/json
deployment.custom_domain_check_enabled
boolean

disable custom domain check when deploying an application

deployment.termination_grace_period_seconds
integer

define how long in seconds an application is supposed to be stopped gracefully

object

Set pod placement on specific Kubernetes nodes labels

deployment.antiaffinity.pod
string
Enum: "Preferred" "Requirred"

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
string
Enum: "RollingUpdate" "Recreate"
  • 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
integer

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
integer

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
integer
network.ingress.enable_cors
boolean
network.ingress.cors_allow_origin
string
network.ingress.cors_allow_methods
string
network.ingress.cors_allow_headers
string
network.ingress.proxy_buffer_size_kb
integer

header buffer size used while reading response header from upstream

network.ingress.keepalive_time_seconds
integer

Limits the maximum time (in seconds) during which requests can be processed through one keepalive connection

network.ingress.keepalive_timeout_seconds
integer

Sets a timeout (in seconds) during which an idle keepalive connection to an upstream server will stay open.

network.ingress.send_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a response to the client

network.ingress.proxy_connect_timeout_seconds
integer

Sets a timeout (in seconds) for establishing a connection to a proxied server

network.ingress.proxy_send_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a request to the proxied server

network.ingress.proxy_read_timeout_seconds
integer

Sets a timeout (in seconds) for reading a response from the proxied server

network.ingress.proxy_buffering
string

Allows to enable or disable nginx proxy-buffering

network.ingress.proxy_request_buffering
string

Allows to enable or disable nginx proxy-request-buffering

network.ingress.grpc_send_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a request to the grpc server

network.ingress.grpc_read_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a request to the grpc server

network.ingress.whitelist_source_range
string

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
string

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
string

Allows to define response headers

network.ingress.basic_auth_env_var
string

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
boolean

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
string

Allows you to set an existing Kubernetes service account name

hpa.cpu.average_utilization_percent
integer

Percentage value of cpu usage at which point pods should scale up.

security.automount_service_account_token
boolean

Automount Kubernetes service account token to have access to Kubernetes API from pods

security.read_only_root_filesystem
boolean

Mounts the container's root filesystem as read-only

Responses

Request samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "deployment.antiaffinity.pod": "Preferred",
  • "deployment.update_strategy.type": "RollingUpdate",
  • "deployment.update_strategy.rolling_update.max_unavailable_percent": 0,
  • "deployment.update_strategy.rolling_update.max_surge_percent": 0,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.proxy_request_buffering": "string",
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true,
  • "security.service_account_name": "string",
  • "hpa.cpu.average_utilization_percent": 0,
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Response samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "deployment.antiaffinity.pod": "Preferred",
  • "deployment.update_strategy.type": "RollingUpdate",
  • "deployment.update_strategy.rolling_update.max_unavailable_percent": 0,
  • "deployment.update_strategy.rolling_update.max_surge_percent": 0,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.proxy_request_buffering": "string",
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true,
  • "security.service_account_name": "string",
  • "hpa.cpu.average_utilization_percent": 0,
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Get Container Network information

Get status of the container network settings.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "sticky_session": false
}

Edit Container Network

Edit the Network settings of the container.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Request Body schema: application/json
sticky_session
boolean
Default: false

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.

Responses

Request samples

Content type
application/json
{
  • "sticky_session": false
}

Response samples

Content type
application/json
{
  • "sticky_session": false
}

Container Custom Domain

List container custom domains

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add custom domain to the container.

Add a custom domain to this container in order not to use qovery autogenerated domain

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Request Body schema: application/json
domain
required
string

your custom domain

generate_certificate
required
boolean

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.

Responses

Request samples

Content type
application/json
{
  • "domain": "my.domain.tld",
  • "generate_certificate": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "domain": "my.domain.tld",
  • "generate_certificate": true,
  • "validation_domain": "string",
  • "status": "VALIDATION_PENDING"
}

Edit a Custom Domain

To edit a Custom Domain you must have the project user permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

customDomainId
required
string <uuid>

Custom Domain ID

Request Body schema: application/json
domain
required
string

your custom domain

generate_certificate
required
boolean

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.

Responses

Request samples

Content type
application/json
{
  • "domain": "my.domain.tld",
  • "generate_certificate": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "domain": "my.domain.tld",
  • "generate_certificate": true,
  • "validation_domain": "string",
  • "status": "VALIDATION_PENDING"
}

Delete a Custom Domain

To delete an CustomDomain you must have the project user permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

customDomainId
required
string <uuid>

Custom Domain ID

Responses

Get Custom Domain status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

customDomainId
required
string <uuid>

Custom Domain ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "domain": "my.domain.tld",
  • "generate_certificate": true,
  • "validation_domain": "string",
  • "status": "VALIDATION_PENDING"
}

Container Database

Container Logs

List logs

This will list the last 1000 logs of the container

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Container Deployment History

List container deployments

Returns the 20 last container deployments

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "page_size": 20,
  • "results": [
    ]
}

Container Environment Variable

List environment variables

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add an environment variable to the container

  • Add an environment variable to the container.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Request Body schema: application/json
key
required
string

key is case sensitive.

value
string

value of the env variable.

mount_path
string or null
Default: null

should be set for file only. variable mount path makes variable a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Import variables

Import environment variables in a defined scope, with a defined visibility.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Request Body schema: application/json
overwrite
required
boolean
Default: false
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "overwrite": false,
  • "vars": [
    ]
}

Response samples

Content type
application/json
{
  • "total_variables_to_import": 0,
  • "successful_imported_variables": [
    ]
}

Delete an environment variable from a container

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Responses

Edit an environment variable belonging to the container

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the env variable.

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable override at the container level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable alias at the container level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Container Secret

List container secrets

Secrets are like environment variables, but they are secured and can't be revealed.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add a secret to the container

  • Add a secret to the container.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the secret. Clear value will never be returned

mount_path
string or null
Default: null

should be set for file only. variable mount path make secret a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Delete a secret from an container

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

secretId
required
string <uuid>

Secret ID

Responses

Edit a secret belonging to the container

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string
key
required
string

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret override at the container level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret alias at the container level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
containerId
required
string <uuid>

Container ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Database Main Calls

Get database by ID

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "type": "MONGODB",
  • "version": "10.1",
  • "mode": "CONTAINER",
  • "accessibility": "PRIVATE",
  • "cpu": 1250,
  • "instance_type": "db.t3.medium",
  • "memory": 1024,
  • "storage": 10,
  • "environment": {
    },
  • "host": "string",
  • "port": 5432,
  • "maximum_cpu": 1250,
  • "maximum_memory": 1024,
  • "disk_encrypted": true
}

Edit a database

To edit a database you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Request Body schema: application/json
name
string

name is case-insensitive

description
string

give a description to this database

version
string
accessibility
string (DatabaseAccessibilityEnum)
Default: "PRIVATE"
Enum: "PRIVATE" "PUBLIC"
cpu
integer
Default: 250

unit is millicores (m). 1000m = 1 cpu. This field will be ignored for managed DB (instance type will be used instead).

memory
integer

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
storage
integer

unit is GB

instance_type
string

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.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "version": "10.1",
  • "accessibility": "PRIVATE",
  • "cpu": 1250,
  • "memory": 1024,
  • "storage": 4,
  • "instance_type": "db.t3.medium"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "description": "string",
  • "type": "MONGODB",
  • "version": "10.1",
  • "mode": "CONTAINER",
  • "accessibility": "PRIVATE",
  • "cpu": 1250,
  • "instance_type": "db.t3.medium",
  • "memory": 1024,
  • "storage": 10,
  • "environment": {
    },
  • "host": "string",
  • "port": 5432,
  • "maximum_cpu": 1250,
  • "maximum_memory": 1024,
  • "disk_encrypted": true
}

Delete a database

To delete a database you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Get database status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

List eligible versions for the database

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get master credentials of the database

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Response samples

Content type
application/json
{
  • "host": "string",
  • "port": 0,
  • "login": "string",
  • "password": "string"
}

Edit database master credentials

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Request Body schema: application/json
login
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "login": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "host": "string",
  • "port": 0,
  • "login": "string",
  • "password": "string"
}

Database Actions

Deprecated - Restart database

Deprecated - Please use the "Redeploy database" endpoint now

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Retart database

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Stop database

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Deploy database

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Database Deployment History

List database deploys

By default it returns the 20 last results. The response is paginated.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

query Parameters
startId
string <uuid>

Starting point after which to return results

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "page_size": 20,
  • "results": [
    ]
}

Database Application

List applications using the database

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Remove an application from this database

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

targetApplicationId
required
string <uuid>

Target application ID

Responses

Database Container

Backups

List database backups

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

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

query Parameters
startId
string <uuid>

Starting point after which to return results

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "page_size": 20,
  • "results": [
    ]
}

Add a backup to the Database

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

Request Body schema: application/json
name
required
string
message
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "message": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "message": "string",
  • "status": {
    }
}

Remove database backup

Authorizations:
bearerAuthApiKeyAuth
path Parameters
databaseId
required
string <uuid>

Database ID

backupId
required
string <uuid>

Database Backup ID

Responses

Job Main Calls

Get job by ID

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Responses

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "max_nb_restart": 0,
  • "max_duration_seconds": 0,
  • "auto_preview": true,
  • "port": null,
  • "source": {
    },
  • "healthchecks": {
    },
  • "auto_deploy": true,
  • "job_type": "LIFECYCLE",
  • "schedule": {
    }
}

Edit job

  • To edit the job you must have the admin permission.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Request Body schema: application/json
name
required
string

name is case insensitive

description
string
cpu
integer
Default: 500

unit is millicores (m). 1000m = 1 cpu

memory
integer
Default: 512

unit is MB. 1024 MB = 1GB

max_nb_restart
integer >= 0
Default: 0

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
integer >= 0

Maximum number of seconds allowed for the job to run before killing it and mark it as failed

auto_preview
boolean

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
integer or null >= 1
Default: null

Port where to run readiness and liveliness probes checks. The port will not be exposed externally

object
required
object (Healthcheck)
object

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

auto_deploy
boolean or null

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

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "max_nb_restart": 0,
  • "max_duration_seconds": 0,
  • "auto_preview": true,
  • "port": null,
  • "source": {
    },
  • "healthchecks": {
    },
  • "schedule": {
    },
  • "auto_deploy": true
}

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "maximum_cpu": 16000,
  • "maximum_memory": 16384,
  • "name": "string",
  • "description": "string",
  • "cpu": 1250,
  • "memory": 1024,
  • "max_nb_restart": 0,
  • "max_duration_seconds": 0,
  • "auto_preview": true,
  • "port": null,
  • "source": {
    },
  • "healthchecks": {
    },
  • "auto_deploy": true,
  • "job_type": "LIFECYCLE",
  • "schedule": {
    }
}

Delete job

To delete the job you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Responses

Get job status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

List last job commits

Returns list of the last 100 commits made on the repository linked to the job

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

query Parameters
startId
string <uuid>

Starting point after which to return results

gitCommitId
string <uuid>

Git Commit ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Job Actions

Deploy job

You must provide a git commit id or an image tag depending on the source location of your code (git vs image repository).

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

query Parameters
forceEvent
string (JobForceEvent)
Enum: "START" "STOP" "DELETE" "CRON"

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.

Request Body schema: application/json
image_tag
string

Image tag to deploy.
Cannot be set if git_commit_id is defined

git_commit_id
string

Commit to deploy Cannot be set if image_tag is defined

Responses

Request samples

Content type
application/json
{
  • "image_tag": "string",
  • "git_commit_id": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Deprecated - Restart job

Deprecated - Please use the "Redeploy job" endpoint now

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

query Parameters
forceEvent
string (JobForceEvent)
Enum: "START" "STOP" "DELETE" "CRON"

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.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Stop job

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Job Configuration

Get advanced settings

Get list and values of the advanced settings of the job. Default values for each setting are available in our documentation

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Responses

Response samples

Content type
application/json
{
  • "build.timeout_max_sec": 0,
  • "build.cpu_max_in_milli": 0,
  • "build.ram_max_in_gib": 0,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "job.delete_ttl_seconds_after_finished": 0,
  • "cronjob.concurrency_policy": "string",
  • "cronjob.failed_jobs_history_limit": 0,
  • "cronjob.success_jobs_history_limit": 0,
  • "security.service_account_name": "string",
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Edit advanced settings

Edit advanced settings by returning table of advanced settings.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Request Body schema: application/json
build.timeout_max_sec
integer

define the max timeout for the build

build.cpu_max_in_milli
integer

define the max cpu resources (in milli)

build.ram_max_in_gib
integer

define the max ram resources (in gib)

deployment.termination_grace_period_seconds
integer

define how long in seconds an application is supposed to be stopped gracefully

object

Set pod placement on specific Kubernetes nodes labels

job.delete_ttl_seconds_after_finished
integer or null
cronjob.concurrency_policy
string
cronjob.failed_jobs_history_limit
integer
cronjob.success_jobs_history_limit
integer
security.service_account_name
string

Allows you to set an existing Kubernetes service account name

security.automount_service_account_token
boolean

Automount Kubernetes service account token to have access to Kubernetes API from pods

security.read_only_root_filesystem
boolean

Mounts the container's root filesystem as read-only

Responses

Request samples

Content type
application/json
{
  • "build.timeout_max_sec": 0,
  • "build.cpu_max_in_milli": 0,
  • "build.ram_max_in_gib": 0,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "job.delete_ttl_seconds_after_finished": 0,
  • "cronjob.concurrency_policy": "string",
  • "cronjob.failed_jobs_history_limit": 0,
  • "cronjob.success_jobs_history_limit": 0,
  • "security.service_account_name": "string",
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Response samples

Content type
application/json
{
  • "build.timeout_max_sec": 0,
  • "build.cpu_max_in_milli": 0,
  • "build.ram_max_in_gib": 0,
  • "deployment.termination_grace_period_seconds": 0,
  • "deployment.affinity.node.required": {
    },
  • "job.delete_ttl_seconds_after_finished": 0,
  • "cronjob.concurrency_policy": "string",
  • "cronjob.failed_jobs_history_limit": 0,
  • "cronjob.success_jobs_history_limit": 0,
  • "security.service_account_name": "string",
  • "security.automount_service_account_token": true,
  • "security.read_only_root_filesystem": true
}

Job Deployment Restriction

Get job deployment restrictions

Get job deployment restrictions

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a job deployment restriction

Create a job deployment restriction

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Request Body schema: application/json
mode
required
string (DeploymentRestrictionModeEnum)
Enum: "EXCLUDE" "MATCH"

Match mode will rebuild app only if specified items are updated. Exclude mode will not rebuild app if specified items are updated.

type
required
string (DeploymentRestrictionTypeEnum)
Value: "PATH"
value
required
string

For PATH restrictions, the value must not start with /

Responses

Request samples

Content type
application/json
{
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "job1/src/"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "job1/src/"
}

Edit a job deployment restriction

Edit a job deployment restriction

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

deploymentRestrictionId
required
string <uuid>

Deployment Restriction ID

Request Body schema: application/json
mode
required
string (DeploymentRestrictionModeEnum)
Enum: "EXCLUDE" "MATCH"

Match mode will rebuild app only if specified items are updated. Exclude mode will not rebuild app if specified items are updated.

type
required
string (DeploymentRestrictionTypeEnum)
Value: "PATH"
value
required
string

For PATH restrictions, the value must not start with /

Responses

Request samples

Content type
application/json
{
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "job1/src/"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "job1/src/"
}

Delete a job deployment restriction

Delete a job deployment restriction

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

deploymentRestrictionId
required
string <uuid>

Deployment Restriction ID

Responses

Job Deployment History

List job deployments

Returns the 20 last job deployments

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "page_size": 20,
  • "results": [
    ]
}

Job Environment Variable

List environment variables

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add an environment variable to the job

  • Add an environment variable to the job.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Request Body schema: application/json
key
required
string

key is case sensitive.

value
string

value of the env variable.

mount_path
string or null
Default: null

should be set for file only. variable mount path makes variable a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Import variables

Import environment variables in a defined scope, with a defined visibility.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Request Body schema: application/json
overwrite
required
boolean
Default: false
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "overwrite": false,
  • "vars": [
    ]
}

Response samples

Content type
application/json
{
  • "total_variables_to_import": 0,
  • "successful_imported_variables": [
    ]
}

Delete an environment variable from a job

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Responses

Edit an environment variable belonging to the job

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the env variable.

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable override at the job level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create an environment variable alias at the job level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

environmentVariableId
required
string <uuid>

Environment Variable ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": null,
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Job Secret

List job secrets

Secrets are like environment variables, but they are secured and can't be revealed.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add a secret to the job

  • Add a secret to the job.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

Request Body schema: application/json
key
required
string

key is case sensitive

value
string

value of the secret. Clear value will never be returned

mount_path
string or null
Default: null

should be set for file only. variable mount path make secret a file (where file should be mounted).

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Delete a secret from an job

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

secretId
required
string <uuid>

Secret ID

Responses

Edit a secret belonging to the job

  • 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)
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string
key
required
string

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret override at the job level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
value
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Create a secret alias at the job level

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
jobId
required
string <uuid>

Job ID

secretId
required
string <uuid>

Secret ID

Request Body schema: application/json
key
required
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "overridden_secret": {
    },
  • "aliased_secret": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string"
}

Helm Main Calls

Get helm by ID

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "name": "string",
  • "description": "string",
  • "timeout_sec": 600,
  • "auto_preview": true,
  • "auto_deploy": true,
  • "ports": [
    ],
  • "source": {
    },
  • "arguments": [
    ],
  • "allow_cluster_wide_resources": false,
  • "values_override": {
    }
}

Edit helm

  • To edit the helm you must have the admin permission.
Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Request Body schema: application/json
Array of objects
name
required
string

name is case insensitive

description
string
timeout_sec
integer >= 0
Default: 600

Maximum number of seconds allowed for helm to run before killing it and mark it as failed

auto_preview
boolean or null

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.

auto_deploy
required
boolean

Specify if the helm will be automatically updated after receiving a new image tag or a new commit according to the source type.

required
object or object
arguments
required
Array of strings

The extra arguments to pass to helm

allow_cluster_wide_resources
boolean
Default: false

If we should allow the chart to deploy object outside his specified namespace. Setting this flag to true, requires special rights

required
object

Specify helm values you want to set or override

Responses

Request samples

Content type
application/json
{
  • "ports": [
    ],
  • "name": "string",
  • "description": "string",
  • "timeout_sec": 600,
  • "auto_preview": true,
  • "auto_deploy": true,
  • "source": {},
  • "arguments": [
    ],
  • "allow_cluster_wide_resources": false,
  • "values_override": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "environment": {
    },
  • "name": "string",
  • "description": "string",
  • "timeout_sec": 600,
  • "auto_preview": true,
  • "auto_deploy": true,
  • "ports": [
    ],
  • "source": {
    },
  • "arguments": [
    ],
  • "allow_cluster_wide_resources": false,
  • "values_override": {
    }
}

Delete helm

To delete the helm you must have the admin permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Responses

List last helm commits

Returns list of the last 100 commits made on the repository linked to helm

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

query Parameters
of
string
Default: "chart"

Source of git commit. Can be 'chart' or 'values'

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get helm status

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Helm Actions

Deploy helm

You must provide a git commit id or an image tag depending on the source location of your code (git vs image repository).

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

query Parameters
forceEvent
string (HelmForceEvent)
Value: "DIFF"

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.

Request Body schema: application/json
chart_version
string

version of the chart to deploy. Cannot be set if git_commit_id is defined

git_commit_id
string

Commit to deploy for chart source. Cannot be set if version is defined

values_override_git_commit_id
string

Commit to deploy for values override

Responses

Request samples

Content type
application/json
{
  • "chart_version": "string",
  • "git_commit_id": "string",
  • "values_override_git_commit_id": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Deprecated - Restart helm

Deprecated - Please use the "Redeploy helm" endpoint now

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

query Parameters
forceEvent
string (HelmForceEvent)
Value: "DIFF"

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.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Stop helm

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "BUILDING",
  • "service_deployment_status": "NEVER_DEPLOYED",
  • "last_deployment_date": "2019-08-24T14:15:22Z",
  • "is_part_last_deployment": true,
  • "steps": {
    }
}

Helm Configuration

Get advanced settings

Get list and values of the advanced settings of the helm.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Responses

Response samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.proxy_request_buffering": "string",
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true
}

Edit advanced settings

Edit advanced settings by returning table of advanced settings.

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Request Body schema: application/json
deployment.custom_domain_check_enabled
boolean

disable custom domain check when deploying a helm

network.ingress.proxy_body_size_mb
integer
network.ingress.enable_cors
boolean
network.ingress.cors_allow_origin
string
network.ingress.cors_allow_methods
string
network.ingress.cors_allow_headers
string
network.ingress.proxy_buffer_size_kb
integer

header buffer size used while reading response header from upstream

network.ingress.keepalive_time_seconds
integer

Limits the maximum time (in seconds) during which requests can be processed through one keepalive connection

network.ingress.keepalive_timeout_seconds
integer

Sets a timeout (in seconds) during which an idle keepalive connection to an upstream server will stay open.

network.ingress.send_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a response to the client

network.ingress.proxy_connect_timeout_seconds
integer

Sets a timeout (in seconds) for establishing a connection to a proxied server

network.ingress.proxy_send_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a request to the proxied server

network.ingress.proxy_read_timeout_seconds
integer

Sets a timeout (in seconds) for reading a response from the proxied server

network.ingress.proxy_buffering
string

Allows to enable or disable nginx proxy-buffering

network.ingress.proxy_request_buffering
string

Allows to enable or disable nginx proxy-request-buffering

network.ingress.grpc_send_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a request to the grpc server

network.ingress.grpc_read_timeout_seconds
integer

Sets a timeout (in seconds) for transmitting a request to the grpc server

network.ingress.whitelist_source_range
string

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
string

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
string

Allows to define response headers

network.ingress.basic_auth_env_var
string

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
boolean

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

Responses

Request samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.proxy_request_buffering": "string",
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true
}

Response samples

Content type
application/json
{
  • "deployment.custom_domain_check_enabled": true,
  • "network.ingress.proxy_body_size_mb": 0,
  • "network.ingress.enable_cors": true,
  • "network.ingress.cors_allow_origin": "string",
  • "network.ingress.cors_allow_methods": "string",
  • "network.ingress.cors_allow_headers": "string",
  • "network.ingress.proxy_buffer_size_kb": 0,
  • "network.ingress.keepalive_time_seconds": 0,
  • "network.ingress.keepalive_timeout_seconds": 0,
  • "network.ingress.send_timeout_seconds": 0,
  • "network.ingress.proxy_connect_timeout_seconds": 0,
  • "network.ingress.proxy_send_timeout_seconds": 0,
  • "network.ingress.proxy_read_timeout_seconds": 0,
  • "network.ingress.proxy_buffering": "string",
  • "network.ingress.proxy_request_buffering": "string",
  • "network.ingress.grpc_send_timeout_seconds": 0,
  • "network.ingress.grpc_read_timeout_seconds": 0,
  • "network.ingress.whitelist_source_range": "string",
  • "network.ingress.denylist_source_range": "string",
  • "network.ingress.extra_headers": "{\"X-Frame-Options\":\"DENY \",\"X-Content-Type-Options\":\"nosniff\"}",
  • "network.ingress.basic_auth_env_var": "string",
  • "network.ingress.enable_sticky_session": true
}

Helm Custom Domain

List helm custom domains

List the custom domains of this helm

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Add custom domain to the helm.

Add a custom domain to this helm in order not to use qovery autogenerated domain

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Request Body schema: application/json
domain
required
string

your custom domain

generate_certificate
required
boolean

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.

Responses

Request samples

Content type
application/json
{
  • "domain": "my.domain.tld",
  • "generate_certificate": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "domain": "my.domain.tld",
  • "generate_certificate": true,
  • "validation_domain": "string",
  • "status": "VALIDATION_PENDING"
}

Edit a Custom Domain

To edit a Custom Domain you must have the project user permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

customDomainId
required
string <uuid>

Custom Domain ID

Request Body schema: application/json
domain
required
string

your custom domain

generate_certificate
required
boolean

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.

Responses

Request samples

Content type
application/json
{
  • "domain": "my.domain.tld",
  • "generate_certificate": true
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "domain": "my.domain.tld",
  • "generate_certificate": true,
  • "validation_domain": "string",
  • "status": "VALIDATION_PENDING"
}

Delete a Custom Domain

To delete an CustomDomain you must have the project user permission

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

customDomainId
required
string <uuid>

Custom Domain ID

Responses

Get a Custom Domain

Get a custom domain

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

customDomainId
required
string <uuid>

Custom Domain ID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "domain": "my.domain.tld",
  • "generate_certificate": true,
  • "validation_domain": "string",
  • "status": "VALIDATION_PENDING"
}

Helm Deployment Restriction

Get helm deployment restrictions

Get helm deployment restrictions

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a helm deployment restriction

Create a helm deployment restriction

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Request Body schema: application/json
mode
required
string (DeploymentRestrictionModeEnum)
Enum: "EXCLUDE" "MATCH"

Match mode will rebuild app only if specified items are updated. Exclude mode will not rebuild app if specified items are updated.

type
required
string (DeploymentRestrictionTypeEnum)
Value: "PATH"
value
required
string

For PATH restrictions, the value must not start with /

Responses

Request samples

Content type
application/json
{
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "helm1/src/"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "helm1/src/"
}

Edit a helm deployment restriction

Edit a helm deployment restriction

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

deploymentRestrictionId
required
string <uuid>

Deployment Restriction ID

Request Body schema: application/json
mode
required
string (DeploymentRestrictionModeEnum)
Enum: "EXCLUDE" "MATCH"

Match mode will rebuild app only if specified items are updated. Exclude mode will not rebuild app if specified items are updated.

type
required
string (DeploymentRestrictionTypeEnum)
Value: "PATH"
value
required
string

For PATH restrictions, the value must not start with /

Responses

Request samples

Content type
application/json
{
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "helm1/src/"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "mode": "MATCH",
  • "type": "PATH",
  • "value": "helm1/src/"
}

Delete a helm deployment restriction

Delete a helm deployment restriction

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

deploymentRestrictionId
required
string <uuid>

Deployment Restriction ID

Responses

Helm Deployment History

List helm deployments

Returns the 20 last helm deployments

Authorizations:
bearerAuthApiKeyAuth
path Parameters
helmId
required
string <uuid>

Helm ID

Responses

Response samples

Content type
application/json
{
  • "page": 1,
  • "page_size": 20,
  • "results": [
    ]
}

Account Info

Get Account information

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "nickname": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "profile_picture_url": "string",
  • "communication_email": "string"
}

Edit account information

Authorizations:
bearerAuthApiKeyAuth
Request Body schema: application/json
communication_email
string

The email to be used for official Qovery communications

Responses

Request samples

Content type
application/json
{
  • "communication_email": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "nickname": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "profile_picture_url": "string",
  • "communication_email": "string"
}

Git repositories

Get git provider accounts Deprecated

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get github repositories of the connected user Deprecated

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{}

Get github branches of the specified repository Deprecated

Authorizations:
bearerAuthApiKeyAuth
query Parameters
name
string

The name of the repository where to retrieve the branches

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get gitlab repositories of the connected user Deprecated

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{}

Get gitlab branches of the specified repository Deprecated

Authorizations:
bearerAuthApiKeyAuth
query Parameters
name
string

The name of the repository to retrieve the branches

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get bitbucket repositories of the connected user Deprecated

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{}

Get bitbucket branches of the specified repository Deprecated

Authorizations:
bearerAuthApiKeyAuth
query Parameters
name
string

The name of the repository where to retrieve the branches

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Referral & Rewards

Get your referral information

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{}

Claim a reward

A same code can be claimed only 3 times at max

Authorizations:
bearerAuthApiKeyAuth
Request Body schema: application/json
type
string
Value: "INVITATION"
code
string

Responses

Request samples

Content type
application/json
{
  • "type": "INVITATION",
  • "code": "xDowkWEl"
}

Git repositories

Get git provider accounts Deprecated

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get github repositories of the connected user Deprecated

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{}

Get github branches of the specified repository Deprecated

Authorizations:
bearerAuthApiKeyAuth
query Parameters
name
string

The name of the repository where to retrieve the branches

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get gitlab repositories of the connected user Deprecated

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{}

Get gitlab branches of the specified repository Deprecated

Authorizations:
bearerAuthApiKeyAuth
query Parameters
name
string

The name of the repository to retrieve the branches

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get bitbucket repositories of the connected user Deprecated

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{}

Get bitbucket branches of the specified repository Deprecated

Authorizations:
bearerAuthApiKeyAuth
query Parameters
name
string

The name of the repository where to retrieve the branches

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Variable Main Calls

List variables

Returns a list of variables. The result can be filtered by using the query parameters.

Authorizations:
bearerAuthApiKeyAuth
query Parameters
parent_id
required
string <uuid>

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.

scope
required
string (APIVariableScopeEnum)
Enum: "APPLICATION" "BUILT_IN" "ENVIRONMENT" "PROJECT" "CONTAINER" "JOB" "HELM"

the type of the parent_id (application, project, environment etc..).

is_secret
boolean or null

it filters the list by returning only the variables of type secret or not

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a variable

  • Create a variable with the scope defined in the request body.
Authorizations:
bearerAuthApiKeyAuth
Request Body schema: application/json
key
required
string

the key of the environment variable

value
required
string

the value of the environment variable

mount_path
string or null

the path where the file will be mounted (only if type =file)

is_secret
required
boolean

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
required
string (APIVariableScopeEnum)
Enum: "APPLICATION" "BUILT_IN" "ENVIRONMENT" "PROJECT" "CONTAINER" "JOB" "HELM"
variable_parent_id
required
string <uuid>

based on the selected scope, it contains the ID of the service, environment or project where the variable is attached

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string",
  • "mount_path": "string",
  • "is_secret": true,
  • "variable_scope": "APPLICATION",
  • "variable_parent_id": "670816cf-0e4b-4049-967a-2b704abf633f"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": "string",
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string",
  • "is_secret": true
}

Create a variable alias

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
variableId
required
string <uuid>

Variable ID

Request Body schema: application/json
key
required
string

the value to be used as Alias of the targeted environment variable.

alias_scope
required
string (APIVariableScopeEnum)
Enum: "APPLICATION" "BUILT_IN" "ENVIRONMENT" "PROJECT" "CONTAINER" "JOB" "HELM"
alias_parent_id
required
string <uuid>

the id of the variable that is aliased.

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "alias_scope": "APPLICATION",
  • "alias_parent_id": "334fccf2-1e41-467f-9287-9ccbc7f67e1d"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": "string",
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string",
  • "is_secret": true
}

Create a variable override

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
variableId
required
string <uuid>

Variable ID

Request Body schema: application/json
value
required
string

the value to be used as Override of the targeted environment variable.

override_scope
required
string (APIVariableScopeEnum)
Enum: "APPLICATION" "BUILT_IN" "ENVIRONMENT" "PROJECT" "CONTAINER" "JOB" "HELM"
override_parent_id
required
string <uuid>

the id of the variable that is aliased.

Responses

Request samples

Content type
application/json
{
  • "value": "string",
  • "override_scope": "APPLICATION",
  • "override_parent_id": "07059dc0-da07-4335-9fd4-fd771d761257"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": "string",
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string",
  • "is_secret": true
}

Delete a variable

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
variableId
required
string <uuid>

Variable ID

Responses

Edit a variable

  • 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
Authorizations:
bearerAuthApiKeyAuth
path Parameters
variableId
required
string <uuid>

Variable ID

Request Body schema: application/json
key
required
string

the key of the environment variable

value
required
string

the value of the environment variable

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "key": "string",
  • "value": "string",
  • "mount_path": "string",
  • "overridden_variable": {
    },
  • "aliased_variable": {
    },
  • "scope": "APPLICATION",
  • "variable_type": "VALUE",
  • "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0",
  • "service_name": "string",
  • "service_type": "APPLICATION",
  • "owned_by": "string",
  • "is_secret": true
}

Import variables

Import environment variables in a defined scope, with a defined visibility.

Authorizations:
bearerAuthApiKeyAuth
query Parameters
service_id
required
string <uuid>

service id

service_type
required
string (ServiceTypeForVariableEnum)
Enum: "APPLICATION" "CONTAINER" "JOB" "HELM"

service type

Request Body schema: application/json
overwrite
required
boolean
Default: false
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "overwrite": false,
  • "vars": [
    ]
}

Response samples

Content type
application/json
{
  • "total_variables_to_import": 0,
  • "successful_imported_variables": [
    ]
}

User Sign Up

Get Sign up information

Retrieve the Sign Up information of the user

Authorizations:
bearerAuthApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "first_name": "string",
  • "last_name": "string",
  • "user_email": "string",
  • "type_of_use": "PERSONAL",
  • "qovery_usage": "string",
  • "company_name": "string",
  • "company_size": "1-10",
  • "user_role": "string",
  • "qovery_usage_other": "string",
  • "user_questions": "string",
  • "current_step": "string",
  • "dx_auth": true,
  • "infrastructure_hosting": "string"
}

Send Sign Up request

Send a Sign Up request containing the user information

Authorizations:
bearerAuthApiKeyAuth
Request Body schema: application/json
first_name
required
string
last_name
required
string
user_email
required
string
type_of_use
required
string (TypeOfUseEnum)
Enum: "PERSONAL" "SCHOOL" "WORK"
qovery_usage
required
string
company_name
string or null
company_size
string (CompanySizeEnum)
Enum: "1-10" "11-50" "51-200" "201-500" "500+"
user_role
string or null
qovery_usage_other
string or null
user_questions
string or null
current_step
string or null
dx_auth
boolean or null
infrastructure_hosting
string or null

Responses

Request samples

Content type
application/json
{
  • "first_name": "string",
  • "last_name": "string",
  • "user_email": "string",
  • "type_of_use": "PERSONAL",
  • "qovery_usage": "string",
  • "company_name": "string",
  • "company_size": "1-10",
  • "user_role": "string",
  • "qovery_usage_other": "string",
  • "user_questions": "string",
  • "current_step": "string",
  • "dx_auth": true,
  • "infrastructure_hosting": "string"
}