curl --request POST \
--url https://api.qovery.com/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"profileConfig": {},
"clusterInputs": {},
"componentOutputs": {}
}
'import requests
url = "https://api.qovery.com/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve"
payload = {
"profileConfig": {},
"clusterInputs": {},
"componentOutputs": {}
}
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({profileConfig: {}, clusterInputs: {}, componentOutputs: {}})
};
fetch('https://api.qovery.com/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve', 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/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve",
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([
'profileConfig' => [
],
'clusterInputs' => [
],
'componentOutputs' => [
]
]),
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/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve"
payload := strings.NewReader("{\n \"profileConfig\": {},\n \"clusterInputs\": {},\n \"componentOutputs\": {}\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/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"profileConfig\": {},\n \"clusterInputs\": {},\n \"componentOutputs\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve")
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 \"profileConfig\": {},\n \"clusterInputs\": {},\n \"componentOutputs\": {}\n}"
response = http.request(request)
puts response.read_body{
"componentKey": "<string>",
"fields": [
{
"key": "<string>",
"type": "string",
"required": true,
"label": "<string>",
"sensitive": true,
"constraints": {
"allowedValues": [
"<string>"
],
"min": 123,
"max": 123,
"minLength": 123,
"maxLength": 123,
"pattern": "<string>"
},
"defaultValue": "<string>",
"description": "<string>"
}
],
"requirements": [
{
"key": "<string>",
"type": "string",
"required": true,
"label": "<string>",
"sensitive": true,
"constraints": {
"allowedValues": [
"<string>"
],
"min": 123,
"max": 123,
"minLength": 123,
"maxLength": 123,
"pattern": "<string>"
},
"scope": "PLATFORM_PROFILE",
"status": "MISSING",
"defaultValue": "<string>",
"description": "<string>"
}
],
"componentBindings": [
{
"input": "<string>",
"fromComponent": "<string>",
"output": "<string>"
}
],
"violations": [
{
"code": "<string>",
"fieldPath": "<string>",
"message": "<string>"
}
]
}Resolve a platform component configuration before cluster creation
Resolves the fields and runtime requirements to display for a component using an explicit cluster context and the values currently entered in the Console. This operation is read-only and does not require an existing cluster or platform binding.
curl --request POST \
--url https://api.qovery.com/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"profileConfig": {},
"clusterInputs": {},
"componentOutputs": {}
}
'import requests
url = "https://api.qovery.com/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve"
payload = {
"profileConfig": {},
"clusterInputs": {},
"componentOutputs": {}
}
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({profileConfig: {}, clusterInputs: {}, componentOutputs: {}})
};
fetch('https://api.qovery.com/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve', 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/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve",
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([
'profileConfig' => [
],
'clusterInputs' => [
],
'componentOutputs' => [
]
]),
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/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve"
payload := strings.NewReader("{\n \"profileConfig\": {},\n \"clusterInputs\": {},\n \"componentOutputs\": {}\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/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"profileConfig\": {},\n \"clusterInputs\": {},\n \"componentOutputs\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/organization/{organizationId}/platformTemplate/{templateKey}/{templateVersion}/component/{componentKey}/resolve")
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 \"profileConfig\": {},\n \"clusterInputs\": {},\n \"componentOutputs\": {}\n}"
response = http.request(request)
puts response.read_body{
"componentKey": "<string>",
"fields": [
{
"key": "<string>",
"type": "string",
"required": true,
"label": "<string>",
"sensitive": true,
"constraints": {
"allowedValues": [
"<string>"
],
"min": 123,
"max": 123,
"minLength": 123,
"maxLength": 123,
"pattern": "<string>"
},
"defaultValue": "<string>",
"description": "<string>"
}
],
"requirements": [
{
"key": "<string>",
"type": "string",
"required": true,
"label": "<string>",
"sensitive": true,
"constraints": {
"allowedValues": [
"<string>"
],
"min": 123,
"max": 123,
"minLength": 123,
"maxLength": 123,
"pattern": "<string>"
},
"scope": "PLATFORM_PROFILE",
"status": "MISSING",
"defaultValue": "<string>",
"description": "<string>"
}
],
"componentBindings": [
{
"input": "<string>",
"fromComponent": "<string>",
"output": "<string>"
}
],
"violations": [
{
"code": "<string>",
"fieldPath": "<string>",
"message": "<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
Organization ID
Platform template key
Platform template version
Platform component key
Query Parameters
Cluster management mode used to resolve component applicability
QOVERY_MANAGED, CUSTOMER_MANAGED Cluster cloud provider used to resolve component applicability
AWS, SCW, GCP, DO, AZURE, OVH, CIVO, HETZNER, ORACLE, IBM, UNKNOWN Body
Response
Resolved component configuration
Component configuration resolved from an explicit template and cluster context before an actual cluster exists.
Was this page helpful?