Create temporary, read-only credentials for downloading backups directly from object storage
curl --request POST \
--url https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials', 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.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials"
req, _ := http.NewRequest("POST", 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.post("https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"bucket": "<string>",
"endpoint": "<string>",
"region": "<string>",
"access_key_id": "<string>",
"secret_access_key": "<string>",
"session_token": "<string>",
"expiration": "2023-11-07T05:31:56Z"
}{
"error": {
"code": 401,
"message": "There was an error logging in",
"type": "InvalidCredentials",
"details": {}
}
}Postgres Database
Create temporary, read-only credentials for downloading backups directly from object storage
POST
/
project
/
{project_id}
/
location
/
{location}
/
postgres
/
{postgres_database_reference}
/
backup-credentials
Create temporary, read-only credentials for downloading backups directly from object storage
curl --request POST \
--url https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials', 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.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials"
req, _ := http.NewRequest("POST", 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.post("https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ubicloud.com/project/{project_id}/location/{location}/postgres/{postgres_database_reference}/backup-credentials")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"bucket": "<string>",
"endpoint": "<string>",
"region": "<string>",
"access_key_id": "<string>",
"secret_access_key": "<string>",
"session_token": "<string>",
"expiration": "2023-11-07T05:31:56Z"
}{
"error": {
"code": 401,
"message": "There was an error logging in",
"type": "InvalidCredentials",
"details": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID of the project
Pattern:
^pj[0-9a-hj-km-np-tv-z]{24}$Example:
"pjkkmx0f2vke4h36nk9cm8v8q0"
The Ubicloud location/region
Example:
"eu-central-h1"
Postgres database ID or name Resource ID or name
Pattern:
^[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?$Response
Temporary, read-only credentials for downloading backups directly from object storage
Name of the bucket backups are stored in
Object storage endpoint URL
Object storage region
Temporary access key ID
Temporary secret access key
Temporary session token, required alongside the access key ID and secret access key
When these temporary credentials expire