> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# App Management API Overview

> Get started with the Base44 App Management API

<Note>
  The App Management API is in beta. Its endpoints and responses may change.
</Note>

The App Management API lets you manage your Base44 apps programmatically with a workspace API key. Use it to deploy an app from your own scripts and pipelines instead of the Base44 online app editor.

Use the App Management API to:

* Deploy an app to production from a CI or CD pipeline.
* Publish an app's current version, or a specific earlier saved version.
* Automate releases across the apps in your workspace.

## Prerequisites

* A workspace on a Business or Enterprise plan.
* A workspace API key with the **Deploy apps** (`apps:deploy`) scope, granted access to the app you want to deploy. See [Authentication](/developers/references/app-management/get-started/authentication) to create one.

## Checkpoints

As you build an app in the Base44 online app editor, Base44 saves versioned snapshots of it called checkpoints. A checkpoint captures the full state of your app at a point in time, both the code and the configuration that define how it works. Because it is a complete snapshot, you can publish it to production or roll your app back to it later. Publishing a checkpoint does not change your saved checkpoints. It only changes which version production serves.

Base44 creates checkpoints automatically as you build.

* The AI builder saves a checkpoint each time it applies changes from a chat message, named after that message.
* Editing your app directly in the editor saves those changes as a checkpoint.
* Syncing code from a connected GitHub repository creates a checkpoint.
* Applying a security scan fix creates a checkpoint before the change is made.

Each checkpoint belongs to a single branch of your app. A branch is a separate line of work, similar to a Git branch, that keeps unfinished changes out of your live app. Production always serves your main branch, so a checkpoint created on a feature branch cannot be published directly. Merge the branch into your main line first, then publish.

<Note>
  A checkpoint is not a Git commit. It references the commit that holds your app's code at that moment, but it also captures your app's configuration and metadata, so it snapshots more than code alone.
</Note>

## App ID

Endpoints that act on a specific app include the app's ID in the URL path as `app_id`.

**To get your app ID:**

1. Go to [app.base44.com](https://app.base44.com/).
2. Open your app in the app editor.
3. Copy the app ID from the editor URL: `"https://app.base44.com/apps/<app_id>/editor"`.
