# manage_wp_themes

> List, install, activate, update or delete the themes of one WordPress site over WP-CLI.

- Tier: D
- Required scope: read:hosting
- Annotations: destructiveHint
- Docs: https://api.inleed.com/tools/manage-wp-themes

## Description

List, install, activate, update or delete the themes of one WordPress site over WP-CLI. `action=list` returns each theme `{name, status, version, updateAvailable, latestVersion}` and needs only `read:hosting`; `install` needs `slug` (optional `activate`); `activate`/`update`/`delete` need `slug`. Those four require `write:hosting` and return `insufficient_scope` without it. `delete` removes the theme's files and refuses the active theme: activate another one first.

## Input schema

- `input` — string (required). A domain, email address, website URL, numeric service id, or hosting-account username the customer actually owns. Resolved to the owning account automatically; the resolved target is echoed back in the response.
- `action` — enum (required). list the themes, install a new one, activate, update or delete one. All but list require write:hosting. One of list, install, activate, update, delete.
- `slug` — string. The theme slug (e.g. astra, twentytwentyfive), lower-case letters/digits/.-_.
- `path` — string. Optional subfolder of a WordPress install not at the domain root (e.g. blog).
- `activate` — boolean. For install only: activate the theme immediately after installing it. Defaults to false.

## Example call

```json
{
  "name": "manage_wp_themes",
  "arguments": {
    "input": "example.se",
    "action": "list"
  }
}
```

