curl --request GET \
--url https://api.e2b.app/templates \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.e2b.app/templates"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.e2b.app/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/templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.e2b.app/templates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.e2b.app/templates")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"templateID": "<string>",
"buildID": "<string>",
"cpuCount": 2,
"memoryMB": 129,
"diskSizeMB": 1,
"public": true,
"aliases": [
"<string>"
],
"names": [
"<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>",
"buildStatus": "building"
}
]{
"code": 400,
"message": "Team ID param mismatch with the API key"
}{
"code": 401,
"message": "authorization header is missing"
}{
"code": 403,
"message": "team is banned"
}{
"code": 429,
"message": "Rate limit exceeded"
}{
"code": 500,
"message": "Error when getting templates"
}List templates
List all templates
curl --request GET \
--url https://api.e2b.app/templates \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.e2b.app/templates"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.e2b.app/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/templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.e2b.app/templates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.e2b.app/templates")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"templateID": "<string>",
"buildID": "<string>",
"cpuCount": 2,
"memoryMB": 129,
"diskSizeMB": 1,
"public": true,
"aliases": [
"<string>"
],
"names": [
"<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>",
"buildStatus": "building"
}
]{
"code": 400,
"message": "Team ID param mismatch with the API key"
}{
"code": 401,
"message": "authorization header is missing"
}{
"code": 403,
"message": "team is banned"
}{
"code": 429,
"message": "Rate limit exceeded"
}{
"code": 500,
"message": "Error when getting templates"
}Authorizations
Query Parameters
Identifier of the team
Response
Successfully returned all templates
Identifier of the template
Identifier of the last successful build for given template
Resource allocation for the latest build, or 0 when build resources are unavailable.
x >= 1Resource allocation for the latest build, or 0 when build resources are unavailable.
x >= 128Disk size for the sandbox in MiB
x >= 0Whether the template is public or only accessible by the team
Aliases of the template
Names of the template (namespace/alias format when namespaced)
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
Status of the template build
building, waiting, ready, error, uploaded Was this page helpful?