curl --request GET \
--url https://api.qovery.com/blueprint/{blueprintId}/update \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qovery.com/blueprint/{blueprintId}/update"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qovery.com/blueprint/{blueprintId}/update', 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/blueprint/{blueprintId}/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qovery.com/blueprint/{blueprintId}/update"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qovery.com/blueprint/{blueprintId}/update")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/blueprint/{blueprintId}/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"is_up_to_date": true,
"current_tag": "aws/postgres/17/1.0.0",
"latest_tag": "aws/postgres/17/1.1.0",
"new_required_values": [
{
"name": "<string>",
"type": {
"type": "string",
"pattern": "<string>",
"min_length": 123,
"max_length": 123,
"min": 123,
"max": 123
},
"is_secret": true,
"allowed_values": [
"<string>"
]
}
],
"new_optional_values": [
{
"name": "<string>",
"type": {
"type": "string",
"pattern": "<string>",
"min_length": 123,
"max_length": 123,
"min": 123,
"max": 123
},
"is_secret": true,
"default_value": "<string>",
"allowed_values": [
"<string>"
]
}
],
"now_required_values": [
{
"name": "<string>",
"type": {
"type": "string",
"pattern": "<string>",
"min_length": 123,
"max_length": 123,
"min": 123,
"max": 123
},
"is_secret": true,
"allowed_values": [
"<string>"
]
}
],
"updated_values": [
{
"name": "<string>",
"type": {
"type": "string",
"pattern": "<string>",
"min_length": 123,
"max_length": 123,
"min": 123,
"max": 123
},
"is_secret": true,
"current_default_value": "<string>",
"new_default_value": "<string>",
"current_value": "<string>",
"allowed_values": [
"<string>"
]
}
],
"removed_values": [
{
"name": "<string>"
}
],
"engine_diff": {
"updated_values": [
{
"name": "<string>",
"current_default_value": "<string>",
"new_default_value": "<string>",
"current_value": "<string>"
}
]
},
"new_major_versions": [
{
"service_version": "17",
"latest_tag": "aws/postgres/17/1.0.1"
}
]
}Check if a blueprint service has an available update
Returns the update availability for a deployed blueprint service, including the latest tag, and a diff of variables that are new, changed, or removed.
curl --request GET \
--url https://api.qovery.com/blueprint/{blueprintId}/update \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qovery.com/blueprint/{blueprintId}/update"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qovery.com/blueprint/{blueprintId}/update', 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/blueprint/{blueprintId}/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qovery.com/blueprint/{blueprintId}/update"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qovery.com/blueprint/{blueprintId}/update")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/blueprint/{blueprintId}/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"is_up_to_date": true,
"current_tag": "aws/postgres/17/1.0.0",
"latest_tag": "aws/postgres/17/1.1.0",
"new_required_values": [
{
"name": "<string>",
"type": {
"type": "string",
"pattern": "<string>",
"min_length": 123,
"max_length": 123,
"min": 123,
"max": 123
},
"is_secret": true,
"allowed_values": [
"<string>"
]
}
],
"new_optional_values": [
{
"name": "<string>",
"type": {
"type": "string",
"pattern": "<string>",
"min_length": 123,
"max_length": 123,
"min": 123,
"max": 123
},
"is_secret": true,
"default_value": "<string>",
"allowed_values": [
"<string>"
]
}
],
"now_required_values": [
{
"name": "<string>",
"type": {
"type": "string",
"pattern": "<string>",
"min_length": 123,
"max_length": 123,
"min": 123,
"max": 123
},
"is_secret": true,
"allowed_values": [
"<string>"
]
}
],
"updated_values": [
{
"name": "<string>",
"type": {
"type": "string",
"pattern": "<string>",
"min_length": 123,
"max_length": 123,
"min": 123,
"max": 123
},
"is_secret": true,
"current_default_value": "<string>",
"new_default_value": "<string>",
"current_value": "<string>",
"allowed_values": [
"<string>"
]
}
],
"removed_values": [
{
"name": "<string>"
}
],
"engine_diff": {
"updated_values": [
{
"name": "<string>",
"current_default_value": "<string>",
"new_default_value": "<string>",
"current_value": "<string>"
}
]
},
"new_major_versions": [
{
"service_version": "17",
"latest_tag": "aws/postgres/17/1.0.1"
}
]
}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
Blueprint ID
Response
Blueprint update availability
"aws/postgres/17/1.0.0"
"aws/postgres/17/1.1.0"
Variables added in the latest version that are required with no default
Show child attributes
Show child attributes
Variables added in the latest version that have a default value
Show child attributes
Show child attributes
Variables that were optional but are now required in the latest version
Show child attributes
Show child attributes
Variables whose default value changed between the current and latest versions
Show child attributes
Show child attributes
Variables that no longer exist in the latest version
Show child attributes
Show child attributes
Catalog engine-block deltas between the current and latest blueprint tag.
Show child attributes
Show child attributes
Major versions of the same blueprint newer than the service's current one (e.g. service on aws/postgres/16 while 17 and 18 exist). Empty when already on the latest major or when the current version is non-numeric.
Show child attributes
Show child attributes
Was this page helpful?