curl --request POST \
--url https://api.e2b.app/sandboxes/{sandboxID}/connect \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"timeout": 1,
"memory": true
}
'import requests
url = "https://api.e2b.app/sandboxes/{sandboxID}/connect"
payload = {
"timeout": 1,
"memory": True
}
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({timeout: 1, memory: true})
};
fetch('https://api.e2b.app/sandboxes/{sandboxID}/connect', 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}/connect",
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([
'timeout' => 1,
'memory' => true
]),
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}/connect"
payload := strings.NewReader("{\n \"timeout\": 1,\n \"memory\": true\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}/connect")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"timeout\": 1,\n \"memory\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/sandboxes/{sandboxID}/connect")
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 \"timeout\": 1,\n \"memory\": true\n}"
response = http.request(request)
puts response.read_bodyConnect to sandbox
Returns sandbox details. If the sandbox is paused, it will be resumed. TTL is only extended. Use POST /v2/sandboxes//connect instead.
curl --request POST \
--url https://api.e2b.app/sandboxes/{sandboxID}/connect \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"timeout": 1,
"memory": true
}
'import requests
url = "https://api.e2b.app/sandboxes/{sandboxID}/connect"
payload = {
"timeout": 1,
"memory": True
}
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({timeout: 1, memory: true})
};
fetch('https://api.e2b.app/sandboxes/{sandboxID}/connect', 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}/connect",
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([
'timeout' => 1,
'memory' => true
]),
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}/connect"
payload := strings.NewReader("{\n \"timeout\": 1,\n \"memory\": true\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}/connect")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"timeout\": 1,\n \"memory\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/sandboxes/{sandboxID}/connect")
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 \"timeout\": 1,\n \"memory\": true\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Path Parameters
Body
Timeout in seconds from the current time after which the sandbox should expire
x >= 0Defaults to true. When false and the sandbox is paused, resume from disk state only: the sandbox cold-boots fresh and any memory in the snapshot is ignored, never modified or deleted. Disk state has crash-recovery semantics — writes not flushed before the pause may be lost. A no-op for snapshots that contain no memory. Rejected with an error in environments where this capability is not enabled, never silently downgraded to a memory restore.
Response
The sandbox was already running
Identifier of the template from which is the sandbox created
Identifier of the sandbox
Identifier of the client
Version of the envd running in the sandbox
Alias of the template
Access token used for envd communication
Token required for accessing sandbox via proxy.
Base domain where the sandbox traffic is accessible
Was this page helpful?