curl --request POST \
--url https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"destinationId": "<string>",
"retentionDays": 123
}
'import requests
url = "https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups"
payload = {
"destinationId": "<string>",
"retentionDays": 123
}
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({destinationId: '<string>', retentionDays: 123})
};
fetch('https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups', 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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups",
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([
'destinationId' => '<string>',
'retentionDays' => 123
]),
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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups"
payload := strings.NewReader("{\n \"destinationId\": \"<string>\",\n \"retentionDays\": 123\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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"destinationId\": \"<string>\",\n \"retentionDays\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups")
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 \"destinationId\": \"<string>\",\n \"retentionDays\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"databaseId": "<string>",
"kind": "continuous",
"status": "queued",
"recoveryPoint": "2023-11-07T05:31:56Z",
"sizeBytes": 123,
"destinationId": "<string>",
"copyRegion": "enam",
"error": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"purgedAt": "2023-11-07T05:31:56Z"
}Create
Create an on-demand recovery point in the primary managed repository, one additional managed storage area, or one configured customer destination.
curl --request POST \
--url https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"destinationId": "<string>",
"retentionDays": 123
}
'import requests
url = "https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups"
payload = {
"destinationId": "<string>",
"retentionDays": 123
}
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({destinationId: '<string>', retentionDays: 123})
};
fetch('https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups', 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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups",
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([
'destinationId' => '<string>',
'retentionDays' => 123
]),
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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups"
payload := strings.NewReader("{\n \"destinationId\": \"<string>\",\n \"retentionDays\": 123\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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"destinationId\": \"<string>\",\n \"retentionDays\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/databases/{databaseId}/backups")
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 \"destinationId\": \"<string>\",\n \"retentionDays\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"databaseId": "<string>",
"kind": "continuous",
"status": "queued",
"recoveryPoint": "2023-11-07T05:31:56Z",
"sizeBytes": 123,
"destinationId": "<string>",
"copyRegion": "enam",
"error": "<string>",
"expiresAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"purgedAt": "2023-11-07T05:31:56Z"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The organization's id (UUID) or slug — either form is accepted.
The project's id (UUID) or slug — either form is accepted.
Body
- Option 1
- Option 2
Configured customer destination. Omit or set null for the primary managed repository. Mutually exclusive with copyRegion.
Managed disaster-recovery storage area for this on-demand recovery point. Mutually exclusive with destinationId.
enam, weur, eeur, apac, oc Response
Backup queued.
continuous, manual, daily, weekly, monthly queued, running, ready, failed, expired Korve storage area holding this managed disaster-recovery copy; null for the primary managed repository or a customer destination.
enam, weur, eeur, apac, oc, null Set after the backing repository confirms physical deletion of this recovery point.