---
title: "List checkpoints"
method: GET
path: "/api/apps/{app_id}/app-checkpoints"
---

# List checkpoints

`GET /api/apps/{app_id}/app-checkpoints`

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

Returns the specified app's checkpoints, newest first. A [checkpoint](/developers/references/app-management/get-started/overview#checkpoints) is a saved version of the app, captured as you build.

To deploy a specific checkpoint, pass its `id` as the `checkpoint_id` to [Deploy an app](/api-reference/deploy-an-app).

<Warning>The response may include fields beyond the ones documented here. Don't use any undocumented fields, as they can change at any time.</Warning>

## Path parameters

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

## Query parameters

- `limit` integer, nullable — Maximum number of checkpoints to return, between 1 and 10000. Omit to return all of them.
- `skip` integer, nullable — Number of checkpoints to skip before the page starts, 0 or greater. Combine with `limit` to page through results.

## Response `200`

The app's checkpoints.

- CheckpointSummary[]
  - `id` string, nullable — ID of the checkpoint. Pass it as `checkpoint_id` to [Deploy an app](/api-reference/deploy-an-app) to deploy this saved version.
  - `name` string, nullable — Name of the checkpoint.
  - `changes` string, nullable — Summary of what changed in this checkpoint, or `null` if none was recorded.
  - `preview_status` 'pending' | 'building' | 'ready' | 'failed', nullable — Build status of this checkpoint's preview, or `null` if no preview build was attempted.
  - `created_by` string, nullable — Email of the user who created the checkpoint.
  - `created_date` string, date-time, nullable — Time the checkpoint was created.
  - `last_deployed_at` string, date-time, nullable — Time this checkpoint was last deployed to production, or `null` if it has never been deployed.
  - `git_commit_hash` string, nullable — Git commit hash of the code captured in this checkpoint, or `null` if it has no commit.
  - `preview_url` string, nullable — URL to preview this checkpoint's build, or `null` if the checkpoint has no build.
  - `is_github_sync` boolean, nullable — Whether the checkpoint came from a GitHub sync (`true`) or an in-app change (`false`).

## Other responses

- `400` — `limit` is outside 1 to 10000, or `skip` is negative.
- `401` — Missing or invalid credentials.
- `403` — You don't have access to this app.
- `404` — App not found.
- `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)
