# Check again which PHP versions a website works with

> manitu fetches the start page under every PHP version of the package now.

- Effect: Write - Changes the account. Agents ask first.
- Idempotent: yes
- Stability: beta
- MCP tool: `manitu_webhosting_web_vhost_php_compatibility_check` on https://mcp.manitu.de/mcp
- REST: `POST https://api.manitu.de/v1/webhosting/web/vhost/php-compatibility/check`
- Needs: `service_webhosting`
- Page: /reference/webhosting/web/vhost/php-compatibility/check/

**Changes the account. Agents say what will happen and wait for an explicit yes before calling it.**

## MCP tool

`manitu_webhosting_web_vhost_php_compatibility_check`

### Description for the model

Checks again which PHP versions a website (vHost) of a web hosting package of the manitu customer account this connection works in works with, by site_id and fqdn from manitu_webhosting_web_vhost_list: manitu fetches its start page once under every PHP version of the package, which takes some seconds per version. Answers as manitu_webhosting_web_vhost_php_compatibility_get. Changes nothing on the website - no need to ask. Refused with a conflict for a website that shows no folder (not_a_website_with_folder), one switched off (inactive) or within minutes of the last check (checked_recently).

### Arguments

- `site_id` (integer | string, required) - The site_id from manitu_webhosting_list - never guess one. (pattern `"^[1-9][0-9]*$"`; minimum `1`)
- `fqdn` (string, required) - The website from manitu_webhosting_web_vhost_list (type website, showing a folder). Never guess one. (minLength `3`; maxLength `253`)

### Example

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "manitu_webhosting_web_vhost_php_compatibility_check",
    "arguments": {
      "site_id": 12345,
      "fqdn": "example.com"
    }
  }
}
```

## REST

`POST https://api.manitu.de/v1/webhosting/web/vhost/php-compatibility/check`

### Authentication

One of `X-API-Key`, `Authorization: Bearer …` - never more than one in a request.

### Request body

JSON; unknown fields are refused.

- `site_id` (integer | string, required) - The site_id from manitu_webhosting_list - never guess one. (pattern `"^[1-9][0-9]*$"`; minimum `1`)
- `fqdn` (string, required) - The website from manitu_webhosting_web_vhost_list (type website, showing a folder). Never guess one. (minLength `3`; maxLength `253`)

### Response

In `data`; the rest of the body as on every call.

- `fqdn` (string, required) - The website.
- `checked_at` (string | null, required) - When it was checked last; null: never yet (manitu_webhosting_web_vhost_php_compatibility_check). (format `date-time`)
- `version_list` (array of object, required) - Every PHP version the package offers.
  - `version_list[].php_version` (string, required) - The PHP version, as webhosting set takes it (php_version), e.g. php8.3.
  - `version_list[].is_default` (boolean, required) - The package's default version.
  - `version_list[].result` (string | null, required) - works, fails or unclear - for the start page only; null: not checked with this version yet. (one of `"works"`, `"fails"`, `"unclear"`, `null`)
  - `version_list[].http_status` (integer | null, required) - The HTTP status the start page answered; null: none, or the software refused the version itself.

### Statuses

- `200` Success.
- `400` The request does not match the declared input schema.
- `401` No credential was presented, or it was not recognised.
- `403` The credential is not permitted to use this operation.
- `500` The server failed. Nothing about the request was wrong. Whether a change took effect is not known - check before trying it again.
- `503` The channel this operation forwards through is unavailable.

### Example

```sh
curl -X POST 'https://api.manitu.de/v1/webhosting/web/vhost/php-compatibility/check' \
  -H 'X-API-Key: $API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"site_id":12345,"fqdn":"example.com"}'
```

## Example result

```json
{
  "fqdn": "example.com",
  "checked_at": "2026-10-23T12:00:00+02:00",
  "version_list": [
    {
      "php_version": "string",
      "is_default": true,
      "result": "works",
      "http_status": 1
    }
  ]
}
```
