curl --request POST \
--url https://api.e2b.app/sandboxes/{sandboxID}/pause \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"memory": true,
"requireHealthyGuest": false
}
'import requests
url = "https://api.e2b.app/sandboxes/{sandboxID}/pause"
payload = {
"memory": True,
"requireHealthyGuest": False
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({memory: true, requireHealthyGuest: false})
};
fetch('https://api.e2b.app/sandboxes/{sandboxID}/pause', 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.e2b.app/sandboxes/{sandboxID}/pause",
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([
'memory' => true,
'requireHealthyGuest' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.e2b.app/sandboxes/{sandboxID}/pause"
payload := strings.NewReader("{\n \"memory\": true,\n \"requireHealthyGuest\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.e2b.app/sandboxes/{sandboxID}/pause")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"memory\": true,\n \"requireHealthyGuest\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/sandboxes/{sandboxID}/pause")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"memory\": true,\n \"requireHealthyGuest\": false\n}"
response = http.request(request)
puts response.read_bodyPause sandbox
Pause the sandbox. Answers 503 and leaves the sandbox running when it cannot be paused right now: its node is busy, it is being snapshotted, or requireHealthyGuest was set and the sandbox guest agent is not responding; retry later.
curl --request POST \
--url https://api.e2b.app/sandboxes/{sandboxID}/pause \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"memory": true,
"requireHealthyGuest": false
}
'import requests
url = "https://api.e2b.app/sandboxes/{sandboxID}/pause"
payload = {
"memory": True,
"requireHealthyGuest": False
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({memory: true, requireHealthyGuest: false})
};
fetch('https://api.e2b.app/sandboxes/{sandboxID}/pause', 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.e2b.app/sandboxes/{sandboxID}/pause",
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([
'memory' => true,
'requireHealthyGuest' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.e2b.app/sandboxes/{sandboxID}/pause"
payload := strings.NewReader("{\n \"memory\": true,\n \"requireHealthyGuest\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.e2b.app/sandboxes/{sandboxID}/pause")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"memory\": true,\n \"requireHealthyGuest\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/sandboxes/{sandboxID}/pause")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"memory\": true,\n \"requireHealthyGuest\": false\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Path Parameters
Body
Whether to capture a full memory snapshot. When false, only the filesystem is persisted and resuming the sandbox cold-boots (reboots) it from disk, losing in-memory state, running processes, and open connections. Resume it with an explicit request (connect or resume); auto-resume, which can be triggered by arbitrary traffic, refuses such a sandbox. Defaults to true.
The pause checks that the sandbox guest agent answers before it takes the snapshot. By default an unresponsive agent is recorded on the snapshot and the pause proceeds; the sandbox then shows envdUnresponsiveAtPause and a later resume must ask for memory: false, since restoring that memory would bring the unresponsive agent back. With this true, the pause is instead refused with 503 while the agent does not answer, and the sandbox keeps running. A filesystem-only pause (memory: false) is always refused while the agent does not answer, whatever this says.
Response
The sandbox was paused successfully and can be resumed
Was this page helpful?