Clone environment
curl --request POST \
--url https://api.qovery.com/environment/{environmentId}/clone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "PRODUCTION",
"apply_deployment_rule": false,
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.qovery.com/environment/{environmentId}/clone"
payload = {
"name": "<string>",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "PRODUCTION",
"apply_deployment_rule": False,
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
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_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
mode: 'PRODUCTION',
apply_deployment_rule: false,
project_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.qovery.com/environment/{environmentId}/clone', 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/environment/{environmentId}/clone",
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_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'mode' => 'PRODUCTION',
'apply_deployment_rule' => false,
'project_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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/environment/{environmentId}/clone"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"cluster_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\",\n \"apply_deployment_rule\": false,\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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/environment/{environmentId}/clone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"cluster_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\",\n \"apply_deployment_rule\": false,\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/environment/{environmentId}/clone")
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_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\",\n \"apply_deployment_rule\": false,\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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>"
}Environment Actions
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.
POST
/
environment
/
{environmentId}
/
clone
Clone environment
curl --request POST \
--url https://api.qovery.com/environment/{environmentId}/clone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "PRODUCTION",
"apply_deployment_rule": false,
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'import requests
url = "https://api.qovery.com/environment/{environmentId}/clone"
payload = {
"name": "<string>",
"cluster_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"mode": "PRODUCTION",
"apply_deployment_rule": False,
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
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_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
mode: 'PRODUCTION',
apply_deployment_rule: false,
project_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
})
};
fetch('https://api.qovery.com/environment/{environmentId}/clone', 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/environment/{environmentId}/clone",
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_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'mode' => 'PRODUCTION',
'apply_deployment_rule' => false,
'project_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]),
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/environment/{environmentId}/clone"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"cluster_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\",\n \"apply_deployment_rule\": false,\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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/environment/{environmentId}/clone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"cluster_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\",\n \"apply_deployment_rule\": false,\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/environment/{environmentId}/clone")
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_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"mode\": \"PRODUCTION\",\n \"apply_deployment_rule\": false,\n \"project_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\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>"
}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
Environment ID
Body
application/json
Response
Environment clone has been requested
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
Was this page helpful?
⌘I