Skip to main content
POST
Create template deployment

Authorizations

Authorization
string
header
required

Session access JWT or an API token (insta_<prefix>_<secret>).

Path Parameters

projectId
string<uuid>
required

Body

application/json
templateCode
string

a published registry code (see GET /templates); mutually implied with manifest — one of the two is required

code
string

alias of templateCode

templateVersion
string

optional pin; 404s when the registry serves a different version

manifest
any

inline insta.template.yaml for a local-manifest deploy — the YAML text, or the parsed JSON document

branchId
string<uuid>
branch
string

branch NAME (alias of branchId). Omit both for a fresh branch named after the template code

variables
object

deploy-time variable values (required/optional env vars declared by the manifest)

deploymentId
string<uuid>

idempotent retry: resume THIS deployment (same services, no duplicates) instead of starting a new one

region
string

InstaCloud region slug for EVERY service this deployment creates (see GET /regions). Default: the platform default region. Part of the deployment identity: a retry may omit it or repeat it, a different value is refused with 409.

Response

accepted (deploymentId + deployment to poll) — or approval_required from the governance gate

accepted (deploymentId + deployment to poll) — or approval_required from the governance gate

deploymentId
string<uuid>

present when the deployment was accepted

deployment
object

One server-side template deployment run and its progress.

status
enum<string>
Available options:
approval_required
approvalId
string<uuid>
action
string

the gated action, or a comma-joined compound set — prefer actions

actions
string[]

every capability this approval covers

message
string
url
string

the console page where a project admin reviews this request

nextActions
object[]