Templates API
POST /api/v1/projects/{project}/{environment}/templates/{slug}/deploy
Section titled “POST /api/v1/projects/{project}/{environment}/templates/{slug}/deploy”Creates a Compose site from a template in the given project environment and starts its first deployment. Same body and response as the Deploy button of the configure form. Rate limited to 30/minute.
Permissions: templates.view, projects.manage and sites.create. Without deployments.create, the site is created but not deployed (a warning says so).
| Path part | Rule |
|---|---|
{project} |
Project id (26-character ULID) |
{environment} |
Environment slug or id |
{slug} |
Template slug, ^[a-z0-9][a-z0-9-]{0,49}$ |
| Body field | Rule |
|---|---|
server_ids[] |
Required; 1–50 server ids |
source |
catalog or custom (when a custom template shares a catalog slug) |
name |
Optional site name, ^[A-Za-z0-9][A-Za-z0-9 ._-]*$, up to 64 characters |
inputs |
Object {KEY: value} (up to 200); missing generated inputs are generated |
domains |
Object {service: choice} (up to 50); a name or a domain choice; missing = the organization default |
position |
{x, y} canvas position |
curl -X POST "https://falak.example.com/api/v1/projects/01j…/production/templates/n8n/deploy" \ -H "Authorization: Bearer $FALAK_TOKEN" -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"server_ids": ["01k…"], "inputs": {"TIMEZONE": "Europe/Berlin"}, "domains": {"n8n": "n8n.example.com"}}'{"data": { "site_id": "01k…", "name": "n8n", "service_id": "01k…", "deployment_id": "01k…", "domains": {"n8n": "n8n.example.com"}, "panel_url": "/projects/01j…/production/service/site/01k…/deployments"}, "warnings": []}404 when the project, environment or template is not found. Follow the deployment with the Deployments API.
Browsing templates and managing custom templates are available in the UI only. See Templates.