curl --request PUT \
--url https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"platform": {
"templateKey": "<string>",
"templateVersion": "<string>",
"layerSelections": {},
"managedConfig": {}
},
"clusterInputs": {}
}
'import requests
url = "https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration"
payload = {
"platform": {
"templateKey": "<string>",
"templateVersion": "<string>",
"layerSelections": {},
"managedConfig": {}
},
"clusterInputs": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
platform: {
templateKey: '<string>',
templateVersion: '<string>',
layerSelections: {},
managedConfig: {}
},
clusterInputs: {}
})
};
fetch('https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration', 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/v1/cluster/{clusterId}/platformConfiguration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'platform' => [
'templateKey' => '<string>',
'templateVersion' => '<string>',
'layerSelections' => [
],
'managedConfig' => [
]
],
'clusterInputs' => [
]
]),
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/v1/cluster/{clusterId}/platformConfiguration"
payload := strings.NewReader("{\n \"platform\": {\n \"templateKey\": \"<string>\",\n \"templateVersion\": \"<string>\",\n \"layerSelections\": {},\n \"managedConfig\": {}\n },\n \"clusterInputs\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"platform\": {\n \"templateKey\": \"<string>\",\n \"templateVersion\": \"<string>\",\n \"layerSelections\": {},\n \"managedConfig\": {}\n },\n \"clusterInputs\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"platform\": {\n \"templateKey\": \"<string>\",\n \"templateVersion\": \"<string>\",\n \"layerSelections\": {},\n \"managedConfig\": {}\n },\n \"clusterInputs\": {}\n}"
response = http.request(request)
puts response.read_body{
"clusterId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"platform": {
"templateKey": "<string>",
"templateVersion": "<string>",
"layerSelections": {},
"managedConfig": {}
},
"clusterInputs": {},
"layers": [
{
"key": "<string>",
"status": "ENABLED",
"reason": "<string>",
"componentKeys": [
"<string>"
]
}
]
}Update the cluster platform configuration
Replaces the whole platform configuration of the cluster, its platform selection and its cluster inputs, after validating it against the template release. Saving does not deploy it. "<redacted>" is not a keep-existing value: never send it back.
curl --request PUT \
--url https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"platform": {
"templateKey": "<string>",
"templateVersion": "<string>",
"layerSelections": {},
"managedConfig": {}
},
"clusterInputs": {}
}
'import requests
url = "https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration"
payload = {
"platform": {
"templateKey": "<string>",
"templateVersion": "<string>",
"layerSelections": {},
"managedConfig": {}
},
"clusterInputs": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
platform: {
templateKey: '<string>',
templateVersion: '<string>',
layerSelections: {},
managedConfig: {}
},
clusterInputs: {}
})
};
fetch('https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration', 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/v1/cluster/{clusterId}/platformConfiguration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'platform' => [
'templateKey' => '<string>',
'templateVersion' => '<string>',
'layerSelections' => [
],
'managedConfig' => [
]
],
'clusterInputs' => [
]
]),
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/v1/cluster/{clusterId}/platformConfiguration"
payload := strings.NewReader("{\n \"platform\": {\n \"templateKey\": \"<string>\",\n \"templateVersion\": \"<string>\",\n \"layerSelections\": {},\n \"managedConfig\": {}\n },\n \"clusterInputs\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"platform\": {\n \"templateKey\": \"<string>\",\n \"templateVersion\": \"<string>\",\n \"layerSelections\": {},\n \"managedConfig\": {}\n },\n \"clusterInputs\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/v1/cluster/{clusterId}/platformConfiguration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"platform\": {\n \"templateKey\": \"<string>\",\n \"templateVersion\": \"<string>\",\n \"layerSelections\": {},\n \"managedConfig\": {}\n },\n \"clusterInputs\": {}\n}"
response = http.request(request)
puts response.read_body{
"clusterId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"platform": {
"templateKey": "<string>",
"templateVersion": "<string>",
"layerSelections": {},
"managedConfig": {}
},
"clusterInputs": {},
"layers": [
{
"key": "<string>",
"status": "ENABLED",
"reason": "<string>",
"componentKeys": [
"<string>"
]
}
]
}Authorizations
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
Cluster ID
Body
Complete platform configuration of a cluster. It replaces the stored one; omitted layerSelections and managedConfig are stored empty.
Platform template release selected for a cluster, with its layer selections and component configuration. Sensitive managedConfig values are redacted in responses.
Show child attributes
Show child attributes
String values keyed first by component key and then by input key
Show child attributes
Show child attributes
Response
Updated cluster platform configuration
Platform template release selected for a cluster, with its layer selections and component configuration. Sensitive managedConfig values are redacted in responses.
Show child attributes
Show child attributes
String values keyed first by component key and then by input key
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?