Update service backup bucket
This endpoint is in beta. API contract is stable, and no breaking changes are expected in the future.
Update service backup bucket. Requires ADMIN auth key role. The secrets of the specified bucket provider are always required
PATCH
/
v1
/
organizations
/
{organizationId}
/
services
/
{serviceId}
/
backupBucket
Update service backup bucket
curl --request PATCH \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"bucketProvider": "AWS",
"bucketPath": "<string>",
"iamRoleArn": "<string>",
"iamRoleSessionName": "<string>"
}
'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket"
payload = {
"bucketProvider": "AWS",
"bucketPath": "<string>",
"iamRoleArn": "<string>",
"iamRoleSessionName": "<string>"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
bucketProvider: 'AWS',
bucketPath: '<string>',
iamRoleArn: '<string>',
iamRoleSessionName: '<string>'
})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket', 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.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'bucketProvider' => 'AWS',
'bucketPath' => '<string>',
'iamRoleArn' => '<string>',
'iamRoleSessionName' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket"
payload := strings.NewReader("{\n \"bucketProvider\": \"AWS\",\n \"bucketPath\": \"<string>\",\n \"iamRoleArn\": \"<string>\",\n \"iamRoleSessionName\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.patch("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"bucketProvider\": \"AWS\",\n \"bucketPath\": \"<string>\",\n \"iamRoleArn\": \"<string>\",\n \"iamRoleSessionName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"bucketProvider\": \"AWS\",\n \"bucketPath\": \"<string>\",\n \"iamRoleArn\": \"<string>\",\n \"iamRoleSessionName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"result": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"bucketProvider": "AWS",
"bucketPath": "<string>",
"iamRoleArn": "<string>",
"iamRoleSessionName": "<string>"
}
}{
"status": 400,
"error": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"status": 500,
"error": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Beta
This endpoint is in beta. API contract is stable, and no breaking changes are expected in the future.
Update service backup bucket. Requires ADMIN auth key role. The secrets of the specified bucket provider are always required
Update service backup bucket. Requires ADMIN auth key role. The secrets of the specified bucket provider are always required
Authorizations
Use key ID and key secret obtained in ClickHouse Cloud console: https://clickhouse.com/docs/cloud/manage/openapi
Path Parameters
ID of the requested organization.
ID of the requested service.
Body
application/json
Last modified on July 9, 2026
Was this page helpful?
⌘I
Update service backup bucket
curl --request PATCH \
--url https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"bucketProvider": "AWS",
"bucketPath": "<string>",
"iamRoleArn": "<string>",
"iamRoleSessionName": "<string>"
}
'import requests
url = "https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket"
payload = {
"bucketProvider": "AWS",
"bucketPath": "<string>",
"iamRoleArn": "<string>",
"iamRoleSessionName": "<string>"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
bucketProvider: 'AWS',
bucketPath: '<string>',
iamRoleArn: '<string>',
iamRoleSessionName: '<string>'
})
};
fetch('https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket', 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.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'bucketProvider' => 'AWS',
'bucketPath' => '<string>',
'iamRoleArn' => '<string>',
'iamRoleSessionName' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket"
payload := strings.NewReader("{\n \"bucketProvider\": \"AWS\",\n \"bucketPath\": \"<string>\",\n \"iamRoleArn\": \"<string>\",\n \"iamRoleSessionName\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.patch("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"bucketProvider\": \"AWS\",\n \"bucketPath\": \"<string>\",\n \"iamRoleArn\": \"<string>\",\n \"iamRoleSessionName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.clickhouse.cloud/v1/organizations/{organizationId}/services/{serviceId}/backupBucket")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"bucketProvider\": \"AWS\",\n \"bucketPath\": \"<string>\",\n \"iamRoleArn\": \"<string>\",\n \"iamRoleSessionName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"result": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"bucketProvider": "AWS",
"bucketPath": "<string>",
"iamRoleArn": "<string>",
"iamRoleSessionName": "<string>"
}
}{
"status": 400,
"error": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"status": 500,
"error": "<string>",
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}