Replace the draft with the pages published in one commit
curl --request POST \
--url http://localhost:4200/restore/snapshot \
--header 'Content-Type: application/json' \
--data '
{
"commit": "<string>",
"session": "<string>",
"siteId": "<string>"
}
'import requests
url = "http://localhost:4200/restore/snapshot"
payload = {
"commit": "<string>",
"session": "<string>",
"siteId": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({commit: '<string>', session: '<string>', siteId: '<string>'})
};
fetch('http://localhost:4200/restore/snapshot', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4200",
CURLOPT_URL => "http://localhost:4200/restore/snapshot",
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([
'commit' => '<string>',
'session' => '<string>',
'siteId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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 := "http://localhost:4200/restore/snapshot"
payload := strings.NewReader("{\n \"commit\": \"<string>\",\n \"session\": \"<string>\",\n \"siteId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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("http://localhost:4200/restore/snapshot")
.header("Content-Type", "application/json")
.body("{\n \"commit\": \"<string>\",\n \"session\": \"<string>\",\n \"siteId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:4200/restore/snapshot")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"commit\": \"<string>\",\n \"session\": \"<string>\",\n \"siteId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyRestore
Replace the draft with the pages published in one commit
The draft is cleared and refilled rather than merged, so the restore reproduces that commit exactly instead of resurrecting pages the snapshot does not contain. The session is marked recently-restored, which is what stops the next bootstrap seeding from overwriting it.
POST
/
restore
/
snapshot
Replace the draft with the pages published in one commit
curl --request POST \
--url http://localhost:4200/restore/snapshot \
--header 'Content-Type: application/json' \
--data '
{
"commit": "<string>",
"session": "<string>",
"siteId": "<string>"
}
'import requests
url = "http://localhost:4200/restore/snapshot"
payload = {
"commit": "<string>",
"session": "<string>",
"siteId": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({commit: '<string>', session: '<string>', siteId: '<string>'})
};
fetch('http://localhost:4200/restore/snapshot', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4200",
CURLOPT_URL => "http://localhost:4200/restore/snapshot",
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([
'commit' => '<string>',
'session' => '<string>',
'siteId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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 := "http://localhost:4200/restore/snapshot"
payload := strings.NewReader("{\n \"commit\": \"<string>\",\n \"session\": \"<string>\",\n \"siteId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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("http://localhost:4200/restore/snapshot")
.header("Content-Type", "application/json")
.body("{\n \"commit\": \"<string>\",\n \"session\": \"<string>\",\n \"siteId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:4200/restore/snapshot")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"commit\": \"<string>\",\n \"session\": \"<string>\",\n \"siteId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyBody
application/json
Response
{ status: "restored", commit, session, scopedSession, slugs, previewVersion }.