Create App Version and Start (v1)
Compound endpoint that creates a new version and initiates a run of it in a single request. The version is always persisted; if the start initiation fails the response still returns the persisted version with a warnings array describing the failure and the caller can retry via the regular start endpoint.
Stop-previous: if a different version of the same App is already running, it is stopped before the new version starts (uniform one-running-instance-per-App invariant; not draft-specific).
Draft-specific defaulting: when the parent App is a draft AND a previous running version exists on it, omitted content reference fields (dfsCommitId, gitRef, entryScript, environmentId, environmentRevisionId, hardwareTierId, externalVolumeMountIds, netAppVolumeIds) default to the previous running version’s values. On the very first call (no previous running version) all required content fields must be supplied.
Governance only starts when a draft is published.
Authorizations
Path Parameters
Body
Request body for POST /apps/{appId}/versions/createAndStart and the optional initialVersion sub-flow on POST /apps/drafts.
Content (reproducibility) fields (commits, refs, environment, mounts) and deployment (execution) fields (hardwareTier, autoscaling) are accepted on the new version. Run-time overrides for the initiated instance (vanityUrl, autoscalingSpecification, etc.) are carried separately under startOverrides.
Draft-specific defaulting: when the parent App is a draft AND a previous running version exists, omitted content reference fields default to the previous running version's values (commitId, mainRepoGitRef, entryScript, environmentId, environmentRevisionId, hardwareTierId, externalVolumeMountIds, netAppVolumeIds).
Governance only starts when a draft is published.
Guardrails bundle ID. Not applicable on drafts.
Effective entry point for the App version.
Optional. If supplied, overrides the App's default for this version. If omitted, inherits from the parent App.
Optional deployment-only run-time overrides for the initiated instance (deployment.hardwareTierId, deployment.autoscalingSpecification, deployment.vanityUrl, deployment.renderIFrame). Content fields are supplied at the top level of the request body for the version snapshot.
Response
Version persisted and start initiated. If start initiation failed, the response carries the durable version plus a warnings array.
Response body for POST /apps/{appId}/versions/createAndStart. version is always present (the version is durably persisted before start initiation). instance is populated when start initiation succeeds; if it fails the response carries the version with a warnings array describing the failure and the caller can retry via the regular start endpoint.