Sandboxes
Put sandboxes network
Update the network configuration for a running sandbox. Replaces the current egress rules with the provided configuration. Omitting both fields clears all egress rules.
PUT
/
sandboxes
/
{sandboxID}
/
network
cURL
curl --request PUT \
--url https://api.e2b.app/sandboxes/{sandboxID}/network \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"allowOut": [
"<string>"
],
"denyOut": [
"<string>"
]
}
'import requests
url = "https://api.e2b.app/sandboxes/{sandboxID}/network"
payload = {
"allowOut": ["<string>"],
"denyOut": ["<string>"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({allowOut: ['<string>'], denyOut: ['<string>']})
};
fetch('https://api.e2b.app/sandboxes/{sandboxID}/network', 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}/network",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'allowOut' => [
'<string>'
],
'denyOut' => [
'<string>'
]
]),
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}/network"
payload := strings.NewReader("{\n \"allowOut\": [\n \"<string>\"\n ],\n \"denyOut\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.e2b.app/sandboxes/{sandboxID}/network")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"allowOut\": [\n \"<string>\"\n ],\n \"denyOut\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/sandboxes/{sandboxID}/network")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"allowOut\": [\n \"<string>\"\n ],\n \"denyOut\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Authorizations
Path Parameters
Body
application/json
List of allowed destinations for egress traffic. Each entry can be a CIDR block (e.g. "8.8.8.8/32"), a bare IP address (e.g. "8.8.8.8"), or a domain name (e.g. "example.com", "*.example.com"). Allowed entries always take precedence over denied entries.
List of denied CIDR blocks or IP addresses for egress traffic. Domain names are not supported for deny rules.
Response
Successfully updated the sandbox network configuration
Was this page helpful?
⌘I
cURL
curl --request PUT \
--url https://api.e2b.app/sandboxes/{sandboxID}/network \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"allowOut": [
"<string>"
],
"denyOut": [
"<string>"
]
}
'import requests
url = "https://api.e2b.app/sandboxes/{sandboxID}/network"
payload = {
"allowOut": ["<string>"],
"denyOut": ["<string>"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({allowOut: ['<string>'], denyOut: ['<string>']})
};
fetch('https://api.e2b.app/sandboxes/{sandboxID}/network', 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}/network",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'allowOut' => [
'<string>'
],
'denyOut' => [
'<string>'
]
]),
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}/network"
payload := strings.NewReader("{\n \"allowOut\": [\n \"<string>\"\n ],\n \"denyOut\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.e2b.app/sandboxes/{sandboxID}/network")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"allowOut\": [\n \"<string>\"\n ],\n \"denyOut\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/sandboxes/{sandboxID}/network")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"allowOut\": [\n \"<string>\"\n ],\n \"denyOut\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}