Create an environment
curl --request POST \
--url https://api.qovery.com/project/{projectId}/environment \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"cluster": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "PRODUCTION"
}
'import requests
url = "https://api.qovery.com/project/{projectId}/environment"
payload = {
"name": "<string>",
"cluster": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "PRODUCTION"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
cluster: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
mode: 'PRODUCTION'
})
};
fetch('https://api.qovery.com/project/{projectId}/environment', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.qovery.com/project/{projectId}/environment",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'cluster' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'mode' => 'PRODUCTION'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.qovery.com/project/{projectId}/environment"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"cluster\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.qovery.com/project/{projectId}/environment")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"cluster\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/project/{projectId}/environment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"cluster\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"organization": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"project": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"cloud_provider": {
"provider": "aws",
"cluster": "us-east-2"
},
"mode": "PRODUCTION",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"updated_at": "2023-11-07T05:31:56Z",
"last_updated_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cluster_name": "<string>",
"expires_at": "2023-11-07T05:31:56Z"
}Environments
Create an environment
POST
/
project
/
{projectId}
/
environment
Create an environment
curl --request POST \
--url https://api.qovery.com/project/{projectId}/environment \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"cluster": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "PRODUCTION"
}
'import requests
url = "https://api.qovery.com/project/{projectId}/environment"
payload = {
"name": "<string>",
"cluster": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "PRODUCTION"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
cluster: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
mode: 'PRODUCTION'
})
};
fetch('https://api.qovery.com/project/{projectId}/environment', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.qovery.com/project/{projectId}/environment",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'cluster' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'mode' => 'PRODUCTION'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.qovery.com/project/{projectId}/environment"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"cluster\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.qovery.com/project/{projectId}/environment")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"cluster\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/project/{projectId}/environment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"cluster\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"organization": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"project": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"cloud_provider": {
"provider": "aws",
"cluster": "us-east-2"
},
"mode": "PRODUCTION",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"updated_at": "2023-11-07T05:31:56Z",
"last_updated_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cluster_name": "<string>",
"expires_at": "2023-11-07T05:31:56Z"
}Authorizations
bearerAuthApiKeyAuth
JWT tokens should be used with OIDC account (human to machine). JWT tokens used by the Qovery console to communicate with the API have a TTL. Curl Example ' curl https://console.qovery.com/organization -H "Authorization: Bearer $qovery_token" '
Path Parameters
Project ID
Body
application/json
Response
Create environment
name is case insensitive
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
DEVELOPMENT, PREVIEW, PRODUCTION, STAGING Example:
"PRODUCTION"
uuid of the user that made the last update
Date after which the environment is automatically deleted. Null when the environment never expires, which is the case for every environment except the throwaway ones created for a single agentic workflow run.
Was this page helpful?