Throw away selected changes from the version log
curl --request POST \
--url http://localhost:4200/history/discard \
--header 'Content-Type: application/json' \
--data '
{
"session": "<string>",
"versions": [
123
],
"siteId": "<string>"
}
'import requests
url = "http://localhost:4200/history/discard"
payload = {
"session": "<string>",
"versions": [123],
"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({session: '<string>', versions: [123], siteId: '<string>'})
};
fetch('http://localhost:4200/history/discard', 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/history/discard",
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([
'session' => '<string>',
'versions' => [
123
],
'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/history/discard"
payload := strings.NewReader("{\n \"session\": \"<string>\",\n \"versions\": [\n 123\n ],\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/history/discard")
.header("Content-Type", "application/json")
.body("{\n \"session\": \"<string>\",\n \"versions\": [\n 123\n ],\n \"siteId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:4200/history/discard")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"session\": \"<string>\",\n \"versions\": [\n 123\n ],\n \"siteId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyHistory
Throw away selected changes from the version log
Rolls each affected page back to the state it held immediately before the earliest version selected on it. The version log is a per-page timeline, not a stack of independent patches, so “undo this one change and keep the later ones” is not a question the stored data can answer — which is why the response names every later entry that goes with the selection, in discarded[].alsoDiscarded. Selecting several versions on one page collapses to a single rollback. Entries that cannot be rolled back are reported in skipped with a reason rather than guessed at.
POST
/
history
/
discard
Throw away selected changes from the version log
curl --request POST \
--url http://localhost:4200/history/discard \
--header 'Content-Type: application/json' \
--data '
{
"session": "<string>",
"versions": [
123
],
"siteId": "<string>"
}
'import requests
url = "http://localhost:4200/history/discard"
payload = {
"session": "<string>",
"versions": [123],
"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({session: '<string>', versions: [123], siteId: '<string>'})
};
fetch('http://localhost:4200/history/discard', 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/history/discard",
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([
'session' => '<string>',
'versions' => [
123
],
'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/history/discard"
payload := strings.NewReader("{\n \"session\": \"<string>\",\n \"versions\": [\n 123\n ],\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/history/discard")
.header("Content-Type", "application/json")
.body("{\n \"session\": \"<string>\",\n \"versions\": [\n 123\n ],\n \"siteId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:4200/history/discard")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"session\": \"<string>\",\n \"versions\": [\n 123\n ],\n \"siteId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyBody
application/json
Response
{ status: "applied", previewVersion, discarded: [{ slug, fromVersion, toVersion, alsoDiscarded }], skipped: [{ version, reason }], navigateToSlug?, canUndo, canRedo }.