# cache

> openwaf-cloud ctl cache commands to purge a zone's edge cache by URL, prefix, name, tag or everything, and to see recent purges.

Purges are audited but are not zone configuration: they create no version, and a revert never brings purged content back.

## cache purge

```text
cache purge <zone> --everything | --url U… | --prefix host/path… | --host name… | --tag t… --reason "…"
```

Give exactly one kind of purge; `--url`, `--prefix`, `--host` and `--tag` can be repeated (up to 100 values).

| Option | Purges |
|---|---|
| `--everything` | Everything cached for the zone. |
| `--url <url>` | That URL of the zone, with all its variants. |
| `--prefix <host/path>` | Every URL that starts with that host and path (no query or fragment). |
| `--host <name>` | Everything cached for that name. |
| `--tag <tag>` | Every response that carried that `Cache-Tag` value. |

The API simulates the purge first and the CLI shows the values as they will be applied (normalised) and any warning, then asks for confirmation. `--dry-run` stops there and `--yes` skips the question. Edge nodes apply a purge as soon as it reaches them, generally in less than a second. `--json` prints the API's answer.

```sh
openwaf-cloud ctl cache purge example.com --url https://www.example.com/styles.css \
  --url https://www.example.com/app.js --reason "Deploy 42" --yes
openwaf-cloud ctl cache purge example.com --tag product-42 --reason "Price change" --yes
```

## cache purges

```text
cache purges <zone> [--limit N] [--json]
```

The zone's purges of the last 7 days, newest first: sequence number, time, kind, values, on how many caching edge nodes it has been applied, and who made it.

| Option | Meaning |
|---|---|
| `--limit N` | At most N purges (default 20, maximum 100). |
