# io.github.hostinger/hostinger-api-mcp (npm · hostinger-api-mcp)

MCP server for Hostinger API

- Trust score: 46/100 (low)
- Change this week: +40
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `hostinger-api-mcp`: 46/100 (this document), [markdown](https://verifymcp.io/servers/hostinger-hostinger-api-mcp/hostinger-api-mcp.md), [page](https://verifymcp.io/servers/hostinger-hostinger-api-mcp/hostinger-api-mcp)

## Channel facts

- Registry: `npm`
- Package: `hostinger-api-mcp`
- Version: `1.27.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 88/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (130 of 131), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (130 of 131), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to hostinger/api-mcp-server).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 0/100
  - Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- **Capabilities**: 0/100
  - Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.

**Unverified: 4 categories.** Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you.

## Install

### Claude

```bash
claude mcp add hostinger-hostinger-api-mcp -- npx -y hostinger-api-mcp
```

### Codex

```bash
codex mcp add hostinger-hostinger-api-mcp -- npx -y hostinger-api-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "hostinger-hostinger-api-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "hostinger-api-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add hostinger-hostinger-api-mcp --command npx --arg -y --arg hostinger-api-mcp
```

### Hermes

```yaml
mcp_servers:
  hostinger-hostinger-api-mcp:
    command: "npx"
    args: ["-y", "hostinger-api-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "hostinger-hostinger-api-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "hostinger-api-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 46, −30)

- [security regression] Stability: fail → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional] Package version: 1.26.0 → 1.27.0

### 2026-08-02 (score 76, +55)

- [security regression] Stability: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Provenance: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] The attested source repository moved: hostinger/api-mcp-server
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: MIT

### 2026-07-31 (score 21, +15)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 6, 0)

- [functional] Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.
- [functional] Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- [functional] Package version: 1.25.0 → 1.26.0

### 2026-07-28 (score 6, 0)

- [functional regression] Security disclosure: unverified → fail
- [functional] Package version: 1.23.0 → 1.25.0

### 2026-07-27 (score 6)

First indexed and scored.

## MCP tools (278)

### `agencyHosting_deployNodeStaticWebsite` (~321 tokens)

Deploy a node-static Agency Plan (h5g) website from an archive file. WARNING: this overwrites the website's existing contents and cannot be undone — always confirm with the user before proceeding. Use this for Agency Plan websites of type node-static (a Node.js-built static site that requires a build step or a plain simple static site). The tool resolves the website from its domain, uploads the archive to the website's file browser over TUS, and triggers the build-assets process which builds the site and deploys the result to public_html. This operation is synchronous: the build and deployment complete before the tool returns, so the website is live as soon as the tool finishes successfully — there is no separate asynchronous build to wait for or poll. For plain PHP applications that should be extracted as-is, use agencyHosting_deployPhpApplication instead. The website UID is automatically resolved from the domain.

Input parameters:

- `archivePath` (string, required): Absolute or relative path to the website archive file. Supported formats: zip, tar, tar.gz, tgz. The archive must contain the application source files. If user provides a directory path, create an ar…
- `domain` (string, required): Domain name of the Agency Plan website (e.g., example.com)
- `removeArchive` (boolean): Whether to remove the local archive file after successful deployment (default: true)

### `agencyHosting_deployPhpApplication` (~315 tokens)

Deploy a PHP (or other non-build) Agency Plan (h5g) website from an archive file. WARNING: this overwrites the website's existing contents and cannot be undone — always confirm with the user before proceeding. Use this for Agency Plan websites where the archive contents should be extracted and served as-is with no build step (e.g., PHP applications). The tool resolves the website from its domain, uploads the archive to the website's file browser over TUS, and triggers the import-archive process which overwrites the website contents with the archive contents. This operation is synchronous: the archive is extracted and deployed before the tool returns, so the website is live as soon as the tool finishes successfully — there is no separate asynchronous build to wait for or poll. For node-static websites that require a build step, use agencyHosting_deployNodeStaticWebsite instead. The website UID is automatically resolved from the domain.

Input parameters:

- `archivePath` (string, required): Absolute or relative path to the website archive file. Supported formats: zip, tar, tar.gz, tgz. If user provides a directory path, create an archive from it before proceeding using EXACTLY this nami…
- `domain` (string, required): Domain name of the Agency Plan website (e.g., example.com)
- `removeArchive` (boolean): Whether to remove the local archive file after successful deployment (default: true)

### `hosting_importWordpressWebsite` (~230 tokens)

Import a WordPress website from an archive file to a hosting server. This tool uploads a website archive (zip, tar, tar.gz, etc.) and a database dump (.sql file) to deploy a complete WordPress website. The archive will be extracted on the server automatically. Note: This process may take a while for larger sites. After upload completion, files are being extracted and the site will be available in a few minutes. The username will be automatically resolved from the domain.

Input parameters:

- `archivePath` (string, required): Absolute or relative path to the website archive file. Supported formats: zip, tar, tar.gz, tgz, 7z, gz, gzip. If user provides directory path, create archive from it before proceeding using EXACTLY…
- `databaseDump` (string, required): Absolute or relative path to a database dump file (.sql)
- `domain` (string, required): Domain name associated with the hosting account (e.g., example.com)

### `hosting_deployWordpressPlugin` (~93 tokens)

Deploy a WordPress plugin from a directory to a hosting server. This tool uploads all plugin files and triggers plugin deployment.

Input parameters:

- `domain` (string, required): Domain name associated with the hosting account (e.g., example.com)
- `pluginPath` (string, required): Absolute or relative path to the plugin directory containing all plugin files
- `slug` (string, required): WordPress plugin slug (e.g., omnisend)

### `hosting_deployWordpressTheme` (~125 tokens)

Deploy a WordPress theme from a directory to a hosting server. This tool uploads all theme files and triggers theme deployment. The uploaded theme can optionally be activated after deployment.

Input parameters:

- `activate` (boolean): Whether to activate the theme after deployment (default: false)
- `domain` (string, required): Domain name associated with the hosting account (e.g., example.com)
- `slug` (string, required): WordPress theme slug (e.g., twentytwentyfive)
- `themePath` (string, required): Absolute or relative path to the theme directory containing all theme files

### `hosting_deployJsApplication` (~210 tokens)

Deploy a JavaScript application from an archive file to a hosting server. IMPORTANT: the archive must ONLY contain application source files, not the build output, skip node_modules directory; also exclude all files matched by .gitignore if the ignore file exists. The build process will be triggered automatically on the server after the archive is uploaded. After deployment, use the hosting_listJsDeployments tool to check deployment status and track build progress.

Input parameters:

- `archivePath` (string, required): Absolute or relative path to the application archive file. Supported formats: zip, tar, tar.gz, tgz, 7z, gz, gzip. If user provides directory path, create archive from it before proceeding. IMPORTANT…
- `domain` (string, required): Domain name associated with the hosting account (e.g., example.com)
- `removeArchive` (boolean): Whether to remove the archive file after successful deployment (default: false)

### `hosting_deployStaticWebsite` (~234 tokens)

Deploy a static website from an archive file to a hosting server. IMPORTANT: This tool only works for static websites with no build process. The archive must contain pre-built static files (HTML, CSS, JavaScript, images, etc.) ready to be served. If the website has a package.json file or requires a build command, use hosting_deployJsApplication instead. The archive will be extracted and deployed directly without any build steps. The username will be automatically resolved from the domain.

Input parameters:

- `archivePath` (string, required): Absolute or relative path to the static website archive file. Supported formats: zip, tar, tar.gz, tgz, 7z, gz, gzip. If user provides directory path, create archive from it before proceeding using E…
- `domain` (string, required): Domain name associated with the hosting account (e.g., example.com)
- `removeArchive` (boolean): Whether to remove the archive file after successful deployment (default: false)

### `hosting_listJsDeployments` (~127 tokens)

List javascript application deployments for checking their status. Use this tool when customer asks for the status of the deployment. This tool retrieves a paginated list of Node.js application deployments for a domain with optional filtering by deployment states.

Input parameters:

- `domain` (string, required): Domain name associated with the hosting account (e.g., example.com)
- `page` (integer): Page number for pagination (optional)
- `perPage` (integer): Number of items per page (optional)
- `states` (array): Filter by deployment states (optional). Valid values: pending, completed, running, failed

### `hosting_showJsDeploymentLogs` (~83 tokens)

Retrieve logs for a specified JavaScript application deployment for debugging purposes in case of failure.

Input parameters:

- `buildUuid` (string, required): UUID of the JavaScript deployment build
- `domain` (string, required): Domain name associated with the hosting account (e.g., example.com)
- `fromLine` (integer): Line from which to retrieve logs (optional, default 0)

### `agency-hosting_listAvailableDatacentersForAnAgencyPlanOrderV1` (~114 tokens)

Lists the datacenters available for provisioning a new website on the given Agency Plan
hosting order.

Each datacenter includes a `pinger_url` you can ping from the client to measure round-trip
latency; comparing the results across datacenters lets you pick the nearest one (lowest
ping) before choosing its `code` as the `datacenter_code` when creating a website setup.

Input parameters:

- `order_id` (integer, required): Agency Plan order ID

### `agency-hosting_changeAgencyPlanWebsiteDomainV1` (~103 tokens)

Changes the primary domain for an Agency Plan website.

Provide the current domain in the path and the new domain in the request body.
Set domain to null to revert to the temporary domain.

Input parameters:

- `domain` (string, required): New domain to assign to the website. Set to null to revert to the temporary domain.
- `from_domain` (string, required): Current domain name to change from
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_linkDomainToAgencyPlanWebsiteV1` (~63 tokens)

Links a domain to the specified Agency Plan website so it can serve traffic for that domain.

Input parameters:

- `domain` (string, required): Fully qualified domain name to link to the website
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_listAgencyPlanDomainsV1` (~84 tokens)

Returns a paginated list of domains associated with Agency Plan websites accessible to the authenticated client.

Use the website_uuids filter to narrow results to specific websites.

Input parameters:

- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `website_uuids` (array): Filter by website UIDs

### `agency-hosting_unlinkDomainFromAgencyPlanWebsiteV1` (~95 tokens)

Unlinks a domain from the specified Agency Plan website.

The website stops serving traffic on this domain immediately.

Website files and database are preserved, and any other linked domains remain accessible.

If this is the only domain on the website, unlinking leaves the website without an accessible domain.

Input parameters:

- `domain` (string, required): Domain name
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_importAgencyPlanWebsiteFromArchiveV1` (~125 tokens)

Imports an Agency Plan website from an already-uploaded archive.

Upload the archive to the website's root directory via file browser first, then provide its
filename in this request. Website contents are overwritten by the archive contents. Supported
archive types: .zip, .tar, .tar.gz, .tgz.

Input parameters:

- `archive_name` (string, required): Archive filename (e.g., archive.zip). The file must already be uploaded to the website's .h5g/ directory.
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_listAgencyPlanOrdersV1` (~52 tokens)

Returns a paginated list of Agency Plan orders accessible to the authenticated client.

Input parameters:

- `page` (integer): Page number
- `per_page` (integer): Number of items per page

### `agency-hosting_provisionANewAgencyPlanWebsiteV1` (~478 tokens)

Provisions a new website on one of your Agency Plan hosting orders.

Choose the datacenter, stack (`flavor`), and PHP version for the site. Optionally attach
your own `domain` — omit it, set it to `null`, or leave it unavailable and a free
\`*.hostingersite.com` subdomain is generated instead — and/or install WordPress by
supplying the `wordpress` details (admin account, site title, and language).

Common setups:
\- **Plain PHP site**: `flavor` set to `php-fpm`, with `settings.php.version`; omit
  \`wordpress` and `type`.
\- **WordPress site**: `flavor` set to the desired WordPress version (e.g. `wp-7.0`), plus
  the `wordpress` block (admin account, title, language).
\- **Static/Node.js frontend app**: `flavor` set to `php-fpm` and `type` set to
  \`node-static`.

Provisioning runs in the background, so the response returns immediately with a setup UUID
that identifies the job. The new website becomes reachable once provisioning finishes.

Input parameters:

- `clone` (object): Clone the new website from an existing website
- `datacenter_code` (string, required): Datacenter code where the website should be provisioned. Available codes depend on live capacity and are not a fixed set.
- `derive_domain` (object): Derive the domain from an existing vhost
- `domain` (string): Primary domain to attach to the website. Omit or set to null to get a free auto-generated *.hostingersite.com subdomain instead.
- `flavor` (string, required): Setup flavor: a specific WordPress version in the format `wp-<major>.<minor>` or `wp-<major>.<minor>.<patch>` (e.g. `wp-6.8.2`), or `php-fpm` for a plain PHP stack. Generic versions like `wp-latest`…
- `order_id` (integer, required): Agency Plan order ID
- `settings` (object, required): Website settings
- `type` (string): Website type
- `wordpress` (object): WordPress installation options

### `agency-hosting_getAgencyPlanWebsiteSetupStatusV1` (~92 tokens)

Returns the current status of an Agency Plan website setup started via the setups
endpoint.

Poll this endpoint using the `setup_uuid` returned from the provisioning request until
\`status` becomes `completed`, at which point `website_uid` identifies the new website.

Input parameters:

- `order_id` (integer, required): Agency Plan order ID
- `setup_uuid` (string, required): Website setup UUID

### `agency-hosting_buildAgencyPlanWebsiteNodeJSAssetsV1` (~119 tokens)

Builds and deploys a Node.js application for an Agency Plan website from an already-uploaded archive.

Upload the archive to file browser first, then provide its relative path from document root in this request.
Website contents are overwritten by the build result, which is deployed to public_html.

Input parameters:

- `archive_path` (string, required): Directory, relative to the website document root, where the uploaded site archive currently lives. Most commonly this is simply `public_html`.
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_clearAgencyPlanWebsiteCacheV1` (~55 tokens)

Clears cache for all domains associated with an Agency Plan website, including its preview domain.

This operation clears all cache types for the website.

Input parameters:

- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_listAgencyPlanWebsiteCronJobsV1` (~80 tokens)

Returns a paginated list of cron jobs configured for an Agency Plan website.

Each entry includes the schedule expression and the command executed on that schedule.

Input parameters:

- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_createAgencyPlanWebsiteCronJobV1` (~113 tokens)

Creates a cron job for an Agency Plan website from a schedule expression and a command.

Returns the created cron job, including its uuid, which is required to delete the cron job.

Input parameters:

- `command` (string, required): Command to run on the schedule. Must not contain pipe (|) or redirection (<, >) characters.
- `time` (string, required): Cron schedule expression (standard 5-field crontab syntax).
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_deleteAgencyPlanWebsiteCronJobV1` (~85 tokens)

Permanently deletes the cron job identified by its uuid from an Agency Plan website.

The operation is idempotent: deleting a cron job that does not exist succeeds without error.

Input parameters:

- `uuid` (string, required): Unique identifier of the cron job as returned by the list cron jobs endpoint.
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_listAgencyPlanWebsiteDatabasesV1` (~77 tokens)

Returns a paginated list of MySQL databases created for an Agency Plan website.

Each entry includes the database's non-system users.

Input parameters:

- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_createAgencyPlanWebsiteDatabaseV1` (~115 tokens)

Creates a MySQL database with a dedicated user for an Agency Plan website.

The database name, username, and password must all be provided by the caller.

Input parameters:

- `database_name` (string, required): Database name to create (alphanumeric characters).
- `database_user` (string, required): Database username to create alongside the database (alphanumeric characters).
- `password` (string, required): Password for the database user (requires mixed case, letters, and numbers).
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_deleteAgencyPlanWebsiteDatabaseV1` (~85 tokens)

Permanently deletes a MySQL database and all its data from an Agency Plan website, including its users.

The operation is idempotent: deleting a database that does not exist succeeds without error.

Input parameters:

- `database_name` (string, required): Full database name as returned by the list databases endpoint.
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_createAgencyPlanWebsiteDatabaseUserV1` (~147 tokens)

Creates a user for an existing database on an Agency Plan website.

Each database supports a single non-system user; creating a user for a database that already has one fails.

Input parameters:

- `database_name` (string, required): Full database name as returned by the list databases endpoint.
- `database_user` (string, required): Database username to create (alphanumeric and underscores).
- `host` (string): Host the user connects from (IPv4, IPv6, % wildcard, or localhost). Defaults to localhost.
- `password` (string, required): Password for the database user (requires mixed case, letters, and numbers).
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_deleteAgencyPlanWebsiteDatabaseUserV1` (~103 tokens)

Permanently deletes a database user from an Agency Plan website database, revoking all access it had.

The operation is idempotent: deleting a user that does not exist succeeds without error.

Input parameters:

- `database_name` (string, required): Full database name as returned by the list databases endpoint.
- `database_user_name` (string, required): Database username as returned by the list databases endpoint.
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_getAgencyPlanWebsiteDetailsV1` (~53 tokens)

Retrieves detailed information about a specific Agency Plan website, including configuration,
status, metadata, hosting plan details, and resource quotas.

Input parameters:

- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_deleteAgencyPlanWebsiteV1` (~55 tokens)

Deletes an Agency Plan website and schedules cleanup of its resources.

This action is irreversible. Website files, databases, and linked domains are removed.

Input parameters:

- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_listRunningAgencyPlanWebsiteProcessesV1` (~84 tokens)

Lists active and recently completed asynchronous processes for an Agency Plan website.

Each process has a unique ID (for tracking), a type, and a status (running, completed, failed).
Poll this endpoint after initiating async operations (SSL setup, backups, cloning) to track progress.

Input parameters:

- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_changeAgencyPlanWebsiteWordPressCoreVersionV1` (~74 tokens)

Changes the installed WordPress core version on an Agency Plan website to one of the versions available for installation.

Input parameters:

- `version` (string, required): Target WordPress core version to install. Must be one of the available versions.
- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_getAgencyPlanWebsiteWordPressSettingsV1` (~61 tokens)

Returns the current WordPress settings for an Agency Plan website: installed core version,
LiteSpeed Cache plugin status, object cache status, and maintenance mode status.

Input parameters:

- `website_uid` (string, required): Agency Plan website UID

### `agency-hosting_listAvailableWordPressVersionsForAnAgencyPlanWebsiteV1` (~48 tokens)

Lists the WordPress core versions available for installation on an Agency Plan website.

Input parameters:

- `website_uid` (string, required): Agency Plan website UID

### `billing_getCatalogItemListV1` (~108 tokens)

Retrieve catalog items available for order.

Prices in catalog items is displayed as cents (without floating point),
e.g: float `17.99` is displayed as integer `1799`.

Use this endpoint to view available services and pricing before placing orders.

Input parameters:

- `category` (string): Filter catalog items by category
- `name` (string): Filter catalog items by name. Use `*` for wildcard search, e.g. `.COM*` to find .com domain

### `billing_createPurchaseOrderV1` (~201 tokens)

Create a purchase order for any Hostinger product.

This unified endpoint places an order for one or more catalog items and
works across all Hostinger products, leveraging the existing billing
infrastructure. Use the [catalog endpoint](#tag/billing-catalog) to look
up the `item_id` values available for purchase.

If no payment method is provided, your default payment method will be used automatically.

This endpoint only places the order. Product-specific provisioning
(e.g. VPS setup or domain registration) is not performed here — once the
order completes, use the relevant product endpoints or
[hPanel](https://hpanel.hostinger.com/) to finalize setup.

Use this endpoint to purchase any product available in the catalog.

Input parameters:

- `coupons` (array): Discount coupon codes
- `items` (array, required): Catalog price items to purchase
- `payment_method_id` (integer): Payment method ID, default will be used if not provided

### `billing_setDefaultPaymentMethodV1` (~47 tokens)

Set the default payment method for your account.

Use this endpoint to configure the primary payment method for future orders.

Input parameters:

- `paymentMethodId` (integer, required): Payment method ID

### `billing_deletePaymentMethodV1` (~44 tokens)

Delete a payment method from your account.

Use this endpoint to remove unused payment methods from user accounts.

Input parameters:

- `paymentMethodId` (integer, required): Payment method ID

### `billing_getPaymentMethodListV1` (~66 tokens)

Retrieve available payment methods that can be used for placing new orders.

If you want to add new payment method,
please use [hPanel](https://hpanel.hostinger.com/billing/payment-methods).

Use this endpoint to view available payment options before creating orders.

### `billing_getSubscriptionListV1` (~34 tokens)

Retrieve a list of all subscriptions associated with your account.

Use this endpoint to monitor active services and billing status.

### `billing_disableAutoRenewalV1` (~45 tokens)

Disable auto-renewal for a subscription.

Use this endpoint when disable auto-renewal for a subscription.

Input parameters:

- `subscriptionId` (string, required): Subscription ID

### `billing_enableAutoRenewalV1` (~45 tokens)

Enable auto-renewal for a subscription.

Use this endpoint when enable auto-renewal for a subscription.

Input parameters:

- `subscriptionId` (string, required): Subscription ID

### `billing_renewSubscriptionV1` (~137 tokens)

Create a renewal order for an existing Hostinger subscription.

This endpoint places a renewal order for a single subscription, leveraging
the existing billing infrastructure. Use the
[subscriptions endpoint](#tag/billing-subscriptions) to look up the
\`subscriptionId` values available for renewal.

If no payment method is provided, your default payment method will be used automatically.

Use this endpoint to renew any subscription available in your account.

Input parameters:

- `coupons` (array): Discount coupon codes
- `payment_method_id` (integer): Payment method ID, default will be used if not provided
- `subscriptionId` (string, required): Subscription ID

### `DNS_getDNSSnapshotV1` (~54 tokens)

Retrieve particular DNS snapshot with contents of DNS zone records.

Use this endpoint to view historical DNS configurations for domains.

Input parameters:

- `domain` (string, required): Domain name
- `snapshotId` (integer, required): Snapshot ID

### `DNS_getDNSSnapshotListV1` (~42 tokens)

Retrieve DNS snapshots for a domain.

Use this endpoint to view available DNS backup points for restoration.

Input parameters:

- `domain` (string, required): Domain name

### `DNS_restoreDNSSnapshotV1` (~52 tokens)

Restore DNS zone to the selected snapshot.

Use this endpoint to revert domain DNS to a previous configuration.

Input parameters:

- `domain` (string, required): Domain name
- `snapshotId` (integer, required): Snapshot ID

### `DNS_getDNSRecordsV1` (~42 tokens)

Retrieve DNS zone records for a specific domain.

Use this endpoint to view current DNS configuration for domain management.

Input parameters:

- `domain` (string, required): Domain name

### `DNS_updateDNSRecordsV1` (~133 tokens)

Update DNS records for the selected domain.

Using `overwrite = true` will replace existing records with the provided ones. 
Otherwise existing records will be updated and new records will be added.

Use this endpoint to modify domain DNS configuration.

Input parameters:

- `domain` (string, required): Domain name
- `overwrite` (boolean): If `true`, resource records (RRs) matching name and type will be deleted and new RRs will be created, otherwise resource records' ttl's are updated and new records are appended. If no matching RRs ar…
- `zone` (array, required): zone parameter

### `DNS_deleteDNSRecordsV1` (~105 tokens)

Delete DNS records for the selected domain.

To filter which records to delete, add the `name` of the record and `type` to the filter. 
Multiple filters can be provided with single request.

If you have multiple records with the same name and type, and you want to delete only part of them,
refer to the `Update zone records` endpoint.

Use this endpoint to remove specific DNS records from domains.

Input parameters:

- `domain` (string, required): Domain name

### `DNS_resetDNSRecordsV1` (~88 tokens)

Reset DNS zone to the default records.

Use this endpoint to restore domain DNS to original configuration.

Input parameters:

- `domain` (string, required): Domain name
- `reset_email_records` (boolean): Determines if email records should be reset
- `sync` (boolean): Determines if operation should be run synchronously
- `whitelisted_record_types` (array): Specifies which record types to not reset

### `DNS_validateDNSRecordsV1` (~144 tokens)

Validate DNS records prior to update for the selected domain.

If the validation is successful, the response will contain `200 Success` code.
If there is validation error, the response will fail with `422 Validation error` code.

Use this endpoint to verify DNS record validity before applying changes.

Input parameters:

- `domain` (string, required): Domain name
- `overwrite` (boolean): If `true`, resource records (RRs) matching name and type will be deleted and new RRs will be created, otherwise resource records' ttl's are updated and new records are appended. If no matching RRs ar…
- `zone` (array, required): zone parameter

### `v2_getDomainVerificationsDIRECT` (~24 tokens)

Retrieve a list of pending and completed domain verifications.

### `domains_checkDomainAvailabilityV1` (~141 tokens)

Check availability of domain names across multiple TLDs.

Multiple TLDs can be checked at once.
If you want alternative domains with response, provide only one TLD and set `with_alternatives` to `true`.
TLDs should be provided without leading dot (e.g. `com`, `net`, `org`).

Endpoint has rate limit of 10 requests per minute.

Use this endpoint to verify domain availability before purchase.

Input parameters:

- `domain` (string, required): Domain name (without TLD)
- `tlds` (array, required): TLDs list
- `with_alternatives` (boolean): Should response include alternatives

### `domains_getDomainForwardingV1` (~38 tokens)

Retrieve domain forwarding data.

Use this endpoint to view current redirect configuration for domains.

Input parameters:

- `domain` (string, required): Domain name

### `domains_updateDomainForwardingV1` (~61 tokens)

Update domain forwarding configuration.

Use this endpoint to modify existing redirect configuration for domains.

Input parameters:

- `domain` (string, required): Domain name
- `redirect_type` (string, required): Redirect type
- `redirect_url` (string, required): URL to forward domain to

### `domains_deleteDomainForwardingV1` (~37 tokens)

Delete domain forwarding data.

Use this endpoint to remove redirect configuration from domains.

Input parameters:

- `domain` (string, required): Domain name

### `domains_createDomainForwardingV1` (~62 tokens)

Create domain forwarding configuration.

Use this endpoint to set up domain redirects to other URLs.

Input parameters:

- `domain` (string, required): Domain name
- `redirect_type` (string, required): Redirect type
- `redirect_url` (string, required): URL to forward domain to

### `domains_getDomainAuthorizationCodeV1` (~76 tokens)

Retrieve the authorization (EPP) code for a specified domain so it can be transferred
away from Hostinger to another registrar.

Requesting a new code invalidates any code retrieved previously.

Use this endpoint to obtain the code required to transfer a domain to another registrar.

Input parameters:

- `domain` (string, required): Domain name

### `domains_enableDomainLockV1` (~58 tokens)

Enable domain lock for the domain.

When domain lock is enabled,
the domain cannot be transferred to another registrar without first disabling the lock.

Use this endpoint to secure domains against unauthorized transfers.

Input parameters:

- `domain` (string, required): Domain name

### `domains_disableDomainLockV1` (~55 tokens)

Disable domain lock for the domain.

Domain lock needs to be disabled before transferring the domain to another registrar.

Use this endpoint to prepare domains for transfer to other registrars.

Input parameters:

- `domain` (string, required): Domain name

### `domains_getDomainDetailsV1` (~39 tokens)

Retrieve detailed information for specified domain.

Use this endpoint to view comprehensive domain configuration and status.

Input parameters:

- `domain` (string, required): Domain name

### `domains_getDomainListV1` (~29 tokens)

Retrieve all domains associated with your account.

Use this endpoint to view user's domain portfolio.

### `domains_purchaseNewDomainV1` (~207 tokens)

Purchase and register a new domain name.

If registration fails, login to [hPanel](https://hpanel.hostinger.com/) and check domain registration status.

If no payment method is provided, your default payment method will be used automatically.

If no WHOIS information is provided, default contact information for that TLD will be used.
Before making request, ensure WHOIS information for desired TLD exists in your account.

Some TLDs require `additional_details` to be provided and these will be validated before completing purchase.

Use this endpoint to register new domains for users.

Input parameters:

- `additional_details` (object): Additional registration data, possible values depends on TLD
- `coupons` (array): Discount coupon codes
- `domain` (string, required): Domain name
- `domain_contacts` (object): Domain contact information
- `item_id` (string, required): Catalog price item ID
- `payment_method_id` (integer): Payment method ID, default will be used if not provided

### `domains_enablePrivacyProtectionV1` (~59 tokens)

Enable privacy protection for the domain.

When privacy protection is enabled, domain owner's personal information is hidden from public WHOIS database.

Use this endpoint to protect domain owner's personal information from public view.

Input parameters:

- `domain` (string, required): Domain name

### `domains_disablePrivacyProtectionV1` (~57 tokens)

Disable privacy protection for the domain.

When privacy protection is disabled, domain owner's personal information is visible in public WHOIS database.

Use this endpoint to make domain owner's information publicly visible.

Input parameters:

- `domain` (string, required): Domain name

### `domains_getDomainRenewalInformationV1` (~55 tokens)

Retrieve renewal information for a specified domain, including its status and current
expiration date.

Use this endpoint to build renewal automation and expiry monitoring for a single domain.

Input parameters:

- `domain` (string, required): Domain name

### `domains_updateDomainNameserversV1` (~105 tokens)

Set nameservers for a specified domain.

Be aware, that improper nameserver configuration can lead to the domain being unresolvable or unavailable.

Use this endpoint to configure custom DNS hosting for domains.

Input parameters:

- `domain` (string, required): Domain name
- `ns1` (string, required): First name server
- `ns2` (string, required): Second name server
- `ns3` (string): Third name server
- `ns4` (string): Fourth name server

### `domains_getTransferV1` (~43 tokens)

Retrieve the transfer for a specified domain.

Use this endpoint to track an incoming or outgoing registrar transfer and its status.

Input parameters:

- `domain` (string, required): Domain name

### `domains_getTransferListV1` (~34 tokens)

Retrieve all domain transfers in your portfolio.

Use this endpoint to monitor incoming and outgoing registrar transfers across your domains.

### `domains_unsetDefaultWHOISProfileV1` (~67 tokens)

Unset WHOIS contact profile as default.

The profile itself is kept, it is only no longer pre-selected for its TLD.

Use this endpoint to stop reusing contact information for new registrations.

Input parameters:

- `whoisId` (integer, required): WHOIS ID

### `domains_setWHOISProfileAsDefaultV1` (~65 tokens)

Set WHOIS contact profile as default.

The default profile is pre-selected for the TLD it belongs to when registering new domains.

Use this endpoint to avoid picking contact information for every registration.

Input parameters:

- `whoisId` (integer, required): WHOIS ID

### `domains_getWHOISProfileV1` (~42 tokens)

Retrieve a WHOIS contact profile.

Use this endpoint to view domain registration contact information.

Input parameters:

- `whoisId` (integer, required): WHOIS ID

### `domains_deleteWHOISProfileV1` (~42 tokens)

Delete WHOIS contact profile.

Use this endpoint to remove unused contact profiles from account.

Input parameters:

- `whoisId` (integer, required): WHOIS ID

### `domains_getWHOISProfileListV1` (~48 tokens)

Retrieve WHOIS contact profiles.

Use this endpoint to view available contact profiles for domain registration.

Input parameters:

- `tld` (string): Filter by TLD (without leading dot)

### `domains_createWHOISProfileV1` (~99 tokens)

Create WHOIS contact profile.

Use this endpoint to add new contact information for domain registration.

Input parameters:

- `country` (string, required): ISO 3166 2-letter country code
- `entity_type` (string, required): Legal entity type
- `tld` (string, required): TLD of the domain (without leading dot)
- `tld_details` (object): TLD details
- `whois_details` (object, required): WHOIS details

### `domains_getWHOISProfileUsageV1` (~50 tokens)

Retrieve domain list where provided WHOIS contact profile is used.

Use this endpoint to view which domains use specific contact profiles.

Input parameters:

- `whoisId` (integer, required): WHOIS ID

### `ecommerce_getCustomStorefrontSetupInstructionsV1` (~54 tokens)

Retrieve step-by-step setup instructions, formatted as Markdown, for connecting a custom sales
channel to your store and keeping your catalog, orders, shipping and payments in sync through
the Ecommerce API.

### `ecommerce_enableManualPaymentMethodV1` (~63 tokens)

Enable a manual payment method so the store can accept orders without an online payment provider.

Input parameters:

- `store_id` (string, required): The ID of the store to enable manual payment for.
- `title` (string): Optional display name shown to customers at checkout.

### `ecommerce_createDigitalProductV1` (~129 tokens)

Create a published digital product with a single variant and an optional external download link.

Input parameters:

- `currency` (string): ISO 4217 currency code. Defaults to the store's default currency when omitted.
- `description` (string): The product description.
- `download_url` (string): Optional external download link delivered to the customer after purchase.
- `name` (string, required): The product name.
- `price` (integer, required): Price in the smallest currency unit (e.g. cents). Must be positive.
- `store_id` (string, required): The ID of the store to create the product in.

### `ecommerce_createPhysicalProductV1` (~110 tokens)

Create a published physical product with a single variant priced in the store currency.

Input parameters:

- `currency` (string): ISO 4217 currency code. Defaults to the store's default currency when omitted.
- `description` (string): The product description.
- `name` (string, required): The product name.
- `price` (integer, required): Price in the smallest currency unit (e.g. cents). Must be positive.
- `store_id` (string, required): The ID of the store to create the product in.

### `ecommerce_listSalesChannelsV1` (~42 tokens)

List a store's active sales channels with their full metadata.

Input parameters:

- `store_id` (string, required): The ID of the store to list sales channels for.

### `ecommerce_createCustomSalesChannelV1` (~117 tokens)

Create a custom sales channel for a store. Build your own frontend and keep your catalog,
orders, shipping and payments in sync through the Ecommerce API.

Input parameters:

- `name` (string, required): Merchant-facing custom name shown in the sales channels list.
- `store_id` (string, required): The ID of the store to create the sales channel for.
- `type` (string, required): Sales channel type. Only "custom" channels can be created via the API.
- `url` (string): Optional public address where the custom sales channel lives.

### `ecommerce_updateSalesChannelV1` (~130 tokens)

Update a custom sales channel. The merchant-facing `name` and the public `url`
(returned as the channel `domain`) can be changed. Pass `null` to clear a value.

Input parameters:

- `name` (string): Merchant-facing custom name shown in the sales channels list. Pass null to clear it.
- `sales_channel_id` (string, required): The ID of the sales channel to update.
- `store_id` (string, required): The ID of the store that owns the sales channel.
- `url` (string): Public address where the custom sales channel lives. Pass null to clear it.

### `ecommerce_setStoreShippingV1` (~77 tokens)

Set the flat-rate shipping price for a store, creating the shipping zone if it does not exist yet.

Input parameters:

- `price` (integer, required): Flat shipping rate in the smallest currency unit (e.g. cents). Use 0 for free shipping.
- `store_id` (string, required): The ID of the store to configure shipping for.

### `ecommerce_deleteStoreV1` (~50 tokens)

Soft-delete a store owned by your account.

The underlying store data is preserved; only the store is marked as deleted.

Input parameters:

- `store_id` (string, required): The ID of the store to delete.

### `ecommerce_getStoresV1` (~28 tokens)

Retrieve the stores associated with your account.

Input parameters:

- `page` (integer): Page number

### `ecommerce_createStoreV1` (~104 tokens)

Create a new store for your account.

A primary sales channel is created alongside the store.

Input parameters:

- `company_email` (string): company_email parameter
- `company_name` (string): company_name parameter
- `country_code` (string): ISO 3166-1 alpha-2 country code.
- `language` (string): ISO 639-1 language code.
- `name` (string): name parameter
- `sales_channel` (object): sales_channel parameter

### `ecommerce_getStoreMetadataV1` (~58 tokens)

Get a store's readiness metadata: whether payment methods and shipping are configured,
plus its default currency. Useful to verify prerequisites before building a storefront.

Input parameters:

- `store_id` (string, required): The ID of the store to read metadata for.

### `horizons_createWebsiteV1` (~441 tokens)

Create new Hostinger Horizons website from the given message.\n
Use this tool when user asks you to create a website, landing page, blog
or any other type of application.\n
This tool initiates the website creation process and returns a website URL and ID.
The generation happens asynchronously.\n
After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
that Hostinger Horizons is now creating their website and it will be ready in a few minutes
and you should provide the website URL to the user immediately
Do not write code.\n\nTo edit afterwards, users must go to Hostinger Horizons interface
in the provided website URL.
If the tool call fails with an error, you should provide a clear explanation of the error
and do not generate code yourself in the chat.
\n
TECHNOLOGY STACK CONSTRAINTS (STRICTLY ENFORCED):\n
The environment is limited to the following technologies.
You MUST NOT use, suggest, or implement any technology outside this list:\n
\n
\- Language: JavaScript ONLY.
\- Languages like TypeScript, Rust, Python, Java, PHP, etc., are STRICTLY PROHIBITED.\n
\- Framework: React.\n
\- Navigation: React Router.\n
\- Styling: TailwindCSS.\n
\- Components: shadcn/ui (built with @radix-ui primitives).\n
\- Icons: Lucide React.\n
\- Animations: Framer Motion.\n
\n
BACKEND & DATA STORAGE:\n
\- Horizons integrated backend is the EXCLUSIVE solution for persistent data storage,
authentication, and database needs.\n
\- Local databases (SQLite, MySQL, etc.) are STRICTLY PROHIBITED.\n
\- Third-party services (Firebase, AWS Amplify) are allowed ONLY if explicitly requested by the user.\n
\n
MAPS:\n
\- OpenStreetMap is the default provider.\n
\- Alternative providers (Google Maps, Mapbox) are allowed ONLY if explicitly requested by the user.\n

Input parameters:

- `message` (array, required): message parameter

### `horizons_getWebsiteV1` (~78 tokens)

Get a link for the user to edit their website in Hostinger Horizons interface.\n
Use this tool when user wants to modify, edit or add new features to an existing website.\n
Websites can only be edited in Hostinger Horizons interface in the provided website URL.

Input parameters:

- `websiteId` (string, required): The website ID

### `hosting_clearWebsiteCacheV1` (~127 tokens)

Permanently clears all server-side cache for the website at once. Use it when content was
updated and needs to be visible immediately, or after making major changes.

Also purges the Hostinger CDN cache when CDN is enabled on the website. For a WordPress
installation living in a subdirectory, pass the directory query parameter to clear its cache.

Input parameters:

- `directory` (string): Directory of the website installation to clear, relative to the website root. Defaults to the website root.
- `domain` (string, required): Domain name
- `username` (string, required): username parameter

### `hosting_toggleCachelessModeV1` (~128 tokens)

Turns development (cacheless) mode on or off, based on the enabled flag. When enabled, nothing
is cached, effectively turning off all caching for the website; use it while actively developing,
testing changes, debugging issues, or when real-time updates must be visible. Disable it after
finishing development work to restore the performance benefits of caching.

Input parameters:

- `domain` (string, required): Domain name
- `enabled` (boolean, required): Turn development (cacheless) mode on (true) or off (false) for the website.
- `username` (string, required): username parameter

### `hosting_toggleWebsiteCacheV1` (~131 tokens)

Turns server-side caching for the website on or off, based on the enabled flag. Enable it for
faster page loads, reduced server load, and improved user experience; recommended for production
websites. Disabling may impact performance; to temporarily bypass caching while developing or
debugging, prefer toggling cacheless mode instead.

Does nothing if caching is already in the requested state.

Input parameters:

- `domain` (string, required): Domain name
- `enabled` (boolean, required): Turn server-side caching on (true) or off (false) for the website.
- `username` (string, required): username parameter

### `hosting_listAccountCronJobsV1` (~40 tokens)

Returns the list of cron jobs configured for the specified account, including their schedule and command.

Input parameters:

- `username` (string, required): username parameter

### `hosting_createAccountCronJobV1` (~102 tokens)

Creates a cron job for the specified account from a schedule expression and a command.

Returns the created cron job, including its uid, which is required to delete the cron job or fetch its output.

Input parameters:

- `command` (string, required): Command to execute on the schedule.
- `time` (string, required): Cron schedule expression (for example "0 2 * * *" runs daily at 02:00).
- `username` (string, required): username parameter

### `hosting_deleteAccountCronJobV1` (~65 tokens)

Permanently deletes the cron job identified by its uid.

The uid is returned by the list cron jobs endpoint.

Input parameters:

- `uid` (string, required): Unique identifier of the cron job as returned by the list cron jobs endpoint.
- `username` (string, required): username parameter

### `hosting_getCronJobOutputV1` (~71 tokens)

Returns the output captured from the last execution of the cron job identified by its uid.

The uid is returned by the list cron jobs endpoint.

Input parameters:

- `uid` (string, required): Unique identifier of the cron job as returned by the list cron jobs endpoint.
- `username` (string, required): username parameter

### `hosting_changeDatabasePasswordV1` (~88 tokens)

Changes the password for the specified database user.

The database name must be the full name returned by the list databases endpoint.
The password must also be updated in any website configuration that uses this database.

Input parameters:

- `name` (string, required): Full database name as returned by the list databases endpoint.
- `password` (string, required): New database user password.
- `username` (string, required): username parameter

### `hosting_listAccountDatabasesV1` (~125 tokens)

Returns a paginated list of databases for the specified account.

Use the domain and is_assigned filters to find databases assigned to a specific domain.

Input parameters:

- `domain` (string): Filter by domain name (exact match)
- `is_assigned` (boolean): When used with domain, return only databases assigned to that domain.
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `search` (string): Search databases by name, user, or creation date.
- `username` (string, required): username parameter

### `hosting_createAccountDatabaseV1` (~119 tokens)

Creates a database with a database user and password for the specified account.

The database name and user are automatically prefixed with the account username when needed.

Input parameters:

- `name` (string, required): Database name. If the account username prefix is omitted, it is added automatically.
- `password` (string, required): Database user password.
- `user` (string, required): Database user. If the account username prefix is omitted, it is added automatically.
- `username` (string, required): username parameter
- `website_domain` (string, required): Website domain assigned to the database.

### `hosting_deleteAccountDatabaseV1` (~63 tokens)

Permanently deletes a database and its remote connections.

The database name must be the full name returned by the list databases endpoint.

Input parameters:

- `name` (string, required): Full database name as returned by the list databases endpoint.
- `username` (string, required): username parameter

### `hosting_createDatabaseRemoteConnectionV1` (~107 tokens)

Allows a remote host to connect to the specified database.

Provide an IPv4/IPv6 address, or "%" to allow any host. The database name must be
the full name returned by the list databases endpoint.

Input parameters:

- `ip` (string, required): Remote host to allow: an IPv4/IPv6 address, or "%" for any host.
- `name` (string, required): Full database name as returned by the list databases endpoint.
- `username` (string, required): username parameter

### `hosting_deleteDatabaseRemoteConnectionV1` (~138 tokens)

Permanently removes a remote-access rule, revoking the given host's remote access to the database.

Identify the rule with the required ip query parameter (the IPv4/IPv6 address, or "%",
exactly as returned by the list remote connections endpoint). The database name must be
the full name returned by the list databases endpoint.

Input parameters:

- `ip` (string, required): Remote host to revoke: the IPv4/IPv6 address, or "%", exactly as returned by the list remote connections endpoint.
- `name` (string, required): Full database name as returned by the list databases endpoint.
- `username` (string, required): username parameter

### `hosting_listDatabaseRemoteConnectionsV1` (~104 tokens)

Returns the remote-access rules for the specified account: the remote hosts
(IPv4/IPv6 addresses, or "%" for any host) allowed to connect to the account databases.

Use the domain filter to only return rules for databases assigned to a specific domain.

Input parameters:

- `domain` (string): Filter remote connections by the domain the database is assigned to. Rules for databases not assigned to any domain are always included.
- `username` (string, required): username parameter

### `hosting_repairDatabaseV1` (~71 tokens)

Repairs corrupted database tables asynchronously.

Use when database errors, crashes, or corruption are reported.
The database name must be the full name returned by the list databases endpoint.

Input parameters:

- `name` (string, required): Full database name as returned by the list databases endpoint.
- `username` (string, required): username parameter

### `hosting_getPhpMyAdminLinkV1` (~91 tokens)

Returns a direct sign-on link to phpMyAdmin for the specified database.

Use this when a visual database interface is needed for SQL queries, imports, exports, or table management.
The database name must be the full name returned by the list databases endpoint.

Input parameters:

- `name` (string, required): Full database name as returned by the list databases endpoint.
- `username` (string, required): username parameter

### `hosting_listAvailableDatacentersV1` (~68 tokens)

Retrieve a list of datacenters available for setting up hosting plans
based on available datacenter capacity and hosting plan of your order.
The first item in the list is the best match for your specific order
requirements.

Input parameters:

- `order_id` (integer, required): Order ID

### `hosting_generateAFreeSubdomainV1` (~57 tokens)

Generate a unique free subdomain that can be used for hosting services without purchasing custom domains.
Free subdomains allow you to start using hosting services immediately
and you can always connect a custom domain to your site later.

### `hosting_listWebsiteParkedDomainsV1` (~70 tokens)

Retrieve all parked or alias domains created under the selected website.

Use this endpoint to inspect parked domain configuration for a specific website,
including the parent domain and root directory assigned to each parked domain.

Input parameters:

- `domain` (string, required): Domain name
- `username` (string, required): username parameter

### `hosting_createWebsiteParkedDomainV1` (~86 tokens)

Create a parked or alias domain for the selected website.

Provide a domain name or IP address to park on the website so it serves the same content
as the parent domain.

Input parameters:

- `domain` (string, required): Domain name
- `parked_domain` (string, required): Domain name or IP address to park on the selected website
- `username` (string, required): username parameter

### `hosting_deleteWebsiteParkedDomainV1` (~68 tokens)

Delete an existing parked or alias domain from the selected website.

Use this endpoint to remove parked domains that are no longer needed.

Input parameters:

- `domain` (string, required): Domain name
- `parkedDomain` (string, required): parkedDomain parameter
- `username` (string, required): username parameter

### `hosting_listWebsiteSubdomainsV1` (~67 tokens)

Retrieve all subdomains created under the selected website.

Use this endpoint to inspect subdomain configuration for a specific website,
including the parent domain and root directory assigned to each subdomain.

Input parameters:

- `domain` (string, required): Domain name
- `username` (string, required): username parameter

### `hosting_createWebsiteSubdomainV1` (~123 tokens)

Create a new subdomain for the selected website.

Provide a subdomain prefix and, optionally, a custom directory or the
website public directory to use as the subdomain root.

Input parameters:

- `directory` (string): Directory name for the subdomain relative to the website root
- `domain` (string, required): Domain name
- `is_using_public_directory` (boolean): Use the website public directory as the subdomain root directory
- `subdomain` (string, required): Subdomain prefix to create under the selected website
- `username` (string, required): username parameter

### `hosting_deleteWebsiteSubdomainV1` (~65 tokens)

Delete an existing subdomain from the selected website.

Use this endpoint to remove subdomains that are no longer needed.

Input parameters:

- `domain` (string, required): Domain name
- `subdomain` (string, required): subdomain parameter
- `username` (string, required): username parameter

### `hosting_verifyDomainOwnershipV1` (~128 tokens)

Verify ownership of a single domain and return the verification status.

Use this endpoint to check if a domain is accessible for you before using it for new websites.
If the domain is accessible, the response will have `is_accessible: true`.
If not, add the given TXT record to your domain's DNS records and try verifying again.
Keep in mind that it may take up to 10 minutes for new TXT DNS records to propagate.

Skip this verification when using Hostinger's free subdomains (*.hostingersite.com).

Input parameters:

- `domain` (string, required): Domain to verify ownership for

### `hosting_listNodeJSBuildsV1` (~139 tokens)

Retrieve a paginated list of Node.js build processes for a specific website.

Each build represents a single run of the Node.js build pipeline. Use the `states`
query parameter to filter results by build state (pending, running, completed, failed).
Use the `uuid` from a build to poll its output via the `Get Node.js Build Logs` endpoint.

Input parameters:

- `domain` (string, required): Domain name
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `states` (array): Build states to filter by
- `username` (string, required): username parameter

### `hosting_createNodeJSBuildFromArchiveV1` (~379 tokens)

Upload a project archive, auto-detect build settings, and immediately start a Node.js build.

This is the recommended single-step approach for deploying a Node.js application.
The archive is uploaded to the website's file storage, build settings are auto-detected
from the package.json inside the archive, and the build process starts automatically.
Optional override fields take precedence over auto-detected values.
Maximum archive size is 50MB.

Before archiving, exclude `node_modules/` and any build output directories
(e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build
process runs the install step automatically, and including them unnecessarily
increases the archive size. This also helps keep the archive well under the 50MB limit.

Example (zip):
\```
zip -r archive.zip . --exclude "node_modules/*" --exclude "dist/*"
\```

The returned build `uuid` can be used to poll progress and retrieve logs via
the `Get Node.js Build Logs` endpoint.

Input parameters:

- `app_type` (string): Node.js application type override
- `archive` (string, required): Project archive file (.zip, .tar.gz, or .tgz), maximum 50MB
- `build_script` (string): Build script override
- `domain` (string, required): Domain name
- `entry_file` (string): Main entry point file override
- `node_version` (integer): Node.js version override (auto-detected from package.json if omitted)
- `output_directory` (string): Build output directory override relative to the root directory
- `package_manager` (string): Package manager override
- `root_directory` (string): Application root directory override (where package.json is located) relative to public_html
- `username` (string, required): username parameter

### `hosting_getNodeJSBuildLogsV1` (~124 tokens)

Retrieve logs from a specific Node.js build process.

To stream live output while a build is running, poll this endpoint repeatedly
while the build state is `running`, passing the previously returned `lines` count
as `from_line` to fetch only new output since the last call.
Log content may contain ANSI escape sequences (color codes).

Input parameters:

- `domain` (string, required): Domain name
- `from_line` (integer): Line from which to start retrieving logs
- `username` (string, required): username parameter
- `uuid` (string, required): Build UUID

### `hosting_restartNode_jsApplicationV1` (~126 tokens)

Restarts the Node.js server process for the website. Does not rebuild or redeploy the
application. Use it to apply environment or configuration changes, or to recover a hung
application.

Only applicable to server-side applications (Express, Next.js, NestJS, etc.). Static
front-end apps (React, Vue, Vite) have no persistent server process, so restarting them
has no effect. Returns success even when the website has no server process to restart.

Input parameters:

- `domain` (string, required): Domain name
- `username` (string, required): username parameter

### `hosting_listNode_jsVulnerabilitiesV1` (~275 tokens)

Lists known npm package vulnerabilities detected on a Node.js website, enriched with
advisory metadata (severity, CVSS score, CVE, advisory URL). Results are sorted from
the most severe to the least severe, then by publish date (newest first). Use the
\`severities` query parameter to filter.

Vulnerabilities with `is_patchable` set to `true` can be auto-fixed via the
\`Patch Node.js Vulnerabilities` endpoint, which opens a GitHub pull request with
updated package versions. Auto-fix is only available for websites deployed from a
connected GitHub repository. Vulnerabilities with `is_patching_in_progress` set to
\`true` are already included in an open patch pull request; while any patch pull
request is open, new patch requests for this website are rejected until it is merged
or closed.

Data comes from periodic dependency scans, so it may lag behind the latest deployment.
An empty list means the most recent scan found no vulnerabilities; it does not
guarantee the current deployment is vulnerability-free. Available on Business and
Cloud Hosting plans.

Input parameters:

- `domain` (string, required): Domain name
- `severities` (array): Severities to filter by
- `username` (string, required): username parameter

### `hosting_patchNode_jsVulnerabilitiesV1` (~258 tokens)

Patches the selected Node.js vulnerabilities by updating the affected package versions
in `package.json` and opening a GitHub pull request in the connected repository. The
customer reviews and merges the pull request; merging triggers the automatic deployment.

Auto-fix is only available for websites deployed from a connected GitHub repository.
Websites deployed from an archive have no auto-fix path and return a 404. The Hostinger
GitHub App needs write access to the repository; without it the request fails with a
403 explaining the missing permission.

Only vulnerabilities with `is_patchable` set to `true` can be patched. Non-patchable
IDs in the selection are skipped; the pull request covers the patchable subset, listed
in `patched_vulnerability_ids`. Selections without any patchable vulnerability are
rejected with a 422. Only one patch pull request can be open at a time per website;
close or merge it before patching again. Available on Business and Cloud Hosting plans.

Input parameters:

- `domain` (string, required): Domain name
- `username` (string, required): username parameter
- `vulnerability_ids` (array, required): List of vulnerability IDs to patch, as returned by the list vulnerabilities endpoint.

### `hosting_listOrdersV1` (~116 tokens)

Retrieve a paginated list of orders accessible to the authenticated client.

This endpoint returns orders of your hosting accounts as well as orders
of other client hosting accounts that have shared access with you.

Use the available query parameters to filter results by order statuses
or specific order IDs for more targeted results.

Input parameters:

- `order_ids` (array): Filter by specific order IDs
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `statuses` (array): Filter by order statuses

### `hosting_resetPHPExtensionsV1` (~58 tokens)

Resets all PHP extensions of the website to their default state.

Use it to recover from extension conflicts or restore the original configuration.

Input parameters:

- `domain` (string, required): Domain name
- `username` (string, required): username parameter

### `hosting_getPHPDetailsV1` (~94 tokens)

Returns the full PHP configuration for the website: current version, available versions
(supported and unsupported), enabled/disabled extensions, options with their current value,
default, type and the plan limit (`max`), and conflicting extension groups.

Use it to check the current PHP setup before updating the version, extensions or options.

Input parameters:

- `domain` (string, required): Domain name
- `username` (string, required): username parameter

### `hosting_getPHPInfoV1` (~59 tokens)

Returns the full phpinfo page (HTML) for the website.

Use it to debug PHP issues or inspect the complete PHP environment of the website.

Input parameters:

- `domain` (string, required): Domain name
- `username` (string, required): username parameter

### `hosting_updatePHPExtensionsV1` (~82 tokens)

Enables or disables PHP extensions (modules) for the website.

Use the Get PHP details endpoint to check the current extension states before changing them.

Input parameters:

- `disable` (array): PHP extensions to disable.
- `domain` (string, required): Domain name
- `enable` (array): PHP extensions to enable.
- `username` (string, required): username parameter

### `hosting_updatePHPOptionsV1` (~136 tokens)

Updates PHP options for the website (e.g. `memory_limit`, `max_execution_time`, `upload_max_filesize`).
Only provide the options you want to change, inside the `options` object.

Values above the account plan limit are silently capped to that limit, so the request can succeed
with a smaller applied value. Call the Get PHP details endpoint afterwards to read the applied value.

Input parameters:

- `domain` (string, required): Domain name
- `options` (object, required): Map of PHP options to update, keyed by option name. Only include options you want to change.
- `username` (string, required): username parameter

### `hosting_updatePHPVersionV1` (~67 tokens)

Changes the PHP version of the website.

Use the Get PHP details endpoint to see the versions available for the website.

Input parameters:

- `domain` (string, required): Domain name
- `username` (string, required): username parameter
- `version` (string, required): PHP version to switch the website to.

### `hosting_listWebsitesV1` (~152 tokens)

Retrieve a paginated list of websites (main and addon types) accessible to the authenticated client.

This endpoint returns websites from your hosting accounts as well as
websites from other client hosting accounts that have shared access
with you.

Use the available query parameters to filter results by username,
order ID, enabled status, or domain name for more targeted results.

Input parameters:

- `domain` (string): Filter by domain name (exact match)
- `is_enabled` (boolean): Filter by enabled status
- `order_id` (integer): Order ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `username` (string): Filter by specific username

### `hosting_createWebsiteV1` (~168 tokens)

Create a new website for the authenticated client.

Provide the domain name and associated order ID to create a new website.
The datacenter_code parameter is required when creating the first website
on a new hosting plan - this will set up and configure new hosting account
in the selected datacenter.

Subsequent websites will be hosted on the same datacenter automatically.

Website creation takes up to a few minutes to complete. Check the
websites list endpoint to see when your new website becomes available.

Input parameters:

- `datacenter_code` (string): Datacenter code. This parameter is required when creating the first website on a new hosting plan.
- `domain` (string, required): Domain name for the website. Cannot start with "www."
- `order_id` (integer, required): ID of the associated order

### `hosting_deleteWebsiteV1` (~191 tokens)

Permanently deletes a website and all of its data. This action is destructive
and cannot be undone. Always ask the user for explicit confirmation before
calling this endpoint.

All website files, databases and related configuration will be removed.
The hosting plan itself is kept, so a new website can be created on it afterwards.

The confirm field must be boolean true, otherwise the request is rejected.

Supported websites: main and addon domain websites on web hosting plans, and
Website Builder websites. Parked domains and subdomains cannot be deleted with
this endpoint. The domain must be the exact website domain, not a preview
domain or an alias.

Returns 404 when the domain does not exist or does not belong to the
authenticated client.

Website removal is processed asynchronously and can take a few minutes to
complete. The response returns before the removal finishes.

Input parameters:

- `domain` (string, required): Domain name

### `mail_createAliasV1` (~119 tokens)

Create an alias for the given mailbox. The alias address is formed
from the given local part and the domain of the mailbox. Messages
sent to the alias are delivered to the mailbox.

Input parameters:

- `local_part` (string, required): Local part of the alias address (the part before the @). The domain is taken from the mailbox. Case-insensitive and stored lowercase; must start and end with a letter or digit; single dots, underscor…
- `mailboxId` (string, required): Mailbox resource ID

### `mail_deleteAliasV1` (~42 tokens)

Delete an alias. Messages sent to the alias address are no longer
delivered to the mailbox.

Input parameters:

- `aliasId` (string, required): Alias resource ID

### `mail_listAliasesV1` (~61 tokens)

Retrieve a paginated list of aliases across all mailboxes of a mail
order.

Input parameters:

- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page

### `mail_createAPITokenV1` (~152 tokens)

Create an API token for the given mail order. The token grants access
to the [Hostinger Email API](https://api.mail.hostinger.com/), where
you can provision and manage the mailboxes it is scoped to.

The plaintext token is returned only in this response, never again.
A maximum of 10 tokens can exist per order. Use
\`scope.has_all_mailboxes` to cover all current and future mailboxes,
or list specific mailboxes in `scope.mailbox_ids`.

Input parameters:

- `name` (string, required): Human-readable label for this token
- `orderId` (string, required): Order resource ID
- `scope` (object, required): Mailbox scope this token can access

### `mail_revokeAPITokenV1` (~68 tokens)

Revoke an API token. The token immediately loses access to the
[Hostinger Email API](https://api.mail.hostinger.com/). This action
cannot be undone.

Input parameters:

- `tokenId` (string, required): API token ID (returned when the token was created)

### `mail_listAPITokensV1` (~108 tokens)

Retrieve a paginated list of
[Hostinger Email API](https://api.mail.hostinger.com/) tokens across
all your mail orders, optionally filtered by order. Plaintext tokens
are never included; they are returned only when a token is created.

Input parameters:

- `order_id` (string): Filter tokens by order resource ID. Single value or comma-separated list.
- `page` (integer): Page number
- `per_page` (integer): Number of items per page

### `mail_createAutoreplyV1` (~148 tokens)

Create an automatic reply for the given mailbox. A mailbox can have
only one autoreply. Omit `starts_at` to activate the autoreply
immediately and omit `ends_at` to keep it active indefinitely.

Input parameters:

- `body` (string, required): Body of the automatic reply
- `display_name` (string): Sender display name used for the reply
- `ends_at` (string): When the autoreply stops. Omit for an indefinite autoreply.
- `mailboxId` (string, required): Mailbox resource ID
- `starts_at` (string): When the autoreply becomes active. Defaults to now.
- `subject` (string, required): Subject of the automatic reply

### `mail_updateAutoreplyV1` (~151 tokens)

Replace the autoreply with the given content and schedule. Omitted
optional fields are cleared: omit `starts_at` to activate the
autoreply immediately and omit `ends_at` to keep it active
indefinitely.

Input parameters:

- `autoreplyId` (string, required): Autoreply resource ID
- `body` (string, required): Body of the automatic reply
- `display_name` (string): Sender display name used for the reply
- `ends_at` (string): When the autoreply stops. Omit for an indefinite autoreply.
- `starts_at` (string): When the autoreply becomes active. Defaults to now.
- `subject` (string, required): Subject of the automatic reply

### `mail_deleteAutoreplyV1` (~44 tokens)

Delete the autoreply of a mailbox. The mailbox stops sending
automatic replies immediately.

Input parameters:

- `autoreplyId` (string, required): Autoreply resource ID

### `mail_listAutorepliesV1` (~64 tokens)

Retrieve a paginated list of autoreplies across all mailboxes of a
mail order.

Input parameters:

- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page

### `mail_createCatchAllV1` (~75 tokens)

Create a catch-all that routes all messages sent to unknown addresses
of the domain to the given mailbox. The mailbox address receives a
confirmation email and the catch-all becomes active only after it is
confirmed. A domain can have only one catch-all.

Input parameters:

- `mailboxId` (string, required): Mailbox resource ID

### `mail_deleteCatchAllV1` (~47 tokens)

Delete a catch-all. Messages sent to unknown addresses of the domain
are no longer routed to the mailbox.

Input parameters:

- `catchallId` (string, required): Catch-all resource ID

### `mail_listCatchAllsV1` (~65 tokens)

Retrieve a paginated list of catch-alls across all mailboxes of a
mail order.

Input parameters:

- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page

### `mail_resendCatchAllConfirmationV1` (~44 tokens)

Resend the confirmation email to the mailbox address of an
unconfirmed catch-all.

Input parameters:

- `catchallId` (string, required): Catch-all resource ID

### `mail_createForwarderV1` (~94 tokens)

Create a forwarder from the given mailbox to the destination address.
The destination receives a confirmation email and forwarding becomes
active only after it is confirmed.

Input parameters:

- `destination` (string, required): Email address the messages will be forwarded to
- `is_keep_copy_enabled` (boolean): Whether to keep a copy of forwarded messages in the mailbox. Defaults to false.
- `mailboxId` (string, required): Mailbox resource ID

### `mail_deleteForwarderV1` (~42 tokens)

Delete a forwarder. The mailbox stops forwarding messages to the
destination address immediately.

Input parameters:

- `forwarderId` (string, required): Forwarder resource ID

### `mail_listForwardersV1` (~63 tokens)

Retrieve a paginated list of forwarders across all mailboxes of a
mail order.

Input parameters:

- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page

### `mail_resendForwarderConfirmationV1` (~44 tokens)

Resend the confirmation email to the destination address of an
unconfirmed forwarder.

Input parameters:

- `forwarderId` (string, required): Forwarder resource ID

### `mail_updateForwarderKeepCopySettingV1` (~64 tokens)

Enable or disable keeping a copy of forwarded messages in the
mailbox.

Input parameters:

- `forwarderId` (string, required): Forwarder resource ID
- `is_keep_copy_enabled` (boolean, required): Whether to keep a copy of forwarded messages in the mailbox

### `mail_listAccessLogsV1` (~208 tokens)

Retrieve paginated access logs for the domain attached to the given
mail order. Supports filtering by account, date range, protocol,
status, and deletion flag. Results are sorted by timestamp descending.

Input parameters:

- `account` (string): Filter log entries by a specific email account
- `date` (string): Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given.
- `from_date` (string): Date range start (RFC 3339)
- `has_deletions` (boolean): Filter access log entries by whether the session had deletions
- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `protocol` (string): Filter access log entries by protocol
- `status` (string): Filter log entries by status
- `to_date` (string): Date range end (RFC 3339)

### `mail_listActionLogsV1` (~173 tokens)

Retrieve paginated account action logs (administrative and user
actions) for the given mail order. Supports filtering by account,
date range, and status. Results are sorted by timestamp descending.

Input parameters:

- `account` (string): Filter log entries by a specific email account
- `date` (string): Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given.
- `from_date` (string): Date range start (RFC 3339)
- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `status` (string): Filter log entries by status
- `to_date` (string): Date range end (RFC 3339)

### `mail_listInboundLogsV1` (~224 tokens)

Retrieve paginated inbound (received mail) delivery logs for the
domain attached to the given mail order. Supports filtering by
account, date range, status, sender, and recipient. Results are
sorted by timestamp descending.

Input parameters:

- `account` (string): Filter log entries by a specific email account
- `date` (string): Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given.
- `from_date` (string): Date range start (RFC 3339)
- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `recipient` (string): Filter log entries by recipient. Accepts a full email address or a domain.
- `sender` (string): Filter log entries by sender. Accepts a full email address or a domain.
- `status` (string): Filter log entries by status
- `to_date` (string): Date range end (RFC 3339)

### `mail_listMailboxActionLogsV1` (~191 tokens)

Retrieve paginated mailbox action logs (message and mailbox events)
for a mailbox in the given mail order. The mailbox email must belong
to the order's domain. Supports date range and event type filters.
Results are sorted by timestamp descending.

Input parameters:

- `date` (string): Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given.
- `email` (string, required): Mailbox email address. Must belong to the order's domain.
- `event` (string): Filter mailbox action log entries by event type
- `from_date` (string): Date range start (RFC 3339)
- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `to_date` (string): Date range end (RFC 3339)

### `mail_listOutboundLogsV1` (~224 tokens)

Retrieve paginated outbound (sent mail) delivery logs for the domain
attached to the given mail order. Supports filtering by account, date
range, status, sender, and recipient. Results are sorted by timestamp
descending.

Input parameters:

- `account` (string): Filter log entries by a specific email account
- `date` (string): Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given.
- `from_date` (string): Date range start (RFC 3339)
- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `recipient` (string): Filter log entries by recipient. Accepts a full email address or a domain.
- `sender` (string): Filter log entries by sender. Accepts a full email address or a domain.
- `status` (string): Filter log entries by status
- `to_date` (string): Date range end (RFC 3339)

### `mail_listMailboxesV1` (~136 tokens)

Retrieve a paginated list of mailboxes belonging to a mail order.

Use this endpoint to monitor mailboxes of your mail service, including
their status, enabled protocols, attached resource counts, and
periodically synced usage numbers (usage may lag behind live values).

Input parameters:

- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `search` (string): Filter mailboxes whose email address contains the given string
- `sort` (string): Sort mailboxes by field. Prefix with `-` for descending order.

### `mail_createMailboxV1` (~126 tokens)

Create a mailbox under the given mail order. The full email address is
composed from the given local part and the domain of the order.

Input parameters:

- `local_part` (string, required): Local part of the mailbox address (the part before the @). The domain is taken from the order. Must start and end with a letter or digit; single dots, underscores and hyphens are allowed in between.
- `orderId` (string, required): Order resource ID
- `password` (string, required): Mailbox password. Minimum 8 characters with uppercase, lowercase, number and special character.

### `mail_deleteMailboxV1` (~48 tokens)

Delete a mailbox. The mailbox is soft-deleted and stays restorable
for a limited period before it is permanently removed.

Input parameters:

- `mailboxId` (string, required): Mailbox resource ID

### `mail_changeMailboxPasswordV1` (~63 tokens)

Change the password of a mailbox.

Input parameters:

- `mailboxId` (string, required): Mailbox resource ID
- `password` (string, required): New mailbox password. Minimum 8 characters with uppercase, lowercase, number and special character; must not be a commonly used password.

### `mail_listOrdersV1` (~127 tokens)

Retrieve a paginated list of mail orders associated with your account.

Use this endpoint to monitor your mail services, including their status,
plan, attached domain, and expiration details.

Input parameters:

- `domain` (string): Filter orders by domain name (exact match)
- `is_trial` (boolean): Filter orders by trial state
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `sort` (string): Sort orders by field. Prefix with `-` for descending order.
- `status` (string): Filter orders by status

### `mail_getOrderPlanV1` (~50 tokens)

Retrieve the plan the given mail order was purchased with, including
domain-level and mailbox-level quotas, limits, and protocol
availability.

Input parameters:

- `orderId` (string, required): Order resource ID

### `mail_createWebhookV1` (~121 tokens)

Create a webhook for the given mailbox. The generated secret is
returned only in this response and is sent as a bearer token with
every delivery.

Input parameters:

- `description` (string): Optional description of the webhook's purpose
- `events` (array, required): Events that trigger this webhook
- `mailboxId` (string, required): Mailbox resource ID
- `name` (string, required): Human-readable name for this webhook
- `status` (string): Initial status of the webhook
- `url` (string, required): Publicly reachable URL that receives the webhook POST requests

### `mail_listWebhookDeliveryLogsV1` (~97 tokens)

Retrieve a paginated list of webhook delivery logs for the given mail
order, including delivery outcome, duration, and retry counts.
Supports filtering by mailbox.

Input parameters:

- `mailbox_id` (string): Filter by the mailbox resource ID the webhooks are attached to
- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page

### `mail_getWebhookV1` (~61 tokens)

Retrieve the details of a single webhook. The webhook secret is never
included; it is returned only when a webhook is created or its secret
is regenerated.

Input parameters:

- `webhookId` (string, required): Webhook ID (returned when the webhook was created)

### `mail_deleteWebhookV1` (~53 tokens)

Permanently delete a webhook. This action cannot be undone. After
deletion the URL no longer receives event notifications.

Input parameters:

- `webhookId` (string, required): Webhook ID (returned when the webhook was created)

### `mail_updateWebhookV1` (~136 tokens)

Partially update a webhook. Only the fields included in the request
body are changed; omitted fields retain their current values. Pass
\`"description": null` to clear the description.

Input parameters:

- `description` (string): New description, or null to clear it
- `events` (array): Replaces the full list of subscribed events
- `name` (string): New human-readable name for the webhook
- `status` (string): New status for the webhook
- `url` (string): New URL to deliver events to
- `webhookId` (string, required): Webhook ID (returned when the webhook was created)

### `mail_listWebhooksV1` (~124 tokens)

Retrieve a paginated list of webhooks belonging to the given mail
order. Supports filtering by mailbox and status. The webhook secret
is never included; it is returned only when a webhook is created or
its secret is regenerated.

Input parameters:

- `mailbox_id` (string): Filter by the mailbox resource ID the webhooks are attached to
- `orderId` (string, required): Order resource ID
- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `status` (string): Filter webhooks by status

### `mail_regenerateWebhookSecretV1` (~70 tokens)

Regenerate the secret of a webhook. The previous secret is
immediately invalidated. The new secret is returned only in this
response and is sent as a bearer token with every delivery.

Input parameters:

- `webhookId` (string, required): Webhook ID (returned when the webhook was created)

### `mail_testWebhookV1` (~50 tokens)

Send a test delivery to the webhook URL and return the result. Test
requests are rate limited upstream.

Input parameters:

- `webhookId` (string, required): Webhook ID (returned when the webhook was created)

### `reach_deleteAContactV1` (~45 tokens)

Delete a contact with the specified UUID.

This endpoint permanently removes a contact from the email marketing system.

Input parameters:

- `uuid` (string, required): UUID of the contact to delete

### `reach_listContactGroupsV1` (~36 tokens)

Get a list of all contact groups.

This endpoint returns a list of contact groups that can be used to organize contacts.

### `reach_listContactsV1` (~85 tokens)

Get a list of contacts, optionally filtered by group and subscription status.

This endpoint returns a paginated list of contacts with their basic information.
You can filter contacts by group UUID and subscription status.

Input parameters:

- `group_uuid` (string): Filter contacts by group UUID
- `page` (integer): Page number
- `subscription_status` (string): Filter contacts by subscription status

### `reach_createANewContactV1` (~126 tokens)

Create a new contact in the email marketing system.

This endpoint allows you to create a new contact with basic information like name, email, and surname.

If double opt-in is enabled,
the contact will be created with a pending status and a confirmation email will be sent.

Input parameters:

- `email` (string, required): email parameter
- `name` (string): name parameter
- `note` (string): note parameter
- `phone` (string): Phone number in E.164 format (leading "+" then 7-15 digits)
- `surname` (string): surname parameter

### `reach_listSegmentsV1` (~35 tokens)

Get a list of all contact segments.

This endpoint returns a list of contact segments that can be used to organize contacts.

### `reach_createANewContactSegmentV1` (~81 tokens)

Create a new contact segment.

This endpoint allows creating a new contact segment that can be used to organize contacts.
The segment can be configured with specific criteria like email, name, subscription status, etc.

Input parameters:

- `conditions` (array, required): conditions parameter
- `logic` (string, required): logic parameter
- `name` (string, required): name parameter

### `reach_listProfileSegmentContactsV1` (~96 tokens)

Retrieve contacts associated with a specific segment for a given profile.

This endpoint allows you to fetch and filter contacts that belong to a particular segment,
identified by its UUID, scoped to a specific profile.

Input parameters:

- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `profileUuid` (string, required): Profile uuid parameter
- `segmentUuid` (string, required): Segment uuid parameter

### `reach_listSegmentContactsV1` (~74 tokens)

Retrieve contacts associated with a specific segment.

This endpoint allows you to fetch and filter contacts that belong to a particular segment,
identified by its UUID.

Input parameters:

- `page` (integer): Page number
- `per_page` (integer): Number of items per page
- `segmentUuid` (string, required): Segment uuid parameter

### `reach_getSegmentDetailsV1` (~55 tokens)

Get details of a specific segment.

This endpoint retrieves information about a single segment identified by UUID.
Segments are used to organize and group contacts based on specific criteria.

Input parameters:

- `segmentUuid` (string, required): Segment uuid parameter

### `reach_createNewContactsV1` (~137 tokens)

Create a new contact in the email marketing system.

This endpoint allows you to create a new contact with basic information like name, email, and surname.

If double opt-in is enabled, the contact will be created with a pending status
and a confirmation email will be sent.

Input parameters:

- `email` (string, required): email parameter
- `name` (string): name parameter
- `note` (string): note parameter
- `phone` (string): Phone number in E.164 format (leading "+" then 7-15 digits)
- `profileUuid` (string, required): Profile uuid parameter
- `surname` (string): surname parameter

### `reach_getProfileDomainDNSStatusV1` (~69 tokens)

Retrieve the DNS configuration status for a profile's domain.

This endpoint reports the state of MX, SPF, DKIM and DMARC records, including the
actual records found and the suggested records required for correct email delivery.

Input parameters:

- `profileUuid` (string, required): Profile uuid parameter

### `reach_listProfilesV1` (~26 tokens)

This endpoint returns all profiles available to the client, including their basic information.

### `VPS_getDataCenterListV1` (~31 tokens)

Retrieve all available data centers.

Use this endpoint to view location options before deploying VPS instances.

### `VPS_getProjectContainersV1` (~104 tokens)

Retrieves a list of all containers belonging to a specific Docker Compose project on the virtual machine. 

This endpoint returns detailed information about each container including
their current status, port mappings, and runtime configuration.

Use this to monitor the health and state of all services within your Docker Compose project.

Input parameters:

- `projectName` (string, required): Docker Compose project name using alphanumeric characters, dashes, and underscores only
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getProjectContentsV1` (~105 tokens)

Retrieves the complete project information including the docker-compose.yml
file contents, project metadata, and current deployment status.

This endpoint provides the full configuration and state details of a specific Docker Compose project. 

Use this to inspect project settings, review the compose file, or check the overall project health.

Input parameters:

- `projectName` (string, required): Docker Compose project name using alphanumeric characters, dashes, and underscores only
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_deleteProjectV1` (~103 tokens)

Completely removes a Docker Compose project from the virtual machine, stopping all containers and cleaning up 
associated resources including networks, volumes, and images. 

This operation is irreversible and will delete all project data. 

Use this when you want to permanently remove a project and free up system resources.

Input parameters:

- `projectName` (string, required): Docker Compose project name using alphanumeric characters, dashes, and underscores only
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getProjectListV1` (~120 tokens)

Retrieves a list of all Docker Compose projects currently deployed on the virtual machine. 

This endpoint returns basic information about each project including name,
status, file path and list of containers with details about their names,
image, status, health and ports. Container stats are omitted in this
endpoint. If you need to get detailed information about container with
stats included, use the `Get project containers` endpoint.

Use this to get an overview of all Docker projects on your VPS instance.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_createNewProjectV1` (~159 tokens)

Deploy new project from docker-compose.yaml contents or download contents from URL. 

URL can be Github repository url in format https://github.com/[user]/[repo]
and it will be automatically resolved to docker-compose.yaml file in
master branch. Any other URL provided must return docker-compose.yaml
file contents.

If project with the same name already exists, existing project will be replaced.

Input parameters:

- `content` (string, required): URL pointing to docker-compose.yaml file, Github repository or raw YAML content of the compose file
- `environment` (string): Project environment variables
- `project_name` (string, required): Docker Compose project name using alphanumeric characters, dashes, and underscores only
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getProjectLogsV1` (~114 tokens)

Retrieves aggregated log entries from all services within a Docker Compose project. 

This endpoint returns recent log output from each container, organized by service name with timestamps. 
The response contains the last 300 log entries across all services. 

Use this for debugging, monitoring application behavior, and
troubleshooting issues across your entire project stack.

Input parameters:

- `projectName` (string, required): Docker Compose project name using alphanumeric characters, dashes, and underscores only
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_restartProjectV1` (~94 tokens)

Restarts all services in a Docker Compose project by stopping and starting
containers in the correct dependency order.

This operation preserves data volumes and network configurations while refreshing the running containers. 

Use this to apply configuration changes or recover from service failures.

Input parameters:

- `projectName` (string, required): Docker Compose project name using alphanumeric characters, dashes, and underscores only
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_startProjectV1` (~97 tokens)

Starts all services in a Docker Compose project that are currently stopped. 

This operation brings up containers in the correct dependency order as defined in the compose file. 

Use this to resume a project that was previously stopped or to start services after a system reboot.

Input parameters:

- `projectName` (string, required): Docker Compose project name using alphanumeric characters, dashes, and underscores only
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_stopProjectV1` (~89 tokens)

Stops all running services in a Docker Compose project while preserving
container configurations and data volumes.

This operation gracefully shuts down containers in reverse dependency order. 

Use this to temporarily halt a project without removing data or configurations.

Input parameters:

- `projectName` (string, required): Docker Compose project name using alphanumeric characters, dashes, and underscores only
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_updateProjectV1` (~101 tokens)

Updates a Docker Compose project by pulling the latest image versions and
recreating containers with new configurations.

This operation preserves data volumes while applying changes from the compose file. 

Use this to deploy application updates, apply configuration changes, or
refresh container images to their latest versions.

Input parameters:

- `projectName` (string, required): Docker Compose project name using alphanumeric characters, dashes, and underscores only
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_activateFirewallV1` (~67 tokens)

Activate a firewall for a specified virtual machine.

Only one firewall can be active for a virtual machine at a time.

Use this endpoint to apply firewall rules to VPS instances.

Input parameters:

- `firewallId` (integer, required): Firewall ID
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_deactivateFirewallV1` (~55 tokens)

Deactivate a firewall for a specified virtual machine.

Use this endpoint to remove firewall protection from VPS instances.

Input parameters:

- `firewallId` (integer, required): Firewall ID
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getFirewallDetailsV1` (~44 tokens)

Retrieve firewall by its ID and rules associated with it.

Use this endpoint to view specific firewall configuration and rules.

Input parameters:

- `firewallId` (integer, required): Firewall ID

### `VPS_deleteFirewallV1` (~50 tokens)

Delete a specified firewall.

Any virtual machine that has this firewall activated will automatically have it deactivated.

Use this endpoint to remove unused firewall configurations.

Input parameters:

- `firewallId` (integer, required): Firewall ID

### `VPS_getFirewallListV1` (~36 tokens)

Retrieve all available firewalls.

Use this endpoint to view existing firewall configurations.

Input parameters:

- `page` (integer): Page number

### `VPS_createNewFirewallV1` (~39 tokens)

Create a new firewall.

Use this endpoint to set up new firewall configurations for VPS security.

Input parameters:

- `name` (string, required): name parameter

### `VPS_updateFirewallRuleV1` (~133 tokens)

Update a specific firewall rule from a specified firewall.

Any virtual machine that has this firewall activated will lose sync with the firewall
and will have to be synced again manually.

Use this endpoint to modify existing firewall rules.

Input parameters:

- `firewallId` (integer, required): Firewall ID
- `port` (string, required): Port or port range, ex: 1024:2048
- `protocol` (string, required): protocol parameter
- `ruleId` (integer, required): Firewall Rule ID
- `source` (string, required): source parameter
- `source_detail` (string, required): IP range, CIDR, single IP or `any`

### `VPS_deleteFirewallRuleV1` (~76 tokens)

Delete a specific firewall rule from a specified firewall.

Any virtual machine that has this firewall activated will lose sync with the firewall
and will have to be synced again manually.

Use this endpoint to remove specific firewall rules.

Input parameters:

- `firewallId` (integer, required): Firewall ID
- `ruleId` (integer, required): Firewall Rule ID

### `VPS_createFirewallRuleV1` (~149 tokens)

Create new firewall rule for a specified firewall.

By default, the firewall drops all incoming traffic,
which means you must add accept rules for all ports you want to use.

Any virtual machine that has this firewall activated will lose sync with the firewall
and will have to be synced again manually.

Use this endpoint to add new security rules to firewalls.

Input parameters:

- `firewallId` (integer, required): Firewall ID
- `port` (string, required): Port or port range, ex: 1024:2048
- `protocol` (string, required): protocol parameter
- `source` (string, required): source parameter
- `source_detail` (string, required): IP range, CIDR, single IP or `any`

### `VPS_syncFirewallV1` (~73 tokens)

Sync a firewall for a specified virtual machine.

Firewall can lose sync with virtual machine if the firewall has new rules added, removed or updated.

Use this endpoint to apply updated firewall rules to VPS instances.

Input parameters:

- `firewallId` (integer, required): Firewall ID
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getPostInstallScriptV1` (~45 tokens)

Retrieve post-install script by its ID.

Use this endpoint to view specific automation script details.

Input parameters:

- `postInstallScriptId` (integer, required): Post-install script ID

### `VPS_updatePostInstallScriptV1` (~65 tokens)

Update a specific post-install script.

Use this endpoint to modify existing automation scripts.

Input parameters:

- `content` (string, required): Content of the script
- `name` (string, required): Name of the script
- `postInstallScriptId` (integer, required): Post-install script ID

### `VPS_deletePostInstallScriptV1` (~46 tokens)

Delete a post-install script from your account.
       
Use this endpoint to remove unused automation scripts.

Input parameters:

- `postInstallScriptId` (integer, required): Post-install script ID

### `VPS_getPostInstallScriptsV1` (~43 tokens)

Retrieve post-install scripts associated with your account.

Use this endpoint to view available automation scripts for VPS deployment.

Input parameters:

- `page` (integer): Page number

### `VPS_createPostInstallScriptV1` (~117 tokens)

Add a new post-install script to your account, which can then be used after virtual machine installation.

The script contents will be saved to the file `/post_install` with executable attribute set
and will be executed once virtual machine is installed.
The output of the script will be redirected to `/post_install.log`. Maximum script size is 48KB.

Use this endpoint to create automation scripts for VPS setup tasks.

Input parameters:

- `content` (string, required): Content of the script
- `name` (string, required): Name of the script

### `VPS_attachPublicKeyV1` (~72 tokens)

Attach existing public keys from your account to a specified virtual machine.

Multiple keys can be attached to a single virtual machine.

Use this endpoint to enable SSH key authentication for VPS instances.

Input parameters:

- `ids` (array, required): Public Key IDs to attach
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_deletePublicKeyV1` (~60 tokens)

Delete a public key from your account. 

\**Deleting public key from account does not remove it from virtual machine** 
       
Use this endpoint to remove unused SSH keys from account.

Input parameters:

- `publicKeyId` (integer, required): Public Key ID

### `VPS_getPublicKeysV1` (~41 tokens)

Retrieve public keys associated with your account.

Use this endpoint to view available SSH keys for VPS authentication.

Input parameters:

- `page` (integer): Page number

### `VPS_createPublicKeyV1` (~50 tokens)

Add a new public key to your account.

Use this endpoint to register SSH keys for VPS authentication.

Input parameters:

- `key` (string, required): key parameter
- `name` (string, required): name parameter

### `VPS_getTemplateDetailsV1` (~45 tokens)

Retrieve detailed information about a specific OS template for virtual machines.

Use this endpoint to view specific template specifications before deployment.

Input parameters:

- `templateId` (integer, required): Template ID

### `VPS_getTemplatesV1` (~35 tokens)

Retrieve available OS templates for virtual machines.

Use this endpoint to view operating system options before creating or recreating VPS instances.

### `VPS_getActionDetailsV1` (~60 tokens)

Retrieve detailed information about a specific action performed on a specified virtual machine.

Use this endpoint to monitor specific VPS operation status and details.

Input parameters:

- `actionId` (integer, required): Action ID
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getActionsV1` (~110 tokens)

Retrieve actions performed on a specified virtual machine.

Actions are operations or events that have been executed on the virtual
machine, such as starting, stopping, or modifying the machine. This endpoint
allows you to view the history of these actions, providing details about
each action, such as the action name, timestamp, and status.

Use this endpoint to view VPS operation history and troubleshoot issues.

Input parameters:

- `page` (integer): Page number
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getAttachedPublicKeysV1` (~57 tokens)

Retrieve public keys attached to a specified virtual machine.

Use this endpoint to view SSH keys configured for specific VPS instances.

Input parameters:

- `page` (integer): Page number
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getBackupsV1` (~54 tokens)

Retrieve backups for a specified virtual machine.

Use this endpoint to view available backup points for VPS data recovery.

Input parameters:

- `page` (integer): Page number
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_restoreBackupV1` (~93 tokens)

Restore a backup for a specified virtual machine.

The system will then initiate the restore process, which may take some time depending on the size of the backup.

\**All data on the virtual machine will be overwritten with the data from the backup.**

Use this endpoint to recover VPS data from backup points.

Input parameters:

- `backupId` (integer, required): Backup ID
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_setHostnameV1` (~92 tokens)

Set hostname for a specified virtual machine.

Changing hostname does not update PTR record automatically.
If you want your virtual machine to be reachable by a hostname, 
you need to point your domain A/AAAA records to virtual machine IP as well.

Use this endpoint to configure custom hostnames for VPS instances.

Input parameters:

- `hostname` (string, required): hostname parameter
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_resetHostnameV1` (~49 tokens)

Reset hostname and PTR record of a specified virtual machine to default value.

Use this endpoint to restore default hostname configuration for VPS instances.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getVirtualMachineDetailsV1` (~45 tokens)

Retrieve detailed information about a specified virtual machine.

Use this endpoint to view comprehensive VPS configuration and status.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getVirtualMachinesV1` (~27 tokens)

Retrieve all available virtual machines.

Use this endpoint to view available VPS instances.

### `VPS_purchaseNewVirtualMachineV1` (~126 tokens)

Purchase and setup a new virtual machine.

If virtual machine setup fails for any reason, login to
[hPanel](https://hpanel.hostinger.com/) and complete the setup manually.

If no payment method is provided, your default payment method will be used automatically.

Use this endpoint to create new VPS instances.

Input parameters:

- `coupons` (array): Discount coupon codes
- `item_id` (string, required): Catalog price item ID
- `payment_method_id` (integer): Payment method ID, default will be used if not provided
- `setup` (string, required): setup parameter

### `VPS_getScanMetricsV1` (~116 tokens)

Retrieve scan metrics for the [Monarx](https://www.monarx.com/) malware scanner
installed on a specified virtual machine.

The scan metrics provide detailed information about malware scans performed
by Monarx, including number of scans, detected threats, and other relevant
statistics. This information is useful for monitoring security status of the
virtual machine and assessing effectiveness of the malware scanner.

Use this endpoint to monitor VPS security scan results and threat detection.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_installMonarxV1` (~105 tokens)

Install the Monarx malware scanner on a specified virtual machine.

[Monarx](https://www.monarx.com/) is a security tool designed to detect and
prevent malware infections on virtual machines. By installing Monarx, users
can enhance the security of their virtual machines, ensuring that they are
protected against malicious software.

Use this endpoint to enable malware protection on VPS instances.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_uninstallMonarxV1` (~69 tokens)

Uninstall the Monarx malware scanner on a specified virtual machine.

If Monarx is not installed, the request will still be processed without any effect.

Use this endpoint to remove malware scanner from VPS instances.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getMetricsV1` (~94 tokens)

Retrieve historical metrics for a specified virtual machine.

It includes the following metrics: 
\- CPU usage
\- Memory usage
\- Disk usage
\- Network usage
\- Uptime

Use this endpoint to monitor VPS performance and resource utilization over time.

Input parameters:

- `date_from` (string, required): date_from parameter
- `date_to` (string, required): date_to parameter
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_setNameserversV1` (~101 tokens)

Set nameservers for a specified virtual machine.

Be aware, that improper nameserver configuration can lead to the virtual
machine being unable to resolve domain names.

Use this endpoint to configure custom DNS resolvers for VPS instances.

Input parameters:

- `ns1` (string, required): ns1 parameter
- `ns2` (string): ns2 parameter
- `ns3` (string): ns3 parameter
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_createPTRRecordV1` (~74 tokens)

Create or update a PTR (Pointer) record for a specified virtual machine.

Use this endpoint to configure reverse DNS lookup for VPS IP addresses.

Input parameters:

- `domain` (string, required): Pointer record domain
- `ipAddressId` (integer, required): IP Address ID
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_deletePTRRecordV1` (~85 tokens)

Delete a PTR (Pointer) record for a specified virtual machine.

Once deleted, reverse DNS lookups to the virtual machine's IP address will
no longer return the previously configured hostname.

Use this endpoint to remove reverse DNS configuration from VPS instances.

Input parameters:

- `ipAddressId` (integer, required): IP Address ID
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_setPanelPasswordV1` (~121 tokens)

Set panel password for a specified virtual machine.

If virtual machine does not use panel OS, the request will still be processed without any effect.
Requirements for password are same as in the [recreate virtual machine
endpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).

Use this endpoint to configure control panel access credentials for VPS instances.

Input parameters:

- `password` (string, required): Panel password for the virtual machine
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_startRecoveryModeV1` (~120 tokens)

Initiate recovery mode for a specified virtual machine.

Recovery mode is a special state that allows users to perform system rescue operations, 
such as repairing file systems, recovering data, or troubleshooting issues that prevent the virtual machine 
from booting normally. 

Virtual machine will boot recovery disk image and original disk image will be mounted in `/mnt` directory.

Use this endpoint to enable system rescue operations on VPS instances.

Input parameters:

- `root_password` (string, required): Temporary root password for recovery mode
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_stopRecoveryModeV1` (~62 tokens)

Stop recovery mode for a specified virtual machine.

If virtual machine is not in recovery mode, this operation will fail.

Use this endpoint to exit system rescue mode and return VPS to normal operation.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_recreateVirtualMachineV1` (~263 tokens)

Recreate a virtual machine from scratch.

The recreation process involves reinstalling the operating system and
resetting the virtual machine to its initial state.
Snapshots, if there are any, will be deleted.

\## Password Requirements
Password will be checked against leaked password databases. 
Requirements for the password are:
\- At least 12 characters long
\- At least one uppercase letter
\- At least one lowercase letter
\- At least one number
\- Is not leaked publicly

\**This operation is irreversible and will result in the loss of all data stored on the virtual machine!**

Use this endpoint to completely rebuild VPS instances with fresh OS installation.

Input parameters:

- `panel_password` (string): Panel password for the panel-based OS template. If not provided, random password will be generated. If OS does not support panel_password this field will be ignored. Password will not be shown in the…
- `password` (string): Root password for the virtual machine. If not provided, random password will be generated. Password will not be shown in the response.
- `post_install_script_id` (integer): Post-install script to execute after virtual machine was recreated
- `template_id` (integer, required): Template ID
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_restartVirtualMachineV1` (~56 tokens)

Restart a specified virtual machine by fully stopping and starting it.

If the virtual machine was stopped, it will be started.

Use this endpoint to reboot VPS instances.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_setRootPasswordV1` (~100 tokens)

Set root password for a specified virtual machine.

Requirements for password are same as in the [recreate virtual machine
endpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).

Use this endpoint to update administrator credentials for VPS instances.

Input parameters:

- `password` (string, required): Root password for the virtual machine
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_setupPurchasedVirtualMachineV1` (~195 tokens)

Setup newly purchased virtual machine with `initial` state.

Use this endpoint to configure and initialize purchased VPS instances.

Input parameters:

- `data_center_id` (integer, required): Data center ID
- `enable_backups` (boolean): Enable weekly backup schedule
- `hostname` (string): Override default hostname of the virtual machine
- `install_monarx` (boolean): Install Monarx malware scanner (if supported)
- `ns1` (string): Name server 1
- `ns2` (string): Name server 2
- `password` (string): Password for the virtual machine. If not provided, random password will be generated. Password will not be shown in the response.
- `post_install_script_id` (integer): Post-install script ID
- `public_key` (object): Use SSH key
- `template_id` (integer, required): Template ID
- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_getSnapshotV1` (~41 tokens)

Retrieve snapshot for a specified virtual machine.

Use this endpoint to view current VPS snapshot information.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_createSnapshotV1` (~115 tokens)

Create a snapshot of a specified virtual machine.

A snapshot captures the state and data of the virtual machine at a specific point in time, 
allowing users to restore the virtual machine to that state if needed. 
This operation is useful for backup purposes, system recovery, 
and testing changes without affecting the current state of the virtual machine.

\**Creating new snapshot will overwrite the existing snapshot!**

Use this endpoint to capture VPS state for backup and recovery purposes.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_deleteSnapshotV1` (~40 tokens)

Delete a snapshot of a specified virtual machine.

Use this endpoint to remove VPS snapshots.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_restoreSnapshotV1` (~78 tokens)

Restore a specified virtual machine to a previous state using a snapshot.

Restoring from a snapshot allows users to revert the virtual machine to that state,
which is useful for system recovery, undoing changes, or testing.

Use this endpoint to revert VPS instances to previous saved states.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_startVirtualMachineV1` (~58 tokens)

Start a specified virtual machine.

If the virtual machine is already running, the request will still be processed without any effect.

Use this endpoint to power on stopped VPS instances.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `VPS_stopVirtualMachineV1` (~87 tokens)

Stop a specified virtual machine.

If the virtual machine is already stopped, the request will still be processed without any effect.

This is a compute-only power state change and does not affect billing. To stop future charges,
disable auto-renewal on the owning subscription.

Use this endpoint to power off running VPS instances.

Input parameters:

- `virtualMachineId` (integer, required): Virtual Machine ID

### `hosting_showAIOptionStatusV1` (~128 tokens)

Show the current AI option status for the Hostinger Tools plugin on the
specified WordPress installation. Filter by `option` to return a single
option, or omit it to return all options.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `option` (string): Filter the status by a single AI option.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_setAIOptionStatusV1` (~122 tokens)

Enable or disable an AI option for the Hostinger Tools plugin on the specified
WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `enable` (boolean, required): Enable (true) or disable (false) the AI option.
- `option` (string, required): AI option name
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_checkIfWordPressInstallationsAreValidV1` (~132 tokens)

Check whether one or more WordPress installations are valid and working
correctly. Detects broken installations caused by missing files, broken
plugins, themes and similar issues.

Provide the WordPress installation (software) identifiers in the body. They
can be obtained from GET /api/hosting/v1/wordpress/installations (the `id`
field).

Input parameters:

- `force` (boolean): Force fresh validation without cache. Preferable for troubleshooting purposes.
- `software_ids` (array, required): WordPress installation (software) identifiers to validate.
- `username` (string, required): username parameter

### `hosting_deleteWordPressInstallationV1` (~108 tokens)

Delete the specified WordPress installation, with optional file and database
removal. This removes all associated components including plugins, themes,
staging websites and any other related data.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_detectWordPressInstallationsV1` (~77 tokens)

Trigger a background scan to detect WordPress installations for the account.

This operation is asynchronous: a successful response only means the scan has
been queued. Poll GET /api/hosting/v1/wordpress/installations to fetch the
detected installations once the scan completes.

Input parameters:

- `username` (string, required): username parameter

### `hosting_installWordPressV1` (~403 tokens)

Install WordPress on an existing website.

The website must already exist before calling this endpoint. To create a new
website first, use POST /api/hosting/v1/websites and poll
GET /api/hosting/v1/websites until it appears.

Call GET /api/hosting/v1/wordpress/installations filtered by username and
domain before proceeding to check whether WordPress is already installed on
the target domain/path. If WordPress already exists and `overwrite` is false
(the default), the async job will fail.

This operation is asynchronous: a successful response only means the install
job has been queued, not that WordPress is ready. Installation typically
takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered
by username and domain to track progress. When the installation appears in
that list, WordPress is ready.

Input parameters:

- `auto_updates` (string): WordPress core auto-update policy
- `credentials` (object, required): WordPress admin credentials
- `database` (object): Optional. If the named database already exists, it will be used for this WordPress install. Otherwise a new database is created with a generated name and random credentials.
- `directory` (string): Relative directory to install WordPress into. Defaults to the website root when omitted.
- `domain` (string, required): Domain of the existing website where WordPress will be installed
- `language` (string): WordPress locale. Defaults to en_US when omitted.
- `overwrite` (boolean): When false (default), does not replace an existing installation. If WordPress is already installed on the domain/path, the async install job fails unless true.
- `site_title` (string, required): Title of the WordPress site
- `username` (string, required): username parameter
- `version` (string): WordPress core version to install. If omitted, the latest core version compatible with the account vhost PHP version is selected.

### `hosting_listWordPressInstallationsV1` (~151 tokens)

List WordPress installations accessible to the authenticated client.

Use this endpoint to discover existing WordPress installations and to poll
for installation status after calling the install endpoint. When a newly
requested installation appears in this list, WordPress is ready. Filter by
username and domain to narrow results to a specific website.

Each installation includes a `valid` flag and, when invalid, a
\`validationError` describing why.

Input parameters:

- `domain` (string): Filter by domain name (exact match)
- `ownership` (string): Filter by ownership type. Defaults to "owned". Use "all" to include both owned and managed installations.
- `username` (string): Filter by specific username

### `hosting_listAvailableWordPressCoreUpdatesV1` (~86 tokens)

List available WordPress core updates for the specified installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_getInstallationJWTTokenV1` (~99 tokens)

Return a JWT token used to authenticate requests against the specified
WordPress installation, including its MCP (Model Context Protocol) endpoint.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_showWordPressCoreVersionV1` (~93 tokens)

Show the WordPress core version for the specified installation, along with
known vulnerabilities affecting it.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_updateWordPressCoreV1` (~136 tokens)

Update the WordPress core for the specified installation (minor update or a
specific version).

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

This operation is asynchronous: a successful response only means the update
job has been queued.

Input parameters:

- `minor` (boolean): Update the minor version only.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter
- `version` (string): Update to a specific WordPress core version.

### `hosting_purgeLiteSpeedCacheV1` (~87 tokens)

Purge the LiteSpeed Cache for the specified WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_showLiteSpeedCacheStatusV1` (~87 tokens)

Show the LiteSpeed Cache status for the specified WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_createLoginLinksV1` (~84 tokens)

Create temporary auto-login links for the specified WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_showMaintenanceStatusV1` (~84 tokens)

Show the maintenance mode status for the specified WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_toggleMaintenanceModeV1` (~115 tokens)

Enable or disable maintenance mode for the specified WordPress installation,
based on the `enabled` flag.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `enabled` (boolean, required): Enable (true) or disable (false) maintenance mode for the WordPress installation.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_showMemcachedObjectCacheStatusV1` (~90 tokens)

Show the Memcached object cache status for the specified WordPress
installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_toggleMemcachedObjectCacheV1` (~124 tokens)

Activate or deactivate the Memcached object cache for the specified WordPress
installation, based on the `enabled` flag.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `enabled` (boolean, required): Activate (true) or deactivate (false) the Memcached object cache for the WordPress installation.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_activateWordPressPluginV1` (~116 tokens)

Activate an installed plugin on a WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

This operation is asynchronous: a successful response only means the activation
job has been queued.

Input parameters:

- `plugin` (string, required): Slug of the installed plugin to activate.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_deactivateWordPressPluginV1` (~119 tokens)

Deactivate an installed plugin on a WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

This operation is asynchronous: a successful response only means the
deactivation job has been queued.

Input parameters:

- `plugin` (string, required): Slug of the installed plugin to deactivate.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_installWordPressPluginsV1` (~161 tokens)

Install one or more plugins on an existing WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id`
field). Use GET /api/hosting/v1/wordpress/plugins to discover the plugin
slugs available for installation.

This operation is asynchronous: a successful response only means the install
job has been queued, not that the plugins are ready.

Input parameters:

- `plugins` (array, required): Plugin slugs to install. Use GET /api/hosting/v1/wordpress/plugins to discover available slugs.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_listAvailableWordPressPluginsV1` (~91 tokens)

List plugins recommended for installation on a WordPress installation that are
not yet installed.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_listInstalledWordPressPluginsV1` (~105 tokens)

List plugins installed on a WordPress installation, including their status,
available updates and known vulnerabilities.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `category` (string): Filter installed plugins by category.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_searchWordPressPluginsV1` (~72 tokens)

Search the WordPress.org plugin directory for plugins available to install.

Use the returned `slug` values with
POST /api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install.

Input parameters:

- `search` (string, required): Search term to match against plugin names. Minimum 3 characters.

### `hosting_listSuggestedWordPressPluginsV1` (~66 tokens)

List curated plugin suggestions grouped by website type.

Use the returned `slug` values with
POST /api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install.

Input parameters:

- `order_id` (integer): Optionally scope suggestions to a specific order.

### `hosting_checkIfWooCommerceIsInstalledV1` (~55 tokens)

Check whether WooCommerce is installed on any WordPress installation of a
domain. Optionally filter by domain to scope the check.

Input parameters:

- `domain` (string): Filter by domain name (exact match)

### `hosting_uninstallWordPressPluginsV1` (~119 tokens)

Uninstall one or more plugins from a WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

This operation is asynchronous: a successful response only means the uninstall
job has been queued.

Input parameters:

- `plugins` (array, required): Slugs of the installed plugins to uninstall.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_updateHostingerWordPressPluginV1` (~128 tokens)

Update a Hostinger plugin to its latest version on a WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

This operation is asynchronous: a successful response only means the update job
has been queued.

Input parameters:

- `slug` (string, required): Slug of the Hostinger plugin to update to its latest version.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_updateWordPressPluginsV1` (~127 tokens)

Update one or more installed plugins to their latest version on a WordPress
installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

This operation is asynchronous: a successful response only means the update job
has been queued.

Input parameters:

- `plugins` (array, required): Slugs of the installed plugins to update to their latest version.
- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_activateWordPressThemeV1` (~116 tokens)

Activate an installed theme on a WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

This operation is asynchronous: a successful response only means the activation
job has been queued.

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `theme` (string, required): Slug of the installed theme to activate.
- `username` (string, required): username parameter

### `hosting_installWordPressThemeV1` (~316 tokens)

Install a theme on an existing WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id`
field).

When the theme is one of the Hostinger themes (hostinger-blog,
hostinger-affiliate-theme, hostinger-ai-theme), the optional `palette`,
\`layout`, and `font` fields are forwarded to the custom installer (defaults:
palette1, layout1, default). For any other theme they are ignored.

This operation is asynchronous: a successful response only means the install
job has been queued, not that the theme is ready.

Input parameters:

- `font` (string): Font identifier. Only applied when the theme is a Hostinger theme; the default is used when omitted.
- `layout` (string): Layout identifier. Only applied when the theme is a Hostinger theme; the default is used when omitted.
- `palette` (string): Palette identifier. Only applied when the theme is a Hostinger theme; the default is used when omitted.
- `software` (string, required): WordPress installation (software) identifier
- `theme` (string, required): Slug of the theme to install. Hostinger theme slugs (hostinger-blog, hostinger-affiliate-theme, hostinger-ai-theme) trigger the custom installer and forward the optional palette/layout/font fields; a…
- `username` (string, required): username parameter

### `hosting_listInstalledWordPressThemesV1` (~93 tokens)

List themes installed on a WordPress installation, including their status,
available updates and known vulnerabilities.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `username` (string, required): username parameter

### `hosting_listWordPressThemesV1` (~78 tokens)

List WordPress themes available to install.

Use the returned `slug` values with
POST /api/hosting/v1/accounts/{username}/wordpress/{software}/themes/install.

Input parameters:

- `order_id` (integer): Optionally scope themes to a specific order.
- `search` (string): Search term to match against theme names.

### `hosting_uninstallWordPressThemesV1` (~119 tokens)

Uninstall one or more themes from a WordPress installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

This operation is asynchronous: a successful response only means the uninstall
job has been queued.

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `themes` (array, required): Slugs of the installed themes to uninstall.
- `username` (string, required): username parameter

### `hosting_updateWordPressThemesV1` (~127 tokens)

Update one or more installed themes to their latest version on a WordPress
installation.

Provide the WordPress installation (software) identifier in the path. It can
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).

This operation is asynchronous: a successful response only means the update job
has been queued.

Input parameters:

- `software` (string, required): WordPress installation (software) identifier
- `themes` (array, required): Slugs of the installed themes to update to their latest version.
- `username` (string, required): username parameter

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/hostinger-hostinger-api-mcp/hostinger-api-mcp#diagnostics

## Score history

- 2026-08-03: 46
- 2026-08-02: 76
- 2026-08-01: 21
- 2026-07-31: 21
- 2026-07-30: 6
- 2026-07-28: 6
- 2026-07-27: 6

## Links

- npm package: https://www.npmjs.com/package/hostinger-api-mcp
- Socket report: https://socket.dev/npm/package/hostinger-api-mcp
- Repository: https://github.com/hostinger/api-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/hostinger-hostinger-api-mcp/hostinger-api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/hostinger-hostinger-api-mcp/hostinger-api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/hostinger-hostinger-api-mcp/hostinger-api-mcp
