---
title: "Deploy app"
method: POST
path: "/apps/{appRef}/deploys"
tags: ["Deploys"]
---

# Deploy app

`POST /apps/{appRef}/deploys`

## Request

- Base URL: `https://api.percher.run`
- URL: `https://api.percher.run/apps/{appRef}/deploys`
- Auth: HTTP bearer

Upload a tarball to deploy. Returns 202 and enqueues the build.

## Path parameters

- `appRef` string, required

## Query parameters

- `type` 'live' | 'preview'

## Response `202`

Deploy queued

## Other responses

- `413`: Tarball too large (max 500 MB)
- `429`: Deploy rate limit exceeded
- `503`: Platform is in sunset read-only mode (at or past T-0). Mutating routes are frozen (`platform_read_only`); app/account delete is gated (`platform_delete_gated`) unless the dashboard password-reauth override is supplied.

---

[API](https://skmtc.dev/percher/apis/percher-api.md) · [All operations](https://skmtc.dev/percher/apis/percher-api/llms.txt) · [OpenAPI document](https://skmtc.dev/percher/apis/percher-api/revisions/d9e7089c21e5?raw)
