curl --request POST \
--url https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"sync_replica_count": 1,
"replica_count": 1
}
'import requests
url = "https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA"
payload = {
"sync_replica_count": 1,
"replica_count": 1
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({sync_replica_count: 1, replica_count: 1})
};
fetch('https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA', 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://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA",
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([
'sync_replica_count' => 1,
'replica_count' => 1
]),
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://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA"
payload := strings.NewReader("{\n \"sync_replica_count\": 1,\n \"replica_count\": 1\n}")
req, _ := http.NewRequest("POST", 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.post("https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"sync_replica_count\": 1,\n \"replica_count\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sync_replica_count\": 1,\n \"replica_count\": 1\n}"
response = http.request(request)
puts response.read_body{
"service_id": "<string>",
"project_id": "<string>",
"name": "<string>",
"region_code": "us-east-1",
"service_type": "TIMESCALEDB",
"created": "2023-11-07T05:31:56Z",
"initial_password": "a-very-secure-initial-password",
"paused": true,
"status": "QUEUED",
"resources": [
{
"id": "<string>",
"spec": {
"cpu_millis": 123,
"memory_gbs": 123,
"volume_type": "<string>"
}
}
],
"metadata": {
"environment": "<string>"
},
"endpoint": {
"host": "my-service.com",
"port": 8080
},
"vpcEndpoint": {},
"forked_from": {
"project_id": "asda1b2c3",
"service_id": "bbss422fg",
"is_standby": false
},
"ha_replicas": {
"sync_replica_count": 1,
"replica_count": 1
},
"connection_pooler": {
"endpoint": {
"host": "my-service.com",
"port": 8080
}
},
"read_replica_sets": [
{
"id": "alb8jicdpr",
"name": "reporting-replica-1",
"status": "active",
"nodes": 2,
"cpu_millis": 250,
"memory_gbs": 1,
"metadata": {
"environment": "<string>"
},
"endpoint": {
"host": "my-service.com",
"port": 8080
},
"connection_pooler": {
"endpoint": {
"host": "my-service.com",
"port": 8080
}
}
}
]
}{
"code": "<string>",
"message": "<string>"
}Change HA configuration for a Service
Changes the HA configuration for a specific service. This is an asynchronous operation.
curl --request POST \
--url https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"sync_replica_count": 1,
"replica_count": 1
}
'import requests
url = "https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA"
payload = {
"sync_replica_count": 1,
"replica_count": 1
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({sync_replica_count: 1, replica_count: 1})
};
fetch('https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA', 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://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA",
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([
'sync_replica_count' => 1,
'replica_count' => 1
]),
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://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA"
payload := strings.NewReader("{\n \"sync_replica_count\": 1,\n \"replica_count\": 1\n}")
req, _ := http.NewRequest("POST", 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.post("https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"sync_replica_count\": 1,\n \"replica_count\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services/{service_id}/setHA")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sync_replica_count\": 1,\n \"replica_count\": 1\n}"
response = http.request(request)
puts response.read_body{
"service_id": "<string>",
"project_id": "<string>",
"name": "<string>",
"region_code": "us-east-1",
"service_type": "TIMESCALEDB",
"created": "2023-11-07T05:31:56Z",
"initial_password": "a-very-secure-initial-password",
"paused": true,
"status": "QUEUED",
"resources": [
{
"id": "<string>",
"spec": {
"cpu_millis": 123,
"memory_gbs": 123,
"volume_type": "<string>"
}
}
],
"metadata": {
"environment": "<string>"
},
"endpoint": {
"host": "my-service.com",
"port": 8080
},
"vpcEndpoint": {},
"forked_from": {
"project_id": "asda1b2c3",
"service_id": "bbss422fg",
"is_standby": false
},
"ha_replicas": {
"sync_replica_count": 1,
"replica_count": 1
},
"connection_pooler": {
"endpoint": {
"host": "my-service.com",
"port": 8080
}
},
"read_replica_sets": [
{
"id": "alb8jicdpr",
"name": "reporting-replica-1",
"status": "active",
"nodes": 2,
"cpu_millis": 250,
"memory_gbs": 1,
"metadata": {
"environment": "<string>"
},
"endpoint": {
"host": "my-service.com",
"port": 8080
},
"connection_pooler": {
"endpoint": {
"host": "my-service.com",
"port": 8080
}
}
}
]
}{
"code": "<string>",
"message": "<string>"
}Authorizations
HTTP Basic Authentication using your Tiger Cloud public key and secret key.
Format: Authorization: Basic <base64(public_key:secret_key)>
Example:
curl -X GET "https://console.cloud.timescale.com/public/api/v1/projects/{project_id}/services" \
-H "Authorization: Basic $(echo -n 'your_public_key:your_secret_key' | base64)"
Path Parameters
The unique identifier of the project.
"rp1pz7uyae"
The unique identifier of the service.
"d1k5vk7hf2"
Body
Response
HA replica configuration updated
The unique identifier for the service.
The project this service belongs to.
The name of the service.
The cloud region where the service is hosted.
"us-east-1"
The type of the service.
TIMESCALEDB, POSTGRES, VECTOR Creation timestamp
The initial password for the service.
"a-very-secure-initial-password"
Whether the service is paused
Current status of the service
QUEUED, DELETING, CONFIGURING, READY, DELETED, UNSTABLE, PAUSING, PAUSED, RESUMING, UPGRADING, OPTIMIZING List of resources allocated to the service
Show child attributes
Show child attributes
Additional metadata for the service
Show child attributes
Show child attributes
Show child attributes
Show child attributes
VPC endpoint configuration if available
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes