Hanzo
OpenapiPlatform

Promotes an already-built release to the app.

Promotes an already-built release to the app.

POST /v1/platform/projects/{project}/apps/{app}/promote

Addresshttps://api.hanzo.ai/v1/platform/projects/{project}/apps/{app}/promote
MethodPOST
Operationpost_platform_projects_by_project_apps_by_app_promote
AuthAuthorization: Bearer $HANZO_API_KEY

Promotes an already-built release to the app.

It redeploys an image that already exists — named either by deploymentId, which promotes that deployment's exact built image, or by tag, resolved the same way a deploy resolves one. One of the two is required; neither is 400.

Promotion never builds. A deployment that carries no built image cannot be promoted and is 400, and a deployment id outside this app is 404. It runs through the same deploy core as everything else, so it takes a NEW version number and is subject to the same per-org concurrency cap. Requires a validated principal; 403 without one.

Request

6 fields, body application/json (required).

FieldInTypeRequiredDescription
projectpathstringyesProject is the project the application lives under, from the path.
apppathstringyesApp is the application's slug, from the path.
appbodystringApp is the application's slug, from the path.
deploymentIdbodystringDeploymentID promotes that deployment's exact built image.
projectbodystringProject is the project the application lives under, from the path.
tagbodystringTag promotes an image tag, resolved the same way a deploy resolves one.

Response

StatusBodyMeaning
202deploymentViewaccepted

202 body — 12 fields.

FieldInTypeAlwaysDescription
applicationIdbodystringApplicationID is the app this deployed — the app's id, not its slug.
buildIdbodystringBuildID is the build record behind a git deploy, whose logs and status live at /v1/platform/builds.
commitbodystringCommit is the git ref this built — the commit a deploy or a push named, else the app's branch.
createdAtbodyintegerCreatedAt is when the attempt was recorded, unix seconds.
idbodystringID is the deployment's id (dep_…), minted when the attempt is recorded.
imagebodystringImage is the full repo:tag this deployment put in the CR.
messagebodystringMessage is why this attempt is not live: the failure, or the note that a newer deployment went live before this build finished.
orgbodystringOrg is the tenant the deployment belongs to, from the validated identity.
sourcebodystringSource is which lane produced it: git (built from the repo) or image (an already-built ref deployed as-is, including promote and rollback).
statusbodystringStatus is where the attempt got to: building while its image is being built, deploying once its CR reached the cluster — which is the terminal success…
updatedAtbodyintegerUpdatedAt is its last transition, unix seconds — so for a terminal deployment it is when it reached that state.
versionbodyintegerVersion counts this app's deployments, from 1 and monotonically.

Failure carries the platform error shape — see Errors.

Examples

hanzo platform projects apps promote <project> <app>

Platform API · All Hanzo APIs · Interactive reference

How is this guide?

On this page