Endpoint
Request
Headers
Request Body
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
alias | string | ✅ Yes | - | Template name (unique per organization) |
cpu | integer | No | 2 | Number of vCPUs (1-64) |
memory | integer | No | 2048 | Memory in MB (128+) |
diskGB | integer | No | 10 | Disk size in GB (1+) |
steps | array | ✅ Yes | - | Build steps (see below) |
skipCache | boolean | No | false | Force rebuild (ignore cache) |
Steps Array
Each step is an object with atype field:
FROM Step (Base Image)
ubuntu:22.04,ubuntu:20.04,ubuntu:18.04debian:11,debian:10alpine:3.18,alpine:3.17python:3.11,python:3.10,python:3.9node:18,node:20
APT Step (Install System Packages)
RUN Step (Execute Command)
COPY Step (Copy Files)
ENV Step (Environment Variables)
WORKDIR Step (Working Directory)
Response
Status Code:202 Accepted
| Field | Type | Description |
|---|---|---|
build_id | string | Build job ID |
template_id | string | Template ID (same as build_id) |
status | string | Build status (building, active, failed) |
logs_url | string | URL to stream build logs |
request_id | string | Request ID for tracking |
Examples
Python Data Science Template
- cURL
- Python
- JavaScript
Node.js Web App Template
Monitoring Build Progress
After initiating a build, monitor progress using:- Get Build Status - Check build status and progress
- Get Build Logs - Stream real-time build logs
Error Responses
400 Bad Request - Invalid requestRate Limits
Template building is rate-limited per organization:- 10 builds per hour (default)
- 50 builds per day (default)

