Skip to main content
POST
Deploy an app

Authorizations

Authorization
string
header
required

Personal access token, sent as Authorization: Bearer <token>. Each operation lists the permission it needs: read_only or full_access. A full-access token can call every operation. A read-only token can call only the operations that list read_only; anything else returns 403 read_only_credential_route_not_allowed.

Path Parameters

app_id
string
required

ID of the app to deploy.

Query Parameters

branch_id
string

ID of the branch to work on, as returned by List branches. Omit it to work on the app's main branch.

Body

application/json
checkpoint_id
string | null

ID of a specific saved version of the app to deploy. If omitted, the app's current version is deployed.

Example:

"6886b8d390dc7e2f4a2c91b3"

git_commit_hash
string | null

For an app whose source code you manage, the commit of a build already uploaded with the Base44 CLI. That build is deployed instead of a saved version. Cannot be combined with checkpoint_id.

Pattern: ^[a-fA-F0-9]{7,64}$
Example:

"a1b2c3d4e5f67890abcdef1234567890abcdef12"

Response

Successful Response

The version of an app that was published, and when.

app_id
string
required

ID of the app that was deployed.

Example:

"6820f3a4e7b91d003c45a1f2"

checkpoint_id
string | null
required

ID of the saved version associated with this deploy, or null if the app has no saved versions. The git commit hash identifies the exact code that was deployed.

Example:

"6886b8d390dc7e2f4a2c91b3"

git_commit_hash
string
required

Git commit hash of the code that was deployed.

Example:

"a1b2c3d4e5f67890abcdef1234567890abcdef12"

deployed_at
string<date-time>
required

Time the app was deployed, as a UTC timestamp in ISO 8601 format.

Example:

"2026-08-02T14:30:00"

app_url
string | null
required

Public URL the app is now served at, built from its slug, or null if the app has no slug yet. A custom domain the app is also served on isn't returned.

Example:

"https://my-crm-3c45a1f2.base44.app"