---
title: "Deploy an app"
method: POST
path: "/api/apps/{app_id}/deploy"
---

# Deploy an app

`POST /api/apps/{app_id}/deploy`

<Info>The App Management API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Deploys your app to production, publishing your latest changes so they go live for its users. By default the app's current version is deployed. To deploy a specific saved version instead, pass its ID in the request body.

## Path parameters

- `app_id` string, required — ID of the app to deploy.

## Request body

- DeployRequest
  - `checkpoint_id` string, nullable — ID of a specific saved version of the app to deploy. If omitted, the app's current version is deployed.

## Response `200`

Details of the published deployment.

- DeployResponse
  - `app_id` string, required — ID of the app that was deployed.
  - `checkpoint_id` string, nullable, required — ID of the saved version associated with this deploy. The git commit hash identifies the exact code that was deployed. Null if the app has no saved versions.
  - `git_commit_hash` string, required — Git commit hash of the code that was deployed.
  - `deployed_at` string, date-time, required — Time the app was deployed.

## Other responses

- `400` — App cannot be published (e.g. native mobile app).
- `401` — Missing or invalid credentials.
- `403` — App is blocked, or the caller can't publish it.
- `409` — App is processing, or the target is a branch checkpoint.
- `422` — Validation Error

---

[API](https://skmtc.net/idealspot/apis/base44-app-management-api.md) · [All operations](https://skmtc.net/idealspot/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/idealspot/base44-app-management-api/revisions/4620b74b36e4/schema)
