logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

unified-platform-gateway-mcp

Centralized access point for interacting with Hostinger services, encompassing capabilities for automated billing operations, domain lifecycle management, DNS record manipulation, and Virtual Private Server (VPS) administration via a Model Context Protocol (MCP) facade.

Author

unified-platform-gateway-mcp logo

hostinger

MIT License

Quick Info

GitHub GitHub Stars 35
NPM Weekly Downloads 35
Tools 1
Last Updated 2026-02-19

Tags

mcphostingerapimcp serverapi mcptools hostinger

Hostinger Unified Management Protocol Server (MCP)

This service functions as an MCP endpoint to orchestrate administrative tasks against the core Hostinger infrastructure APIs.

System Requirements

  • Execution environment requires Node.js, version 24 or newer.

To acquire Node.js, please visit the official distribution site. Package managers like Homebrew or Chocolatey are also viable installation paths.

We strongly suggest leveraging NVM (Node Version Manager) for simplified version control. Installation via NVM can be achieved with:

nvm install v24
nvm use v24

Deployment Procedure

Install the MCP server globally using your preferred package manager:

# Using npm
npm install -g hostinger-api-mcp

# Using yarn
yarn global add hostinger-api-mcp

# Using pnpm
pnpm add -g hostinger-api-mcp

Version Refreshment

To bring the server installation to the latest iteration, execute the corresponding upgrade command:

# npm upgrade
npm update -g hostinger-api-mcp

# yarn upgrade
yarn global upgrade hostinger-api-mcp

# pnpm upgrade
pnpm update -g hostinger-api-mcp

Environmental Configuration Variables

Server runtime behavior is tunable via the following environment settings: - DEBUG: Boolean flag to toggle verbose logging (Default: false). - API_TOKEN: Secret credential required for authorization header transmission.

Operational Usage Scenarios

Configuration Schema for AI Agents (e.g., Claude, Cursor)

{
    "mcpServers": {
        "hostinger-api": {
            "command": "hostinger-api-mcp",
            "env": {
                "DEBUG": "false",
                "API_TOKEN": "YOUR API TOKEN"
            }
        }
    }
}

Communication Modalities

The gateway supports two distinct communication protocols for context exchange:

Standard Input/Output (I/O) Transport

This is the default mechanism, facilitating direct local process streaming.

Streamable HTTP Transport

Enables bi-directional communication channels established over HTTP streams.

# Default configuration: listens on localhost port 8100
hostinger-api-mcp --http

# Custom network binding
hostinger-api-mcp --http --host 0.0.0.0 --port 8150

Command Line Interface Flags

Options:
  --http           Activate HTTP streaming modality
  --stdio          Engage Server-Sent Events transport (the default)
  --host {host}    Specify the listening interface (Default: 127.0.0.1)
  --port {port}    Define the network port for binding (Default: 8100)
  --help           Display this assistance message

Utilization as an MCP Service Provider

This daemon adheres to the Model Context Protocol specification, making it consumable by any compatible client.

Example of initiating a connection using HTTP streaming transport:

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

// Construct the HTTP communication channel
const transport = new StreamableHTTPClientTransport({
  url: "http://localhost:8100/",
  headers: {
    "Authorization": `Bearer ${process.env.API_TOKEN}`
  }
});

// Initialize the client context
const client = new Client({
  name: "my-client",
  version: "1.0.0"
}, {
  capabilities: {}
});

await client.connect(transport);

// Query for available functional modules
const { tools } = await client.listTools();
console.log("Exposed functionalities:", tools);

// Invoke a specific tool
const result = await client.callTool({
  name: "billing_getCatalogItemListV1",
  arguments: { category: "DOMAIN" }
});
console.log("Operation outcome:", result);

Available Functionalities (Tools)

This service exposes the following operational endpoints:

billing_getCatalogItemListV1

Fetches purchasable catalog entries.

Note: Monetary values are presented as integers representing cents (e.g., 17.99 USD becomes 1799). This is vital for price discovery prior to commitment.

  • Method: GET
  • Path: /api/billing/v1/catalog

Arguments:

  • category: Segmentation filter for catalog entries.
  • name: Pattern matching for item names (wildcard * supported, e.g., .COM*).

billing_createServiceOrderV1

Initiates a service procurement transaction.

STATUS: DEPRECATED

For domain acquisitions, refer to POST /api/domains/v1/portfolio. For VPS acquisition, refer to POST /api/vps/v1/virtual-machines.

Order finalization requires a valid payment identifier and a list of catalog items with quantities. Discount vouchers can be applied. All transactions executed here mandate automatic service renewal settings.

Be advised that credit_card transactions may trigger secondary verification steps, potentially delaying provisioning. Alternative payment instruments are suggested to mitigate this risk.

  • Method: POST
  • Path: /api/billing/v1/orders

Arguments:

  • payment_method_id: Mandatory identifier for payment source.
  • items: Mandatory payload detailing ordered items.
  • coupons: Optional array of applicable discount codes.

billing_setDefaultPaymentMethodV1

Designates a primary payment instrument for future account charges.

This establishes the default financial resource for subsequent transactions.

  • Method: POST
  • Path: /api/billing/v1/payment-methods/{paymentMethodId}

Arguments:

  • paymentMethodId: The identifier of the method to elevate to default status (Mandatory).

billing_deletePaymentMethodV1

Eradicates a registered payment instrument from the user's profile.

This function is for housekeeping of obsolete payment details.

  • Method: DELETE
  • Path: /api/billing/v1/payment-methods/{paymentMethodId}

Arguments:

  • paymentMethodId: The ID referencing the method slated for removal (Mandatory).

billing_getPaymentMethodListV1

Retrieves all active payment facilities accessible for new service acquisition.

To incorporate a new payment method, users must utilize the hPanel interface. This provides the necessary context for transaction setup.

  • Method: GET
  • Path: /api/billing/v1/payment-methods

billing_cancelSubscriptionV1

Terminates an active service agreement, ceasing recurring charges.

Invoke this to permanently cease service provisioning.

  • Method: DELETE
  • Path: /api/billing/v1/subscriptions/{subscriptionId}

Arguments:

  • subscriptionId: Identifier of the commitment to be terminated (Mandatory).

billing_getSubscriptionListV1

Fetches an enumeration of all currently managed service subscriptions.

Used for oversight of active resources and their billing lifecycle.

  • Method: GET
  • Path: /api/billing/v1/subscriptions

DNS_getDNSSnapshotV1

Retrieves the historical configuration content of a specific DNS zone snapshot.

Enables forensic examination of prior zone states.

  • Method: GET
  • Path: /api/dns/v1/snapshots/{domain}/{snapshotId}

Arguments:

  • domain: The target domain name (Required).
  • snapshotId: Identifier for the specific backup point (Required).

DNS_getDNSSnapshotListV1

Fetches available historical snapshots for a designated domain's DNS zone.

Provides accessible points for potential rollback.

  • Method: GET
  • Path: /api/dns/v1/snapshots/{domain}

Arguments:

  • domain: The domain under scrutiny (Required).

DNS_restoreDNSSnapshotV1

Reverts the live DNS zone configuration to match a selected snapshot's state.

This action implements a system rollback for the domain's resolution settings.

  • Method: POST
  • Path: /api/dns/v1/snapshots/{domain}/{snapshotId}/restore

Arguments:

  • domain: Target domain identifier (Required).
  • snapshotId: The specific snapshot to enforce (Required).

DNS_getDNSRecordsV1

Retrieves the currently active resource records (RRs) for a specified domain.

Used for current configuration auditing and verification.

  • Method: GET
  • Path: /api/dns/v1/zones/{domain}

Arguments:

  • domain: The domain whose records are being queried (Required).

DNS_updateDNSRecordsV1

Applies modifications to the DNS records set for the active domain.

If overwrite is set to true, all pre-existing records matching name/type are purged before new records are inserted. Otherwise, TTL values are adjusted, and new records are appended. This is the primary method for altering domain resolution paths.

  • Method: PUT
  • Path: /api/dns/v1/zones/{domain}

Arguments:

  • domain: The domain being modified (Required).
  • overwrite: Boolean flag dictating replacement versus additive update strategy (Required).
  • zone: The complete set of new or modified DNS records payload (Required).

DNS_deleteDNSRecordsV1

Removes specific entries from the domain's DNS zone file.

Filtering criteria (name, type) can be supplied to target deletion. Multiple filter sets are permissible in one invocation. For granular deletion among identical records, investigate the record update endpoint. This is utilized for precise cleanup of zone content.

  • Method: DELETE
  • Path: /api/dns/v1/zones/{domain}

Arguments:

  • domain: The domain housing the records targeted for elimination (Required).

DNS_resetDNSRecordsV1

Reverts the DNS zone to its system-default set of records.

This immediately restores foundational internet connectivity records.

  • Method: POST
  • Path: /api/dns/v1/zones/{domain}/reset

Arguments:

  • domain: Target domain identifier (Required).
  • sync: Flag to mandate synchronous processing of the reset operation.
  • reset_email_records: Flag to explicitly include or exclude reset of MX/TXT records related to mail service.
  • whitelisted_record_types: Enumeration of record types that should be preserved during the reset procedure.

DNS_validateDNSRecordsV1

Pre-flight check on a proposed set of DNS records for a domain.

Success is signaled by a 200 HTTP status. Validation failure results in a 422 error code. This acts as a safeguard against configuration errors before live application.

  • Method: POST
  • Path: /api/dns/v1/zones/{domain}/validate

Arguments:

  • domain: The domain under validation (Required).
  • overwrite: Specifies if proposed records should replace or augment existing ones.
  • zone: The payload of resource records to be checked (Required).

domains_checkDomainAvailabilityV1

Determines the registration status for one or more proposed domain names across specified TLDs.

Multiple Top-Level Domains can be evaluated concurrently. Setting with_alternatives to true, when checking a single TLD, yields suggestions for similar names. TLDs must exclude the leading period (e.g., com, net). Note: This function is subject to a throttle limit of 10 queries per minute. This is essential for preliminary registration screening.

  • Method: POST
  • Path: /api/domains/v1/availability

Arguments:

  • domain: The base name part of the domain (Required).
  • tlds: A list defining the TLD extensions to check (Required).
  • with_alternatives: Boolean flag to request name suggestions.

domains_getDomainForwardingV1

Fetches the current URL redirection settings configured for a domain.

Inspects established web forwarding rules.

  • Method: GET
  • Path: /api/domains/v1/forwarding/{domain}

Arguments:

  • domain: The domain whose forwarding configuration is requested (Required).

domains_deleteDomainForwardingV1

Removes any existing URL forwarding rule applied to a domain.

Clears redirection policies.

  • Method: DELETE
  • Path: /api/domains/v1/forwarding/{domain}

Arguments:

  • domain: The domain associated with the forwarding rule to be purged (Required).

domains_createDomainForwardingV1

Establishes a new URL redirection setting for a domain.

Configures the domain to point web traffic to a specified target URL.

  • Method: POST
  • Path: /api/domains/v1/forwarding

Arguments:

  • domain: The domain name to receive the redirect (Required).
  • redirect_type: The HTTP status code type for the redirect (e.g., 301, 302) (Required).
  • redirect_url: The destination address for the traffic forwarding (Required).

domains_enableDomainLockV1

Activates the registrar lock mechanism on a domain.

This security measure prevents unauthorized transfers to external registrars unless explicitly disabled. Use this to safeguard domain ownership.

  • Method: PUT
  • Path: /api/domains/v1/portfolio/{domain}/domain-lock

Arguments:

  • domain: The target domain for locking (Required).

domains_disableDomainLockV1

Deactivates the registrar lock feature on a domain.

Required prerequisite before initiating a registrar transfer request. Prepare the domain for potential external migration.

  • Method: DELETE
  • Path: /api/domains/v1/portfolio/{domain}/domain-lock

Arguments:

  • domain: The domain name to be unlocked (Required).

domains_getDomainDetailsV1

Retrieves an exhaustive data structure detailing the configuration and status of a specific domain asset.

Provides deep insight into the domain's current state.

  • Method: GET
  • Path: /api/domains/v1/portfolio/{domain}

Arguments:

  • domain: The domain identifier for which details are requested (Required).

domains_getDomainListV1

Returns a complete inventory of all domain assets registered under the account.

Comprehensive portfolio view of managed domains.

  • Method: GET
  • Path: /api/domains/v1/portfolio

domains_purchaseNewDomainV1

Executes the process of new domain name registration and provisioning.

Should the automated registration phase encounter failure, manual intervention via hPanel is necessary to check status. If a payment identifier is omitted, the account's default financial selection will be employed. WHOIS contact records default to account settings if not supplied; ensure the necessary TLD-specific contact information is pre-registered. Certain TLDs mandate the inclusion of additional_details for validation completion. This is the entry point for acquiring novel domain names.

  • Method: POST
  • Path: /api/domains/v1/portfolio

Arguments:

  • domain: The fully qualified domain name sought (Required).
  • item_id: The specific catalog identifier corresponding to the desired price point (Required).
  • payment_method_id: Identifier for payment; defaults to primary if absent.
  • domain_contacts: Structured data for registrant and administrative contacts.
  • additional_details: TLD-specific supplemental data required for registration.
  • coupons: Optional discount vouchers applicable to the purchase.

domains_enablePrivacyProtectionV1

Activates the WHOIS privacy feature for the specified domain.

This shields the domain owner's personal contact data from public directory listings. Shields registrant information from public disclosure.

  • Method: PUT
  • Path: /api/domains/v1/portfolio/{domain}/privacy-protection

Arguments:

  • domain: The domain name to protect (Required).

domains_disablePrivacyProtectionV1

Deactivates the WHOIS privacy feature for the domain.

Resultantly, the owner's contact information becomes visible in public WHOIS lookups. Reverses the privacy shielding, making contact data public.

  • Method: DELETE
  • Path: /api/domains/v1/portfolio/{domain}/privacy-protection

Arguments:

  • domain: The domain name undergoing privacy deactivation (Required).

domains_updateDomainNameserversV1

Assigns a new set of nameservers to govern the specified domain's delegation.

Caution: Incorrect nameserver assignments can lead to DNS resolution failure or complete domain inaccessibility. This function directs domain traffic to specified DNS hosting providers.

  • Method: PUT
  • Path: /api/domains/v1/portfolio/{domain}/nameservers

Arguments:

  • domain: The domain identity being re-delegated (Required).
  • ns1: Primary nameserver address (Required).
  • ns2: Secondary nameserver address (Required).
  • ns3: Tertiary nameserver address (Optional).
  • ns4: Quaternary nameserver address (Optional).

domains_getWHOISProfileV1

Fetches the detailed contact structure associated with a given WHOIS profile identifier.

View the specific contact information set referenced by an ID.

  • Method: GET
  • Path: /api/domains/v1/whois/{whoisId}

Arguments:

  • whoisId: The unique identifier for the contact profile (Required).

domains_deleteWHOISProfileV1

Permanently removes a stored WHOIS contact profile from the account records.

Used for cleanup of stale or unused contact information templates.

  • Method: DELETE
  • Path: /api/domains/v1/whois/{whoisId}

Arguments:

  • whoisId: The identifier of the profile to be eradicated (Required).

domains_getWHOISProfileListV1

Retrieves a list of all saved WHOIS contact profiles.

Optionally filters the results based on a specific TLD association. View all pre-configured contact templates available for use.

  • Method: GET
  • Path: /api/domains/v1/whois

Arguments:

  • tld: Filter list to only show profiles valid for this TLD (omit the leading dot).

domains_createWHOISProfileV1

Registers a new structured contact profile for domain registration purposes.

This profile must specify the TLD context, location, entity type, and core contact details. Creates reusable contact templates for future domain acquisitions.

  • Method: POST
  • Path: /api/domains/v1/whois

Arguments:

  • tld: The TLD this profile is intended for (e.g., com) (Required).
  • country: ISO 3166 two-letter code for the jurisdiction (Required).
  • entity_type: Declaration of the legal structure (e.g., Individual, Corporation) (Required).
  • tld_details: TLD-specific registration metadata.
  • whois_details: Core contact information (names, addresses, etc.) (Required).

domains_getWHOISProfileUsageV1

Determines which registered domains are currently utilizing a specified WHOIS contact profile.

Audits the application of a specific contact template across the domain registry.

  • Method: GET
  • Path: /api/domains/v1/whois/{whoisId}/usage

Arguments:

  • whoisId: The profile identifier being checked for usage (Required).

reach_deleteAContactV1

Irreversibly purges an individual contact entry from the email marketing database, identified by its unique UUID.

This constitutes a permanent removal from all mailing lists.

  • Method: DELETE
  • Path: /api/reach/v1/contacts/{uuid}

Arguments:

  • uuid: The unique universal identifier for the contact record slated for deletion (Required).

reach_listContactGroupsV1

Retrieves the complete roster of defined organizational groupings (groups) within the contact management system.

This provides context for structuring audience segments.

  • Method: GET
  • Path: /api/reach/v1/contacts/groups

reach_listContactsV1

Fetches a paginated dataset of contacts, optionally restricted by group affiliation or current subscription status.

Returns condensed contact details. Filter parameters allow for targeted audience retrieval.

  • Method: GET
  • Path: /api/reach/v1/contacts

Arguments:

  • group_uuid: UUID used to restrict results to members of a specific group.
  • subscription_status: Filter based on the opt-in/opt-out state of communications.
  • page: Index specifying the result set page number to retrieve.

reach_createANewContactV1

Registers a fresh subscriber entry into the email marketing platform.

Accepts essential details (email, name, surname). Assignment to specified groups and annotation with notes are optional. Upon successful creation, the contact is automatically opted-in for future correspondence. Adds a new entity to the outreach database.

  • Method: POST
  • Path: /api/reach/v1/contacts

Arguments:

  • email: The primary email address for the contact (Required).
  • name: First name of the contact.
  • surname: Last name of the contact.
  • group_uuids: Identifiers for groups the contact should immediately join.
  • note: Any supplementary internal commentary on the contact record.

VPS_getDataCenterListV1

Retrieves a comprehensive catalogue of all physical infrastructure locations available for Virtual Machine deployment.

Informs provisioning decisions regarding geographical deployment.

  • Method: GET
  • Path: /api/vps/v1/data-centers

VPS_getProjectContainersV1

Lists the operational status and runtime details of every container orchestrated by a named Docker Compose project on a specified VPS.

This enumeration includes current operational state, port mappings, and resource configurations for each service instance within the project scope. Essential for granular health monitoring of component services.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/containers

Arguments:

  • virtualMachineId: Unique identifier for the host machine (Required).
  • projectName: The designated name of the Docker Compose structure; restricted to alphanumeric, hyphen, and underscore characters (Required).

VPS_getProjectContentsV1

Fetches the entirety of a Docker Compose project's definition, including the docker-compose.yml file content, associated metadata, and deployment status.

Provides a full configuration audit trail and current operational posture for the defined project. Facilitates inspection of the project definition file and overall health check.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}

Arguments:

  • virtualMachineId: The host VPS identifier (Required).
  • projectName: The identifier for the Docker Compose set; restricted characters apply (Required).

VPS_deleteProjectV1

Executes a total teardown of a Docker Compose project on the host VPS, encompassing stopping all containers and purging associated network fabric and storage volumes.

Warning: This action results in permanent, non-recoverable data loss for the project's artifacts. Use this when absolute resource reclamation is necessary.

  • Method: DELETE
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/down

Arguments:

  • virtualMachineId: The target VPS identifier (Required).
  • projectName: The name of the Docker Compose project to dismantle (Required).

VPS_getProjectListV1

Retrieves a summary roster of all Docker Compose projects currently managed on the specified VPS.

This output includes project names, statuses, file paths, and container summaries (excluding performance statistics). For detailed container metrics, utilize the 'Get project containers' method. Provides a high-level inventory of containerized workloads on the instance.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker

Arguments:

  • virtualMachineId: The host VPS identifier (Required).

VPS_createNewProjectV1

Deploys a new Docker Compose project onto the VPS, sourced either from inline YAML content or a remote URL.

If a URL points to a GitHub repository (e.g., https://github.com/[user]/[repo]), the system automatically seeks the docker-compose.yml in the main branch. Any other URL must serve the YAML file content directly. If a project name conflict exists, the existing deployment will be superseded by the new definition. Provisions a new containerized environment.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker

Arguments:

  • virtualMachineId: The host VPS identifier (Required).
  • project_name: The desired name for the Docker Compose project (Required).
  • content: Source specification: a URL pointing to the compose file, a GitHub repo link, or raw YAML text (Required).
  • environment: A map of environment variables to inject into the project containers.

VPS_getProjectLogsV1

Aggregates and returns the most recent log entries emitted across all services composing a specified Docker project.

This response encompasses the last 300 lines of output for every container, time-stamped and grouped by service name. Crucial for unified debugging and rapid issue tracing across the application stack.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/logs

Arguments:

  • virtualMachineId: The identifier of the hosting VPS (Required).
  • projectName: The Docker Compose project identifier (Required).

VPS_restartProjectV1

Orchestrates a controlled restart of all dependent services within a Docker Compose project, respecting established service startup order.

This refreshes containers while ensuring data persistence via volume preservation. Apply this to enforce configuration updates or recover from transient service stalls.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/restart

Arguments:

  • virtualMachineId: The hosting VPS ID (Required).
  • projectName: The project name defining the services scope (Required).

VPS_startProjectV1

Initiates the execution of all services within a Docker Compose project that are currently in a stopped state.

Containers are brought online following dependency logic defined in the configuration file. Use this to resume operations after an intentional halt or system recovery.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/start

Arguments:

  • virtualMachineId: The host VPS ID (Required).
  • projectName: The project identifier (Required).

VPS_stopProjectV1

Gracefully terminates all actively running services within a Docker Compose project, maintaining container state and persistent volumes.

Shutdown sequence follows reverse dependency rules. This provides a method for temporary project suspension without data eradication.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/stop

Arguments:

  • virtualMachineId: The host VPS ID (Required).
  • projectName: The project identifier (Required).

VPS_updateProjectV1

Applies updates to a Docker Compose project by fetching the newest container images and redeploying containers using the revised configuration.

Data volumes are retained throughout this upgrade process. This is the mechanism for deploying application upgrades or applying changes embedded in the compose specification.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/update

Arguments:

  • virtualMachineId: The host VPS ID (Required).
  • projectName: The project identifier undergoing modification (Required).

VPS_activateFirewallV1

Applies a pre-configured firewall entity to a specified virtual machine.

Note: A VPS can only have one active firewall simultaneously; activation of a new one implicitly deactivates any prior assignment. Enables network protection policies on the instance.

  • Method: POST
  • Path: /api/vps/v1/firewall/{firewallId}/activate/{virtualMachineId}

Arguments:

  • firewallId: The identifier of the firewall configuration to apply (Required).
  • virtualMachineId: The target VPS identifier (Required).

VPS_deactivateFirewallV1

Removes an active firewall policy from a specified virtual machine.

Disables all network security rules associated with that firewall ID on the instance. Stops the application of firewall protection.

  • Method: POST
  • Path: /api/vps/v1/firewall/{firewallId}/deactivate/{virtualMachineId}

Arguments:

  • firewallId: The ID of the firewall to disengage (Required).
  • virtualMachineId: The target VPS identifier (Required).

VPS_getFirewallDetailsV1

Retrieves the full rule set and associated metadata for a firewall identified by its unique ID.

Examines the specific security blueprint defined for firewall operations.

  • Method: GET
  • Path: /api/vps/v1/firewall/{firewallId}

Arguments:

  • firewallId: The identifier of the desired firewall configuration (Required).

VPS_deleteFirewallV1

Permanently erases a firewall configuration entity.

If the deleted firewall was active on any VPS, it is automatically deactivated on those machines. Used to retire obsolete or superseded security policies.

  • Method: DELETE
  • Path: /api/vps/v1/firewall/{firewallId}

Arguments:

  • firewallId: The identifier of the firewall to remove (Required).

VPS_getFirewallListV1

Fetches a list of all firewall configurations currently defined within the system.

Provides an overview of all existing network security templates.

  • Method: GET
  • Path: /api/vps/v1/firewall

Arguments:

  • page: Pagination index for fetching large result sets.

VPS_createNewFirewallV1

Establishes a new, empty firewall configuration entity, requiring a name for identification.

New firewalls, by default, implement a deny-all incoming traffic policy until rules are added. Initializes a new security boundary for potential application.

  • Method: POST
  • Path: /api/vps/v1/firewall

Arguments:

  • name: A descriptive label for the new firewall instance (Required).

VPS_updateFirewallRuleV1

Modifies an existing, specific rule within a designated firewall structure.

Crucially, any VPS currently using this firewall will transition to a de-synchronized state, requiring a manual sync operation to enforce the updated rule. Modify specific ingress/egress parameters for an existing rule.

  • Method: PUT
  • Path: /api/vps/v1/firewall/{firewallId}/rules/{ruleId}

Arguments:

  • firewallId: The firewall containing the rule (Required).
  • ruleId: The specific rule identifier within the firewall (Required).
  • protocol: Network protocol specification (e.g., TCP, UDP) (Required).
  • port: The target port number or range (e.g., 80, 1024:2048) (Required).
  • source: Rule direction/type indicator (Required).
  • source_detail: Specific IP address, CIDR notation, or 'any' source designator (Required).

VPS_deleteFirewallRuleV1

Removes a singular, identified rule from a specified firewall configuration.

Synchronization loss occurs for any actively attached VPS, necessitating a manual synchronization step to reflect the change. Retire a specific network access permission.

  • Method: DELETE
  • Path: /api/vps/v1/firewall/{firewallId}/rules/{ruleId}

Arguments:

  • firewallId: The firewall housing the rule (Required).
  • ruleId: The rule identifier to be purged (Required).

VPS_createFirewallRuleV1

Introduces a new acceptance or denial rule into a specified firewall policy.

Since the default posture is restrictive (blocking ingress), this function is critical for permitting necessary traffic. Synchronization is required for active VPSs. Adds a new security constraint or allowance to a policy set.

  • Method: POST
  • Path: /api/vps/v1/firewall/{firewallId}/rules

Arguments:

  • firewallId: The firewall to augment (Required).
  • protocol: Network protocol (e.g., ICMP, TCP) (Required).
  • port: The port specification (Required).
  • source: Rule classification (Required).
  • source_detail: Detailed source address specification (Required).

VPS_syncFirewallV1

Forces the immediate application of the current firewall configuration rules onto a designated virtual machine.

This is necessary if the firewall entity was modified (rules added/removed/changed) while attached to the VPS. Ensures the instance reflects the latest security posture.

  • Method: POST
  • Path: /api/vps/v1/firewall/{firewallId}/sync/{virtualMachineId}

Arguments:

  • firewallId: The firewall definition identifier (Required).
  • virtualMachineId: The VPS instance requiring configuration update (Required).

VPS_getPostInstallScriptV1

Retrieves the content and metadata for an automation script identified by its ID.

View the precise code of a specific post-installation task.

  • Method: GET
  • Path: /api/vps/v1/post-install-scripts/{postInstallScriptId}

Arguments:

  • postInstallScriptId: The unique identifier for the script resource (Required).

VPS_updatePostInstallScriptV1

Modifies the name or execution content of an existing post-installation automation script.

Updates the logic or label associated with a saved script.

  • Method: PUT
  • Path: /api/vps/v1/post-install-scripts/{postInstallScriptId}

Arguments:

  • postInstallScriptId: The script identifier to modify (Required).
  • name: The new descriptive name for the script (Required).
  • content: The updated script source code payload (Required).

VPS_deletePostInstallScriptV1

Removes a post-installation script from the user's available automation library.

Retires unused setup routines.

  • Method: DELETE
  • Path: /api/vps/v1/post-install-scripts/{postInstallScriptId}

Arguments:

  • postInstallScriptId: The script ID targeted for removal (Required).

VPS_getPostInstallScriptsV1

Fetches a list of all post-installation scripts currently stored under the user's account.

Review the complete collection of available automation routines for new deployments.

  • Method: GET
  • Path: /api/vps/v1/post-install-scripts

Arguments:

  • page: Pagination index for navigating the script list.

VPS_createPostInstallScriptV1

Registers a new script intended for execution immediately following a VPS installation.

The script content is persisted and set to be executable at /post_install, logging output to /post_install.log. Maximum size constraint is 48KB. Define new automation sequences for setup tasks.

  • Method: POST
  • Path: /api/vps/v1/post-install-scripts

Arguments:

  • name: The label assigned to the script (Required).
  • content: The executable body of the script (Required).

VPS_attachPublicKeyV1

Links one or more existing SSH public keys from the account inventory to a specific virtual machine.

Multiple keys can be associated with a single VPS for access control. Integrates specified SSH keys for secure access to the instance.

  • Method: POST
  • Path: /api/vps/v1/public-keys/attach/{virtualMachineId}

Arguments:

  • virtualMachineId: The target VPS identifier (Required).
  • ids: A collection of Public Key identifiers to link (Required).

VPS_deletePublicKeyV1

Removes a public key from the user's general account key repository.

Crucially: This action does not sever the association if the key is currently active on any running virtual machine. Clean up obsolete key material from the general SSH key vault.

  • Method: DELETE
  • Path: /api/vps/v1/public-keys/{publicKeyId}

Arguments:

  • publicKeyId: The ID of the SSH public key to be deleted from the account (Required).

VPS_getPublicKeysV1

Retrieves the complete collection of SSH public keys stored under the user's management.

Allows auditing of all keys available for VPS SSH access configuration.

  • Method: GET
  • Path: /api/vps/v1/public-keys

Arguments:

  • page: Pagination index for result navigation.

VPS_createPublicKeyV1

Registers a new SSH public key credential within the user's account for future use.

This key must be provided in standard OpenSSH public key format. Adds a new cryptographic credential for securing VPS logins.

  • Method: POST
  • Path: /api/vps/v1/public-keys

Arguments:

  • name: A descriptive title for the public key (Required).
  • key: The raw public key string (Required).

VPS_getTemplateDetailsV1

Fetches the comprehensive specifications for a specific operating system template.

Used to verify resource requirements or OS versioning before provisioning.

  • Method: GET
  • Path: /api/vps/v1/templates/{templateId}

Arguments:

  • templateId: The identifier for the OS template record (Required).

VPS_getTemplatesV1

Retrieves a listing of all available operating system images suitable for VPS deployment.

Provides the catalogue of OS choices for initial setup or recreation.

  • Method: GET
  • Path: /api/vps/v1/templates

VPS_getActionDetailsV1

Retrieves exhaustive status and contextual data pertaining to a single, specific operation executed on a VPS.

Provides forensic detail on past or in-progress VPS activities.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/actions/{actionId}

Arguments:

  • virtualMachineId: The host VPS identifier (Required).
  • actionId: The identifier for the specific logged operation (Required).

VPS_getActionsV1

Fetches a chronological sequence of significant operations executed against a specified virtual machine.

This log details events like power state changes, reconfigurations, or updates, including timestamps and completion status. Review the operational history of the VPS for auditing or diagnostic purposes.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/actions

Arguments:

  • virtualMachineId: The host VPS identifier (Required).
  • page: Pagination index for retrieving older action records.

VPS_getAttachedPublicKeysV1

Lists all SSH public keys currently authorized for access on a given virtual machine.

Shows which credentials have permission to connect via SSH.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/public-keys

Arguments:

  • virtualMachineId: The host VPS identifier (Required).
  • page: Pagination index for extensive key lists.

VPS_getBackupsV1

Retrieves a manifest of all existing backup points available for recovery of a specified VPS.

Shows recoverable states based on creation timestamp and associated ID.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/backups

Arguments:

  • virtualMachineId: The host VPS identifier (Required).
  • page: Pagination index for large backup archives.

VPS_restoreBackupV1

Initiates the process to roll back the entire state of a VPS to a previously saved backup image.

CRITICAL WARNING: All current data residing on the VPS will be permanently overwritten by the contents of the selected backup. Execute this procedure only when data restoration from a prior state is the desired outcome.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/backups/{backupId}/restore

Arguments:

  • virtualMachineId: The target VPS identifier (Required).
  • backupId: The identifier of the recovery image to deploy (Required).

VPS_setHostnameV1

Modifies the assigned hostname for the virtual machine.

Note: This operation does not automatically synchronize the corresponding PTR (reverse DNS) record. For external resolution, the domain's A/AAAA records must also be updated to point to the VPS IP address. Configures a custom network identity for the instance.

  • Method: PUT
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/hostname

Arguments:

  • virtualMachineId: The target VPS identifier (Required).
  • hostname: The desired new hostname string (Required).

VPS_resetHostnameV1

Reverts the hostname and associated PTR record of the VPS back to the system's default configuration.

Clears any custom name assignments.

  • Method: DELETE
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/hostname

Arguments:

  • virtualMachineId: The target VPS identifier (Required).

VPS_getVirtualMachineDetailsV1

Fetches a comprehensive data structure detailing the current configuration, status, resource allocation, and network details of a specific VPS.

Access deep technical specifications and operational status of the instance.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}

Arguments:

  • virtualMachineId: The identifier for the VPS being queried (Required).

VPS_getVirtualMachinesV1

Retrieves a summary list of all provisioned virtual machines associated with the account.

Provides an overview of all active and inactive VPS assets.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines

VPS_purchaseNewVirtualMachineV1

Provisions and finalizes the deployment of a brand new virtual machine instance.

If the automated initial provisioning fails for any reason, manual recovery via hPanel is required to finalize the setup. If no payment method is explicitly nominated, the account's preferred payment method will be automatically utilized. This is the primary action for launching new compute resources.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines

Arguments:

  • item_id: The required catalog identifier for the desired VPS specification (Required).
  • payment_method_id: Payment source identifier; falls back to default if omitted.
  • setup: Defines the initial setup configuration parameters (Required).
  • coupons: Optional list of discount codes applicable to the purchase.

VPS_getScanMetricsV1

Retrieves performance and threat detection statistics from the Monarx malware scanning agent installed on the VPS.

These metrics detail scan frequency, identified threats, and overall security efficacy provided by Monarx. Monitor the security posture and effectiveness of malware detection on the instance.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/monarx

Arguments:

  • virtualMachineId: The identifier of the VPS being scanned (Required).

VPS_installMonarxV1

Deploys the Monarx security scanner onto a designated virtual machine.

Monarx offers proactive malware defense capabilities for server environments. Installation enhances the VPS's protection layer against malicious software. Activates integrated malware surveillance on the VPS.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/monarx

Arguments:

  • virtualMachineId: The target VPS identifier for security agent installation (Required).

VPS_uninstallMonarxV1

Removes the Monarx malware scanning agent from the specified virtual machine.

If the agent is not currently resident, the request completes silently without error. Strips the malware scanning capability from the instance.

  • Method: DELETE
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/monarx

Arguments:

  • virtualMachineId: The target VPS identifier from which to remove the scanner (Required).

VPS_getMetricsV1

Fetches time-series performance data for the VPS over a specified historical window.

Includes resource consumption statistics: CPU utilization, RAM usage, I/O throughput, and network traffic volumes, alongside system uptime metrics. Essential for performance baseline establishment and capacity planning.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/metrics

Arguments:

  • virtualMachineId: The host VPS identifier (Required).
  • date_from: The starting timestamp for the metrics aggregation (Required).
  • date_to: The ending timestamp for the metrics aggregation (Required).

VPS_setNameserversV1

Assigns custom DNS resolver addresses to a specific virtual machine.

Improper configuration here can break the VPS's ability to resolve external domain names. Directs VPS network queries to specified DNS infrastructure.

  • Method: PUT
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/nameservers

Arguments:

  • virtualMachineId: The target VPS identifier (Required).
  • ns1: Primary nameserver address (Required).
  • ns2: Secondary nameserver address (Optional).
  • ns3: Tertiary nameserver address (Optional).

VPS_createPTRRecordV1

Registers or overwrites the reverse DNS lookup record (PTR) associated with a specific IP address assigned to the VPS.

This maps the IP back to a hostname via reverse lookup queries. Configures reverse DNS mapping for the specified IP address.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/ptr/{ipAddressId}

Arguments:

  • virtualMachineId: The host VPS identifier (Required).
  • ipAddressId: Identifier for the IP address subject to PTR change (Required).
  • domain: The fully qualified domain name to resolve to (Required).

VPS_deletePTRRecordV1

Deletes the existing PTR record linked to a specific IP address on the VPS.

Reverse DNS queries for that IP will subsequently fail to resolve to a hostname. Removes the reverse resolution mapping.

  • Method: DELETE
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/ptr/{ipAddressId}

Arguments:

  • virtualMachineId: The host VPS identifier (Required).
  • ipAddressId: The IP address identifier whose PTR record is to be removed (Required).

VPS_setPanelPasswordV1

Assigns or updates the administrative password for the integrated control panel, if the OS supports one.

If the VPS utilizes a non-panel OS image, this command is executed harmlessly. Password complexity must adhere to the standards defined for the recreation endpoint. Sets credentials for the management interface.

  • Method: PUT
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/panel-password

Arguments:

  • virtualMachineId: The target VPS identifier (Required).
  • password: The new panel access credential (Required).

VPS_startRecoveryModeV1

Activates a specialized rescue environment for the VPS, booting from a recovery disk image.

The existing primary disk will be mounted read-only at /mnt for data access. Initiates an emergency boot state for system diagnostics or repair.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/recovery

Arguments:

  • virtualMachineId: The target VPS identifier (Required).
  • root_password: A temporary, required password for root access within the recovery environment (Required).

VPS_stopRecoveryModeV1

Terminates the special recovery mode session and attempts a normal boot sequence for the VPS.

This operation is contingent on the VPS currently being in recovery mode; otherwise, it will fail. Restores the VPS to its standard operational state.

  • Method: DELETE
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/recovery

Arguments:

  • virtualMachineId: The target VPS identifier (Required).

VPS_recreateVirtualMachineV1

Performs a full, destructive OS reinstallation on the virtual machine, based on a specified template.

This process erases all existing data, including any current snapshots.

Password Compliance Directives

Root passwords are checked against known compromised credentials databases. Minimum requirements include: - Minimum length of 8 characters. - Inclusion of at least one uppercase character. - Inclusion of at least one lowercase character. - Inclusion of at least one numeral. - Must not be present in public breach datasets.

WARNING: This process irrevocably destroys all current data on the target VPS. Rebuilds the VPS from the ground up using a fresh OS image.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/recreate

Arguments:

  • virtualMachineId: The VPS instance ID to be rebuilt (Required).
  • template_id: The identifier for the OS image to deploy (Required).
  • password: The desired root password. A random one is generated if omitted. The generated password is never returned in the response.
  • panel_password: Password for panel-based OS setups. Ignored for non-panel images. Randomly generated if missing. Not returned in output.
  • post_install_script_id: Optional ID of a script to run post-reinstallation.

VPS_restartVirtualMachineV1

Performs a complete power cycle (stop then start) on the specified virtual machine.

If the VPS is already powered off, this command will function as a 'start' command. Standard reboot procedure for the instance.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/restart

Arguments:

  • virtualMachineId: The target VPS identifier (Required).

VPS_setRootPasswordV1

Updates the primary administrative password for the VPS root user.

Password criteria match those documented for the 'recreate virtual machine' operation. Changes the top-level administrator access credential.

  • Method: PUT
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/root-password

Arguments:

  • virtualMachineId: The target VPS identifier (Required).
  • password: The new root password string (Required).

VPS_setupPurchasedVirtualMachineV1

Initializes a newly procured VPS instance to an 'initial' operational state.

If configuration data is missing (e.g., data center ID), the operation will fail initialization checks. Configures and finalizes the deployment of a purchased server.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/setup

Arguments:

  • virtualMachineId: The identifier for the new VPS (Required).
  • template_id: The OS image ID to use for initial deployment (Required).
  • data_center_id: The physical location identifier for hosting (Required).
  • post_install_script_id: Optional ID linking a setup script.
  • password: Initial root password; random if omitted. Password is not echoed in response.
  • hostname: An optional override for the default hostname.
  • install_monarx: Flag to mandate Monarx installation (if supported by template).
  • enable_backups: Flag to activate the default weekly backup schedule.
  • ns1: Custom primary nameserver.
  • ns2: Custom secondary nameserver.
  • public_key: Flag indicating if an account SSH key should be associated.

VPS_getSnapshotV1

Retrieves the current state representation (snapshot) associated with the VPS.

View the latest captured image data for the instance.

  • Method: GET
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/snapshot

Arguments:

  • virtualMachineId: The host VPS identifier (Required).

VPS_createSnapshotV1

Generates a point-in-time capture of the VPS's current disk state and configuration.

This snapshot serves as a rollback point for future restoration or testing. It will supersede any pre-existing snapshot on the VPS. Captures the current live state for safety and rollback capability.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/snapshot

Arguments:

  • virtualMachineId: The VPS instance to snapshot (Required).

VPS_deleteSnapshotV1

Removes the existing snapshot resource associated with the specified virtual machine.

Frees up storage allocated to the snapshot data.

  • Method: DELETE
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/snapshot

Arguments:

  • virtualMachineId: The host VPS identifier whose snapshot is to be removed (Required).

VPS_restoreSnapshotV1

Reverts the VPS environment to the exact state captured in the specified snapshot.

This restores the operating system, files, and configuration as they existed at the snapshot time. Apply this to undo recent system modifications or recover from errors.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/snapshot/restore

Arguments:

  • virtualMachineId: The VPS instance to be reverted (Required).

VPS_startVirtualMachineV1

Powers on a virtual machine that is currently powered off.

If the VPS is already running, this command executes without effect. Energizes a stopped server instance.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/start

Arguments:

  • virtualMachineId: The identifier of the VPS to start (Required).

VPS_stopVirtualMachineV1

Powers down a running virtual machine in a controlled manner.

If the VPS is already halted, this command executes without effect. Shuts down an active server instance.

  • Method: POST
  • Path: /api/vps/v1/virtual-machines/{virtualMachineId}/stop

Arguments:

  • virtualMachineId: The identifier of the VPS to stop (Required).

See Also

`