v5

latestOpenAPI 3.1.02026-08-025631,1012.8 MB
Apps

Deploy an App

Queue a build+deploy for an App, creating a new version.

Full deploy workflow:

  1. POST /{app_id}/deploy/upload-url → get a presigned S3 PUT URL
  2. Upload your built dist/ zip to that URL
  3. Call this endpoint with the returned bundle_s3_key
  4. Optionally include source_files (path→content map) for version diffing
  5. Poll GET /{app_id}/deploys/{deploy_id} until status is complete

Edit-and-redeploy workflow:

  1. GET /{app_id}/versions/{version}/download → download the bundle zip
  2. Edit files locally
  3. Re-zip and upload via upload-url → deploy (creates a new version)
  4. GET /{app_id}/versions/{old}/diff/{new} to review changes

Each deploy creates an immutable version record. Use POST /{app_id}/versions/{n}/restore for instant rollback to any previous version.

post/v1/apps/{app_id}/deploy

Path parameters

app_idstring required

Request body

environment'staging' | 'production'

Target environment for this deploy

messagestring

Deploy message describing what changed (like a git commit message)

source'cli_upload' | 'git'

Deploy source. 'cli_upload' = zip already uploaded to S3. 'git' = Phase 3b.

bundle_s3_keystring nullable

S3 key of the uploaded source zip (required for source='cli_upload')

source_filesobject nullable

Map of relative path → file content for source-level version diffs

git_commit_shastring nullable

Git commit SHA associated with this deploy

git_commit_messagestring nullable

Git commit message associated with this deploy

git_authorstring nullable

Git commit author (name <email>)

Response

Successful Response

app_idstring required
deploy_idstring required
status'queued' | 'building' | 'complete' | 'failed' required
environmentstring required
messagestring nullable