Create template (v2)
curl --request POST \
--url https://api.e2b.app/v2/templates \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"alias": "<string>",
"teamID": "<string>",
"cpuCount": 2,
"memoryMB": 129
}
'import requests
url = "https://api.e2b.app/v2/templates"
payload = {
"alias": "<string>",
"teamID": "<string>",
"cpuCount": 2,
"memoryMB": 129
}
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({alias: '<string>', teamID: '<string>', cpuCount: 2, memoryMB: 129})
};
fetch('https://api.e2b.app/v2/templates', 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/v2/templates",
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([
'alias' => '<string>',
'teamID' => '<string>',
'cpuCount' => 2,
'memoryMB' => 129
]),
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/v2/templates"
payload := strings.NewReader("{\n \"alias\": \"<string>\",\n \"teamID\": \"<string>\",\n \"cpuCount\": 2,\n \"memoryMB\": 129\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/v2/templates")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"alias\": \"<string>\",\n \"teamID\": \"<string>\",\n \"cpuCount\": 2,\n \"memoryMB\": 129\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/v2/templates")
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 \"alias\": \"<string>\",\n \"teamID\": \"<string>\",\n \"cpuCount\": 2,\n \"memoryMB\": 129\n}"
response = http.request(request)
puts response.read_body{
"templateID": "<string>",
"buildID": "<string>",
"cpuCount": 2,
"memoryMB": 129,
"diskSizeMB": 1,
"public": true,
"aliases": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": null
},
"lastSpawnedAt": "2023-11-07T05:31:56Z",
"spawnCount": 123,
"buildCount": 123,
"envdVersion": "<string>",
"names": [
"<string>"
],
"buildStatus": "building"
}{
"code": 123,
"message": "<string>",
"error_code": "<string>"
}{
"code": 123,
"message": "<string>",
"error_code": "<string>"
}{
"code": 123,
"message": "<string>",
"error_code": "<string>"
}Templates
Create template (v2)
deprecated
Create a new template
POST
/
v2
/
templates
Create template (v2)
curl --request POST \
--url https://api.e2b.app/v2/templates \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"alias": "<string>",
"teamID": "<string>",
"cpuCount": 2,
"memoryMB": 129
}
'import requests
url = "https://api.e2b.app/v2/templates"
payload = {
"alias": "<string>",
"teamID": "<string>",
"cpuCount": 2,
"memoryMB": 129
}
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({alias: '<string>', teamID: '<string>', cpuCount: 2, memoryMB: 129})
};
fetch('https://api.e2b.app/v2/templates', 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/v2/templates",
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([
'alias' => '<string>',
'teamID' => '<string>',
'cpuCount' => 2,
'memoryMB' => 129
]),
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/v2/templates"
payload := strings.NewReader("{\n \"alias\": \"<string>\",\n \"teamID\": \"<string>\",\n \"cpuCount\": 2,\n \"memoryMB\": 129\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/v2/templates")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"alias\": \"<string>\",\n \"teamID\": \"<string>\",\n \"cpuCount\": 2,\n \"memoryMB\": 129\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/v2/templates")
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 \"alias\": \"<string>\",\n \"teamID\": \"<string>\",\n \"cpuCount\": 2,\n \"memoryMB\": 129\n}"
response = http.request(request)
puts response.read_body{
"templateID": "<string>",
"buildID": "<string>",
"cpuCount": 2,
"memoryMB": 129,
"diskSizeMB": 1,
"public": true,
"aliases": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": null
},
"lastSpawnedAt": "2023-11-07T05:31:56Z",
"spawnCount": 123,
"buildCount": 123,
"envdVersion": "<string>",
"names": [
"<string>"
],
"buildStatus": "building"
}{
"code": 123,
"message": "<string>",
"error_code": "<string>"
}{
"code": 123,
"message": "<string>",
"error_code": "<string>"
}{
"code": 123,
"message": "<string>",
"error_code": "<string>"
}Authorizations
Body
application/json
Response
The build was requested successfully
Identifier of the template
Identifier of the last successful build for given template
CPU cores for the sandbox
Required range:
x >= 1Memory for the sandbox in MiB
Required range:
x >= 128Disk size for the sandbox in MiB
Required range:
x >= 0Whether the template is public or only accessible by the team
Aliases of the template
Time when the template was created
Time when the template was last updated
Show child attributes
Show child attributes
Time when the template was last used
Number of times the template was used
Number of times the template was built
Version of the envd running in the sandbox
Names of the template (namespace/alias format when namespaced)
Status of the template build
Available options:
building, waiting, ready, error, uploaded Was this page helpful?