---
title: "Get template listing pending update"
method: GET
path: "/api/app-catalog-items/catalog/{item_id}/pending-changes"
---

# Get template listing pending update

`GET /api/app-catalog-items/catalog/{item_id}/pending-changes`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/app-catalog-items/catalog/{item_id}/pending-changes`
- Auth: HTTP bearer

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

Shows whether an update to a template listing is waiting for review, and which listing details it changes. Check it after you [submit an update](/api-reference/submit-template-listing-update) to a public template. A workspace template never has one waiting, because its updates apply right away.

Get it from `catalog_items` in [Check app delete impact](/api-reference/check-app-delete-impact).

You need to be an owner or admin of the app's workspace. For a listing shared only within a workspace, you need to be an owner or admin of that workspace.

This endpoint is limited to 60 requests a minute per caller.

<Note>This endpoint accepts a personal API key, including a read-only key.</Note>

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

## Path parameters

- `item_id` string, required: ID of the template listing. Get it from `catalog_items` in [Check app delete impact](/api-reference/check-app-delete-impact).

## Response `200`

What's waiting for review.

- TemplateListingPendingChanges: What's waiting for review on a template listing.
  - `has_pending_update` boolean, required: Whether an update is waiting for review.
  - `has_code_changes` boolean, required: Whether the pending update includes a new copy of the app.
  - `has_metadata_changes` boolean, required: Whether the pending update changes listing details.
  - `metadata_diff` object, required: Each listing detail the update changes, keyed by field name. Empty when it changes none.

## Other responses

- `401`: Missing or invalid credentials.
- `403`: You aren't an owner or admin of the workspace the listing belongs to, or you don't have access to the app it was made from.
- `404`: The listing doesn't exist, or the app it was made from is outside the workspace or apps your API key is scoped to.
- `429`: Rate limit reached. Retry later.

## Changes

> 58 revisions in range; 1 not diffed.

- **2026-10-13** `b92cc2f13639`: 2 info
  - the security scope `read_only` was added to the endpoint's security scheme `PersonalAccessTokenAuth`
  - the security scope `full_access` was removed from the endpoint's security scheme `PersonalAccessTokenAuth`
- **2026-10-12** `5e139db2e643`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-09-30** `cbaf216bfb03`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/app-catalog-items/catalog/:item_id/pending-changes/get.md)

---

[API](https://skmtc.dev/adexad/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/adexad/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adexad/apis/base44-app-management-api/revisions/fa29e915c226?raw)
