Start build (v2)
curl --request POST \
--url https://api.e2b.app/v2/templates/{templateID}/builds/{buildID} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"fromImage": "<string>",
"fromTemplate": "<string>",
"fromImageRegistry": {
"type": "aws",
"awsAccessKeyId": "<string>",
"awsSecretAccessKey": "<string>",
"awsRegion": "<string>"
},
"force": false,
"steps": [],
"startCmd": "<string>",
"readyCmd": "<string>"
}
'import requests
url = "https://api.e2b.app/v2/templates/{templateID}/builds/{buildID}"
payload = {
"fromImage": "<string>",
"fromTemplate": "<string>",
"fromImageRegistry": {
"type": "aws",
"awsAccessKeyId": "<string>",
"awsSecretAccessKey": "<string>",
"awsRegion": "<string>"
},
"force": False,
"steps": [],
"startCmd": "<string>",
"readyCmd": "<string>"
}
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({
fromImage: '<string>',
fromTemplate: '<string>',
fromImageRegistry: {
type: 'aws',
awsAccessKeyId: '<string>',
awsSecretAccessKey: '<string>',
awsRegion: '<string>'
},
force: false,
steps: [],
startCmd: '<string>',
readyCmd: '<string>'
})
};
fetch('https://api.e2b.app/v2/templates/{templateID}/builds/{buildID}', 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/{templateID}/builds/{buildID}",
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([
'fromImage' => '<string>',
'fromTemplate' => '<string>',
'fromImageRegistry' => [
'type' => 'aws',
'awsAccessKeyId' => '<string>',
'awsSecretAccessKey' => '<string>',
'awsRegion' => '<string>'
],
'force' => false,
'steps' => [
],
'startCmd' => '<string>',
'readyCmd' => '<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/v2/templates/{templateID}/builds/{buildID}"
payload := strings.NewReader("{\n \"fromImage\": \"<string>\",\n \"fromTemplate\": \"<string>\",\n \"fromImageRegistry\": {\n \"type\": \"aws\",\n \"awsAccessKeyId\": \"<string>\",\n \"awsSecretAccessKey\": \"<string>\",\n \"awsRegion\": \"<string>\"\n },\n \"force\": false,\n \"steps\": [],\n \"startCmd\": \"<string>\",\n \"readyCmd\": \"<string>\"\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/{templateID}/builds/{buildID}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"fromImage\": \"<string>\",\n \"fromTemplate\": \"<string>\",\n \"fromImageRegistry\": {\n \"type\": \"aws\",\n \"awsAccessKeyId\": \"<string>\",\n \"awsSecretAccessKey\": \"<string>\",\n \"awsRegion\": \"<string>\"\n },\n \"force\": false,\n \"steps\": [],\n \"startCmd\": \"<string>\",\n \"readyCmd\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/v2/templates/{templateID}/builds/{buildID}")
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 \"fromImage\": \"<string>\",\n \"fromTemplate\": \"<string>\",\n \"fromImageRegistry\": {\n \"type\": \"aws\",\n \"awsAccessKeyId\": \"<string>\",\n \"awsSecretAccessKey\": \"<string>\",\n \"awsRegion\": \"<string>\"\n },\n \"force\": false,\n \"steps\": [],\n \"startCmd\": \"<string>\",\n \"readyCmd\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyTemplates
Start build (v2)
Start the build
POST
/
v2
/
templates
/
{templateID}
/
builds
/
{buildID}
Start build (v2)
curl --request POST \
--url https://api.e2b.app/v2/templates/{templateID}/builds/{buildID} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"fromImage": "<string>",
"fromTemplate": "<string>",
"fromImageRegistry": {
"type": "aws",
"awsAccessKeyId": "<string>",
"awsSecretAccessKey": "<string>",
"awsRegion": "<string>"
},
"force": false,
"steps": [],
"startCmd": "<string>",
"readyCmd": "<string>"
}
'import requests
url = "https://api.e2b.app/v2/templates/{templateID}/builds/{buildID}"
payload = {
"fromImage": "<string>",
"fromTemplate": "<string>",
"fromImageRegistry": {
"type": "aws",
"awsAccessKeyId": "<string>",
"awsSecretAccessKey": "<string>",
"awsRegion": "<string>"
},
"force": False,
"steps": [],
"startCmd": "<string>",
"readyCmd": "<string>"
}
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({
fromImage: '<string>',
fromTemplate: '<string>',
fromImageRegistry: {
type: 'aws',
awsAccessKeyId: '<string>',
awsSecretAccessKey: '<string>',
awsRegion: '<string>'
},
force: false,
steps: [],
startCmd: '<string>',
readyCmd: '<string>'
})
};
fetch('https://api.e2b.app/v2/templates/{templateID}/builds/{buildID}', 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/{templateID}/builds/{buildID}",
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([
'fromImage' => '<string>',
'fromTemplate' => '<string>',
'fromImageRegistry' => [
'type' => 'aws',
'awsAccessKeyId' => '<string>',
'awsSecretAccessKey' => '<string>',
'awsRegion' => '<string>'
],
'force' => false,
'steps' => [
],
'startCmd' => '<string>',
'readyCmd' => '<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/v2/templates/{templateID}/builds/{buildID}"
payload := strings.NewReader("{\n \"fromImage\": \"<string>\",\n \"fromTemplate\": \"<string>\",\n \"fromImageRegistry\": {\n \"type\": \"aws\",\n \"awsAccessKeyId\": \"<string>\",\n \"awsSecretAccessKey\": \"<string>\",\n \"awsRegion\": \"<string>\"\n },\n \"force\": false,\n \"steps\": [],\n \"startCmd\": \"<string>\",\n \"readyCmd\": \"<string>\"\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/{templateID}/builds/{buildID}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"fromImage\": \"<string>\",\n \"fromTemplate\": \"<string>\",\n \"fromImageRegistry\": {\n \"type\": \"aws\",\n \"awsAccessKeyId\": \"<string>\",\n \"awsSecretAccessKey\": \"<string>\",\n \"awsRegion\": \"<string>\"\n },\n \"force\": false,\n \"steps\": [],\n \"startCmd\": \"<string>\",\n \"readyCmd\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.e2b.app/v2/templates/{templateID}/builds/{buildID}")
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 \"fromImage\": \"<string>\",\n \"fromTemplate\": \"<string>\",\n \"fromImageRegistry\": {\n \"type\": \"aws\",\n \"awsAccessKeyId\": \"<string>\",\n \"awsSecretAccessKey\": \"<string>\",\n \"awsRegion\": \"<string>\"\n },\n \"force\": false,\n \"steps\": [],\n \"startCmd\": \"<string>\",\n \"readyCmd\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Body
application/json
Exactly one of fromImage or fromTemplate must be given and non-empty.
Image to use as a base for the template build
Minimum string length:
1Template to use as a base for the template build
Minimum string length:
1- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Whether the whole build should be forced to run regardless of the cache
List of steps to execute in the template build
Show child attributes
Show child attributes
Start command to execute in the template after the build
Ready check command to execute in the template after the build
Response
The build has started
Was this page helpful?