Description
Deploys an existing release. You can target an environment by name, a lifecycle phase, or pass a structured environments list with per-environment machine rules.
Returns the new deployment IDs (one per environment). The deployment runs asynchronously - poll GET /api/deployment for status.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
releaseId |
body | string | yes | ID of the release to deploy. |
environmentName |
body | string | no | Single environment to deploy to (alternative to environments). |
phaseName |
body | string | no | Deploy to every environment in the given lifecycle phase. |
environments |
body | array | no | List of { environmentName, machineMode, machineIds? } setups for fine-grained control. |
redownloadPackages |
body | boolean | no | Force agents to redownload packages even if cached. |
deploymentDateUnixMillis |
body | number | no | Schedule the deployment for a future time (UTC unix millis). |
excludeStepNames |
body | array<string> | no | Skip these step names from the deployment. |
Errors
| Status | Meaning |
|---|---|
400 |
Invalid releaseId, no matching environments, unavailable environments due to lifecycle phase progression, or validation failure. |
409 |
Resource usage limit exceeded - response includes resourceUsageErrors. |
401 |
Missing or invalid Basic auth credentials, or the service account lacks the required role. |