curl --request POST \
--url https://api.example.com/v1/projects/{project}/boxes \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"base": "<string>",
"config": {
"cpus": 123,
"ram_mb": 123,
"region": "<string>",
"storage_gb": 123
},
"data_mounts": [
{
"name": "<string>",
"path": "<string>",
"read_only": true
}
],
"env_from": [
{
"alias": "<string>",
"box": "<string>"
}
],
"environment": {},
"fork": "<string>",
"lifecycle": "<string>",
"pack": "<string>",
"tags": {}
}
'import requests
url = "https://api.example.com/v1/projects/{project}/boxes"
payload = {
"name": "<string>",
"base": "<string>",
"config": {
"cpus": 123,
"ram_mb": 123,
"region": "<string>",
"storage_gb": 123
},
"data_mounts": [
{
"name": "<string>",
"path": "<string>",
"read_only": True
}
],
"env_from": [
{
"alias": "<string>",
"box": "<string>"
}
],
"environment": {},
"fork": "<string>",
"lifecycle": "<string>",
"pack": "<string>",
"tags": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
base: '<string>',
config: {cpus: 123, ram_mb: 123, region: '<string>', storage_gb: 123},
data_mounts: [{name: '<string>', path: '<string>', read_only: true}],
env_from: [{alias: '<string>', box: '<string>'}],
environment: {},
fork: '<string>',
lifecycle: '<string>',
pack: '<string>',
tags: {}
})
};
fetch('https://api.example.com/v1/projects/{project}/boxes', 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.example.com/v1/projects/{project}/boxes",
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>',
'base' => '<string>',
'config' => [
'cpus' => 123,
'ram_mb' => 123,
'region' => '<string>',
'storage_gb' => 123
],
'data_mounts' => [
[
'name' => '<string>',
'path' => '<string>',
'read_only' => true
]
],
'env_from' => [
[
'alias' => '<string>',
'box' => '<string>'
]
],
'environment' => [
],
'fork' => '<string>',
'lifecycle' => '<string>',
'pack' => '<string>',
'tags' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.example.com/v1/projects/{project}/boxes"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"base\": \"<string>\",\n \"config\": {\n \"cpus\": 123,\n \"ram_mb\": 123,\n \"region\": \"<string>\",\n \"storage_gb\": 123\n },\n \"data_mounts\": [\n {\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"read_only\": true\n }\n ],\n \"env_from\": [\n {\n \"alias\": \"<string>\",\n \"box\": \"<string>\"\n }\n ],\n \"environment\": {},\n \"fork\": \"<string>\",\n \"lifecycle\": \"<string>\",\n \"pack\": \"<string>\",\n \"tags\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
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.example.com/v1/projects/{project}/boxes")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"base\": \"<string>\",\n \"config\": {\n \"cpus\": 123,\n \"ram_mb\": 123,\n \"region\": \"<string>\",\n \"storage_gb\": 123\n },\n \"data_mounts\": [\n {\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"read_only\": true\n }\n ],\n \"env_from\": [\n {\n \"alias\": \"<string>\",\n \"box\": \"<string>\"\n }\n ],\n \"environment\": {},\n \"fork\": \"<string>\",\n \"lifecycle\": \"<string>\",\n \"pack\": \"<string>\",\n \"tags\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/projects/{project}/boxes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"base\": \"<string>\",\n \"config\": {\n \"cpus\": 123,\n \"ram_mb\": 123,\n \"region\": \"<string>\",\n \"storage_gb\": 123\n },\n \"data_mounts\": [\n {\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"read_only\": true\n }\n ],\n \"env_from\": [\n {\n \"alias\": \"<string>\",\n \"box\": \"<string>\"\n }\n ],\n \"environment\": {},\n \"fork\": \"<string>\",\n \"lifecycle\": \"<string>\",\n \"pack\": \"<string>\",\n \"tags\": {}\n}"
response = http.request(request)
puts response.read_body{
"created_at": "<string>",
"id": "<string>",
"name": "<string>",
"project": "<string>",
"status": "<string>",
"updated_at": "<string>",
"base": "<string>",
"config": {
"cpus": 123,
"ram_mb": 123,
"region": "<string>",
"storage_gb": 123
},
"data_mounts": [
{
"name": "<string>",
"ownership": {
"kind": "persistent"
},
"path": "<string>",
"read_only": true
}
],
"environment": {},
"lifecycle": "<string>",
"pack": "<string>",
"pack_rev": "<string>",
"publishes": [
{
"host": "<string>",
"port": 2,
"public": true,
"url": "<string>",
"warning": "<string>"
}
],
"rollback_to": "<string>",
"tags": {},
"termination_grace_period_seconds": 1,
"url_settings": {
"auth": "<string>"
}
}Post v1projects boxes
curl --request POST \
--url https://api.example.com/v1/projects/{project}/boxes \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"base": "<string>",
"config": {
"cpus": 123,
"ram_mb": 123,
"region": "<string>",
"storage_gb": 123
},
"data_mounts": [
{
"name": "<string>",
"path": "<string>",
"read_only": true
}
],
"env_from": [
{
"alias": "<string>",
"box": "<string>"
}
],
"environment": {},
"fork": "<string>",
"lifecycle": "<string>",
"pack": "<string>",
"tags": {}
}
'import requests
url = "https://api.example.com/v1/projects/{project}/boxes"
payload = {
"name": "<string>",
"base": "<string>",
"config": {
"cpus": 123,
"ram_mb": 123,
"region": "<string>",
"storage_gb": 123
},
"data_mounts": [
{
"name": "<string>",
"path": "<string>",
"read_only": True
}
],
"env_from": [
{
"alias": "<string>",
"box": "<string>"
}
],
"environment": {},
"fork": "<string>",
"lifecycle": "<string>",
"pack": "<string>",
"tags": {}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
base: '<string>',
config: {cpus: 123, ram_mb: 123, region: '<string>', storage_gb: 123},
data_mounts: [{name: '<string>', path: '<string>', read_only: true}],
env_from: [{alias: '<string>', box: '<string>'}],
environment: {},
fork: '<string>',
lifecycle: '<string>',
pack: '<string>',
tags: {}
})
};
fetch('https://api.example.com/v1/projects/{project}/boxes', 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.example.com/v1/projects/{project}/boxes",
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>',
'base' => '<string>',
'config' => [
'cpus' => 123,
'ram_mb' => 123,
'region' => '<string>',
'storage_gb' => 123
],
'data_mounts' => [
[
'name' => '<string>',
'path' => '<string>',
'read_only' => true
]
],
'env_from' => [
[
'alias' => '<string>',
'box' => '<string>'
]
],
'environment' => [
],
'fork' => '<string>',
'lifecycle' => '<string>',
'pack' => '<string>',
'tags' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.example.com/v1/projects/{project}/boxes"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"base\": \"<string>\",\n \"config\": {\n \"cpus\": 123,\n \"ram_mb\": 123,\n \"region\": \"<string>\",\n \"storage_gb\": 123\n },\n \"data_mounts\": [\n {\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"read_only\": true\n }\n ],\n \"env_from\": [\n {\n \"alias\": \"<string>\",\n \"box\": \"<string>\"\n }\n ],\n \"environment\": {},\n \"fork\": \"<string>\",\n \"lifecycle\": \"<string>\",\n \"pack\": \"<string>\",\n \"tags\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
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.example.com/v1/projects/{project}/boxes")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"base\": \"<string>\",\n \"config\": {\n \"cpus\": 123,\n \"ram_mb\": 123,\n \"region\": \"<string>\",\n \"storage_gb\": 123\n },\n \"data_mounts\": [\n {\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"read_only\": true\n }\n ],\n \"env_from\": [\n {\n \"alias\": \"<string>\",\n \"box\": \"<string>\"\n }\n ],\n \"environment\": {},\n \"fork\": \"<string>\",\n \"lifecycle\": \"<string>\",\n \"pack\": \"<string>\",\n \"tags\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/projects/{project}/boxes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"base\": \"<string>\",\n \"config\": {\n \"cpus\": 123,\n \"ram_mb\": 123,\n \"region\": \"<string>\",\n \"storage_gb\": 123\n },\n \"data_mounts\": [\n {\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"read_only\": true\n }\n ],\n \"env_from\": [\n {\n \"alias\": \"<string>\",\n \"box\": \"<string>\"\n }\n ],\n \"environment\": {},\n \"fork\": \"<string>\",\n \"lifecycle\": \"<string>\",\n \"pack\": \"<string>\",\n \"tags\": {}\n}"
response = http.request(request)
puts response.read_body{
"created_at": "<string>",
"id": "<string>",
"name": "<string>",
"project": "<string>",
"status": "<string>",
"updated_at": "<string>",
"base": "<string>",
"config": {
"cpus": 123,
"ram_mb": 123,
"region": "<string>",
"storage_gb": 123
},
"data_mounts": [
{
"name": "<string>",
"ownership": {
"kind": "persistent"
},
"path": "<string>",
"read_only": true
}
],
"environment": {},
"lifecycle": "<string>",
"pack": "<string>",
"pack_rev": "<string>",
"publishes": [
{
"host": "<string>",
"port": 2,
"public": true,
"url": "<string>",
"warning": "<string>"
}
],
"rollback_to": "<string>",
"tags": {},
"termination_grace_period_seconds": 1,
"url_settings": {
"auth": "<string>"
}
}Path Parameters
Project name
Body
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Inject another pack instance's outputs under an alias (ALIAS_KEY=...).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Requested zpack lifecycle. Only "dev" is accepted (and only with
pack); deploy instances are stamped internally, never via this route.
Create this box as an instance of the named installed pack.
Show child attributes
Show child attributes
Response
Box created
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The zpack lifecycle of this instance (dev / deploy), if any
(deployment annotation).
The pack this box is an instance of (from its zpack tag), if any.
The pinned pack rev the instance was created from (deployment annotation).
Show child attributes
Show child attributes
The previous deploy generation this box rolls back to (deployment annotation).
Show child attributes
Show child attributes
x >= 0Show child attributes
Show child attributes