---
title: "Paywalls commands"
description: "Adapty CLI commands that list, read, create, and update paywalls, and list the placements that show a paywall."
---

> **AI agents**: to search Adapty docs faster and with fewer tokens, install the Adapty skills: `npx adapty skills install --yes`

These Adapty CLI commands manage [paywalls](paywalls) and the products each paywall sells.

## adapty paywalls list

List all [paywalls](paywalls) for an app.

```bash
adapty paywalls list --app <app-id>
```

| Flag | Required | Description |
|---|---|---|
| `--app` | Yes | App ID (UUID) |

Accepts [pagination flags](developer-cli-reference#global-flags).

## adapty paywalls get

Get details for a specific [paywall](paywalls).

```bash
adapty paywalls get --app <app-id> <paywall-id>
```

| Argument | Description |
|---|---|
| `paywall-id` | Paywall ID (UUID) |

| Flag | Required | Description |
|---|---|---|
| `--app` | Yes | App ID (UUID) |

## adapty paywalls create

Create a new [paywall](paywalls).

```bash
adapty paywalls create --app <app-id> --title "Default Paywall" --product-id <product-id>
```

| Flag | Required | Description |
|---|---|---|
| `--app` | Yes | App ID (UUID) |
| `--title` | Yes | Paywall title |
| `--product-id` | Yes | [Product](product) ID (UUID). Repeat for multiple products: `--product-id <id1> --product-id <id2>` |

## adapty paywalls update

Replace all fields of an existing [paywall](paywalls).

:::important
Once a paywall is linked to a placement, its products cannot be changed. To use different products in a live paywall, create a new paywall and update the placement to point to it.
:::

```bash
adapty paywalls update --app <app-id> <paywall-id> --title "Default Paywall" --product-id <product-id>
```

This command replaces all paywall fields, including the full product list.

| Argument | Description |
|---|---|
| `paywall-id` | Paywall ID (UUID) |

| Flag | Required | Description |
|---|---|---|
| `--app` | Yes | App ID (UUID) |
| `--title` | Yes | Paywall title |
| `--product-id` | Yes | [Product](product) ID (UUID). Repeat for multiple products: `--product-id <id1> --product-id <id2>` |

## adapty paywalls placements

List all [placements](placements) that currently use a given [paywall](paywalls).

```bash
adapty paywalls placements --app <app-id> <paywall-id>
```

| Argument | Description |
|---|---|
| `paywall-id` | Paywall ID (UUID) |

| Flag | Required | Description |
|---|---|---|
| `--app` | Yes | App ID (UUID) |

Use this command before swapping a paywall to see which placements would be affected.

The items in this list carry no `is_active` field. To read a placement's activation state, use [`placements list`](developer-cli-placements#adapty-placements-list) or [`placements get`](developer-cli-placements#adapty-placements-get).

## What's next

- [Command reference](developer-cli-reference) — every CLI topic, the global flags, and the pagination flags.