curl --request POST \
--url https://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume \
--header 'Authorization: Bearer <token>'import requests
url = "https://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume', 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://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume",
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://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume"
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://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume")
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{
"state": "quiesced",
"export": {
"error": "<string>",
"finishedAt": "<string>",
"size": 3074211,
"startedAt": "<string>",
"state": "running",
"uploaded": false
},
"readOnlyRoot": true,
"reason": "archive export",
"restore": {
"deleted": 3,
"downloaded": 1048576,
"error": "<string>",
"finishedAt": "<string>",
"restored": 1204,
"size": 3074211,
"startedAt": "<string>",
"state": "extracting"
},
"since": "<string>",
"stoppedProcesses": [
"<string>"
]
}{
"error": "Error message"
}{
"error": "Error message"
}Lift the archive freeze
Makes the API serve every route again after an export. The processes stopped for the export are not relaunched: this exists so a failed or aborted export does not leave the sandbox unusable.
curl --request POST \
--url https://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume \
--header 'Authorization: Bearer <token>'import requests
url = "https://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume', 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://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume",
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://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume"
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://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sbx-{sandbox_id}-{workspace_id}.{region}.bl.run/archive/resume")
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{
"state": "quiesced",
"export": {
"error": "<string>",
"finishedAt": "<string>",
"size": 3074211,
"startedAt": "<string>",
"state": "running",
"uploaded": false
},
"readOnlyRoot": true,
"reason": "archive export",
"restore": {
"deleted": 3,
"downloaded": 1048576,
"error": "<string>",
"finishedAt": "<string>",
"restored": 1204,
"size": 3074211,
"startedAt": "<string>",
"state": "extracting"
},
"since": "<string>",
"stoppedProcesses": [
"<string>"
]
}{
"error": "Error message"
}{
"error": "Error message"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
Archive status
active, quiescing, quiesced, restoring "quiesced"
Export reports the export started asynchronously, if there was one. It is how a caller that did not wait for the export learns that the archive is on the storage, or why it is not.
Show child attributes
Show child attributes
ReadOnlyRoot reports whether the root mount was remounted read-only, which is what actually stops writes; false means the freeze relies only on the API refusing calls, and the reason says why.
true
Reason is a human readable explanation of why the sandbox is frozen.
"archive export"
Restore reports the archive this sandbox was started from, if it was started from one: how far its restore has got, and how it ended.
Show child attributes
Show child attributes
Since is when the sandbox left StateActive.
StoppedProcesses are the process identifiers stopped while quiescing.
Was this page helpful?