Upload a Deploy
Upload a new version of a static app as a .zip of built files (with index.html at the publish-dir root). The archive is staged and a build job is enqueued; the build runs asynchronously in the background. Send multipart/form-data with a single file field.
Request (multipart/form-data)
.zip of your site — source (Ngris builds it) or built files. Max size is plan-limited (default 100 MB).v2.1.0. When unset the display falls back to the git commit short SHA (git deploys) or v{n} (uploads).Per-app environment variables are injected into the build; watch it live via the build log.
Response (202 Accepted)
upload.queued — poll the list until it reaches ready.Errors
file (400) or over the size limit (413).List Deploys
List an app's deploys, newest first (up to 100). Poll this after an upload or a git push to watch a build progress.
Deploy fields
version_label if set, else the git commit short SHA (git), else v{version}.ready/superseded deploy — independent of which version is live.upload, git_manual, or git_push.queued → processing → ready (or failed); a replaced live version becomes superseded. Managed backends add the finer states building → image_ready → rolling_out.true when this deploy can be activated / rolled back to — it is a terminal, built version (ready/superseded), not pruned, and not already the live version.true once the retention policy has deleted this deploy's build artifact (static bundle or OCI image). The row survives for history, but it can no longer be rolled back to.null for static deploys.status = failed — or read the full build log.deploy_max_rollback_versions entitlement, per plan). Older deploys are pruned — their artifacts are deleted and rollbackable is false. The live version is always kept.
Activate (Restart / Rollout / Rollback)
Promote a built deploy to live, roll back to an earlier version, or restart the current one. For static apps this is an atomic pointer flip; for managed / fullstack apps it re-rolls the pod onto that deploy's digest-pinned image. A pruned version can't be rolled back to (409).
See the full reference on the dedicated page: Activate (Restart / Rollout / Rollback).
Redeploy
Rebuild and re-ship the application from the last uploaded source — no re-upload needed. The most recent deploy's staged archive is reused as the source, a fresh deploy is created, and a build job is enqueued (a static bundle rebuild, or a signed image rebuild for managed / fullstack apps). Useful to pick up a changed environment variable or a base-image refresh without re-sending the archive.
This is for upload-sourced apps. Git apps redeploy by pushing to the connected branch (or via the push-to-deploy webhook) — calling this on a git app returns 409.
Response (202 Accepted)
uuid, version, status: "queued", …). Poll list deploys or the build log for progress.queued.