# WP Toolkit REST API

Base URL: `https://api.plsk.org/api/modules/wp-toolkit/v1`. Credential: subscription key. Authentication, rate limit and error format: [API reference](/api).

The gateway forwards requests unchanged to the WP Toolkit REST API of the server. WP Toolkit executes them as the Plesk customer that owns the subscription and returns only the installations of that customer. The same methods are available through the MCP tools `si_plesk_api_method_*` (see [MCP reference](/mcp)), where their names have no prefix, for example `createinstallation`.

Paths contained in WP Toolkit responses (for example the `url` of a background task) are valid on `https://api.plsk.org` as returned.

## Operations

| Method | Path | Purpose |
|---|---|---|
| `GET` | `/installations` | List installations. |
| `POST` | `/installations` | Install WordPress. Returns a background task. |
| `GET` | `/installations/{installationId}` | Read an installation. |
| `GET` | `/installations/{installationId}/plugins` | List plugins. |
| `GET` | `/installations/{installationId}/themes` | List themes. |
| `GET` | `/installations/{installationId}/backups` | List backups. |
| `GET` | `/background-tasks/{taskCode}/{taskId}` | Read a background task. |
| `GET` | `/license-info` | License information. |

The complete list of operations is the WP Toolkit REST API specification; the MCP tool `si_plesk_api_method_list` with the filter `wordpress` lists the corresponding methods.

## Install request

```
POST /installations
{"domain": "<hostname>", "installationPath": "/wp", "title": "<site title>", "protocol": "https"}
```

Response: status 201 with `{"url": "/api/modules/wp-toolkit/v1/background-tasks/task_install/<id>", "task": {...}}`.

## Background tasks

`GET /background-tasks/task_install/<id>` returns `status` (`running` or `done`), `progress` (0 to 100), the list of `steps` and, once available, `publicParams.installationId`. `GET /installations` lists an installation only after the task has finished.

An installation uses one of the databases of the subscription (see [Limits](/limits)).
