Templates
Create template (v3)
Create a new template
POST
/
v3
/
templates
Create template (v3)
curl --request POST \
--url https://api.e2b.app/v3/templates \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"tags": [
"<string>"
],
"alias": "<string>",
"teamID": "<string>",
"cpuCount": 2,
"memoryMB": 129
}
'import requests
url = "https://api.e2b.app/v3/templates"
payload = {
"name": "<string>",
"tags": ["<string>"],
"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({
name: '<string>',
tags: ['<string>'],
alias: '<string>',
teamID: '<string>',
cpuCount: 2,
memoryMB: 129
})
};
fetch('https://api.e2b.app/v3/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/v3/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([
'name' => '<string>',
'tags' => [
'<string>'
],
'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/v3/templates"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\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/v3/templates")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\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/v3/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 \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\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>",
"public": true,
"names": [
"<string>"
],
"tags": [
"<string>"
],
"aliases": [
"<string>"
]
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Authorizations
Body
application/json
Name of the template. Can include a tag with colon separator (e.g. "my-template" or "my-template:v1"). If tag is included, it will be treated as if the tag was provided in the tags array.
Tags to assign to the template build
Alias of the template. Deprecated, use name instead.
Identifier of the team
CPU cores for the sandbox
Required range:
x >= 1Memory for the sandbox in MiB
Required range:
x >= 128Response
The build was requested successfully
Identifier of the template
Identifier of the last successful build for given template
Whether the template is public or only accessible by the team
Names of the template
Tags assigned to the template build
Aliases of the template
Was this page helpful?
⌘I
Create template (v3)
curl --request POST \
--url https://api.e2b.app/v3/templates \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"tags": [
"<string>"
],
"alias": "<string>",
"teamID": "<string>",
"cpuCount": 2,
"memoryMB": 129
}
'import requests
url = "https://api.e2b.app/v3/templates"
payload = {
"name": "<string>",
"tags": ["<string>"],
"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({
name: '<string>',
tags: ['<string>'],
alias: '<string>',
teamID: '<string>',
cpuCount: 2,
memoryMB: 129
})
};
fetch('https://api.e2b.app/v3/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/v3/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([
'name' => '<string>',
'tags' => [
'<string>'
],
'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/v3/templates"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\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/v3/templates")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\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/v3/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 \"name\": \"<string>\",\n \"tags\": [\n \"<string>\"\n ],\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>",
"public": true,
"names": [
"<string>"
],
"tags": [
"<string>"
],
"aliases": [
"<string>"
]
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}