Files
subdominio.clube67.com/api-1.yaml
T

7033 lines
220 KiB
YAML

openapi: 3.0.0
info:
title: Hostinger API
description: >-
# Overview
The Hostinger API provides a comprehensive set of endpoints that allow
developers
to interact with Hostinger's services programmatically.
This API enables you to manage various aspects of your Hostinger account.
The Hostinger API is a (mostly) RESTful API that uses standard HTTP methods
and status codes.
# Authentication
The Hostinger API uses tokens for authentication. To authenticate your
requests,
you need to include a valid bearer token in the Authorization header of your
HTTP requests:
```yaml
Authorization: Bearer YOUR_API_TOKEN
```
API tokens for individual users can be created and managed from
the [Account page](https://hpanel.hostinger.com/profile/api) of the
Hostinger Panel.
Tokens will have same permissions as the owning user.
Optionally, tokens can be set to expire after a certain period of time.
# Rate Limiting
To ensure fair usage and prevent abuse,
the API enforces rate limits on the number of requests that can be made
within a certain time period.
If you exceed the rate limit, you will receive a 429 Too Many Requests
response.
Rate limit headers are included in the response to help you manage your
requests.
Your IP address might get temporarily blocked if you exceed the rate limit
multiple times.
# Parameters
All requests sent to API must have the content type `application/json`.
`POST`, `PUT`, `PATCH` methods may include a JSON object in the request
body.
Documentation provides required structure and examples of the object.
Some endpoints require path parameters.
These parameters are included in the URL path and are marked with curly
braces.
# Pagination
Some endpoints return a large number of items.
To make these responses more manageable, the API uses pagination.
By default, the API returns50 items per page.
The page number can be specified using the `page` query parameter,
for example: `/api/vps/v1/public-keys?page=2`
# Errors
The Hostinger API uses standard HTTP status codes to indicate the success or
failure of a request.
In case of an error, the API will return a JSON response with an `error`
field,
containing a human-readable error message.
Error responses also contain a `correlation_id` field
which can be used to identify the request in case you need to contact
support.
# SDKs & Tools
To help you get started with the Hostinger API,we provide SDKs and tools in
various programming languages.
The usage & documentation for each SDK can be found in the respective
repositories:
- Ansible - https://github.com/hostinger/ansible-collection-hostinger
- CLI - https://github.com/hostinger/api-cli
- n8n node - https://github.com/hostinger/api-n8n-node
- MCP server - https://github.com/hostinger/api-mcp-server
- PHP - https://github.com/hostinger/api-php-sdk
- Python - https://github.com/hostinger/api-python-sdk
- Terraform - https://github.com/hostinger/terraform-provider-hostinger
- Node / TypeScript - https://github.com/hostinger/api-typescript-sdk
- Postman collection - https://www.postman.com/hostinger-api
- WHMCS module - https://github.com/hostinger/api-whmcs-plugin
# Change log
For information on the latest changes to the API,
please refer to the [change
log](https://github.com/hostinger/api/blob/main/CHANGELOG.md).
# Support
If you have any questions, feedback or feature requests,
please create an [issue](https://github.com/hostinger/api/issues)
or [discussion](https://github.com/hostinger/api/discussions) on the
repository.
For any support take a look at our [Github
Repository](https://github.com/hostinger/api/),
dedicated to the Hostinger API.
contact:
name: Hostinger
url: https://developers.hostinger.com
email: devs@hostinger.com
version: 0.11.7
x-scalar-sdk-installation:
- lang: Shell
description: Install official CLI tool. Examples and usage instructions can be
found in our [Github repository](https://github.com/hostinger/api-cli).
source: hapi vps vm list
- lang: PHP
description: Install official PHP SDK. Examples and usage instructions can be
found in our [Github
repository](https://github.com/hostinger/api-php-sdk).
source: composer require hostinger/api-php-sdk
- lang: Python
description: Install official Python SDK. Examples and usage instructions can be
found in our [Github
repository](https://github.com/hostinger/api-python-sdk).
source: pip install hostinger_api
- lang: Node
description: Install official Node / Typescript SDK. Examples and usage
instructions can be found in our [Github
repository](https://github.com/hostinger/api-typescript-sdk).
source: npm install hostinger-api-sdk
servers:
- url: https://developers.hostinger.com
description: Production API Server
paths:
/api/billing/v1/catalog:
get:
tags:
- "Billing: Catalog"
summary: Get catalog item list
description: >-
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.
operationId: billing_getCatalogItemListV1
parameters:
- $ref: "#/components/parameters/category"
- $ref: "#/components/parameters/name"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Billing.V1.Catalog.CatalogItemCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/billing/v1/payment-methods/{paymentMethodId}:
post:
tags:
- "Billing: Payment methods"
summary: Set default payment method
description: >-
Set the default payment method for your account.
Use this endpoint to configure the primary payment method for future
orders.
operationId: billing_setDefaultPaymentMethodV1
parameters:
- $ref: "#/components/parameters/paymentMethodId"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "Billing: Payment methods"
summary: Delete payment method
description: |-
Delete a payment method from your account.
Use this endpoint to remove unused payment methods from user accounts.
operationId: billing_deletePaymentMethodV1
parameters:
- $ref: "#/components/parameters/paymentMethodId"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/billing/v1/payment-methods:
get:
tags:
- "Billing: Payment methods"
summary: Get payment method list
description: >-
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.
operationId: billing_getPaymentMethodListV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Billing.V1.PaymentMethod.PaymentMethodCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/billing/v1/subscriptions:
get:
tags:
- "Billing: Subscriptions"
summary: Get subscription list
description: |-
Retrieve a list of all subscriptions associated with your account.
Use this endpoint to monitor active services and billing status.
operationId: billing_getSubscriptionListV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Billing.V1.Subscription.SubscriptionCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/billing/v1/subscriptions/{subscriptionId}/auto-renewal/disable:
delete:
tags:
- "Billing: Subscriptions"
summary: Disable auto-renewal
description: |-
Disable auto-renewal for a subscription.
Use this endpoint when disable auto-renewal for a subscription.
operationId: billing_disableAutoRenewalV1
parameters:
- $ref: "#/components/parameters/subscriptionId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Billing.V1.Subscription.SubscriptionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/billing/v1/subscriptions/{subscriptionId}/auto-renewal/enable:
patch:
tags:
- "Billing: Subscriptions"
summary: Enable auto-renewal
description: |-
Enable auto-renewal for a subscription.
Use this endpoint when enable auto-renewal for a subscription.
operationId: billing_enableAutoRenewalV1
parameters:
- $ref: "#/components/parameters/subscriptionId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Billing.V1.Subscription.SubscriptionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/dns/v1/snapshots/{domain}/{snapshotId}:
get:
tags:
- "DNS: Snapshot"
summary: Get DNS snapshot
description: |-
Retrieve particular DNS snapshot with contents of DNS zone records.
Use this endpoint to view historical DNS configurations for domains.
operationId: DNS_getDNSSnapshotV1
parameters:
- $ref: "#/components/parameters/domain"
- $ref: "#/components/parameters/snapshotId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/DNS.V1.Snapshot.SnapshotWithContentResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/dns/v1/snapshots/{domain}:
get:
tags:
- "DNS: Snapshot"
summary: Get DNS snapshot list
description: |-
Retrieve DNS snapshots for a domain.
Use this endpoint to view available DNS backup points for restoration.
operationId: DNS_getDNSSnapshotListV1
parameters:
- $ref: "#/components/parameters/domain"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/DNS.V1.Snapshot.SnapshotCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/dns/v1/snapshots/{domain}/{snapshotId}/restore:
post:
tags:
- "DNS: Snapshot"
summary: Restore DNS snapshot
description: |-
Restore DNS zone to the selected snapshot.
Use this endpoint to revert domain DNS to a previous configuration.
operationId: DNS_restoreDNSSnapshotV1
parameters:
- $ref: "#/components/parameters/domain"
- $ref: "#/components/parameters/snapshotId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/dns/v1/zones/{domain}:
get:
tags:
- "DNS: Zone"
summary: Get DNS records
description: >-
Retrieve DNS zone records for a specific domain.
Use this endpoint to view current DNS configuration for domain
management.
operationId: DNS_getDNSRecordsV1
parameters:
- $ref: "#/components/parameters/domain"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/DNS.V1.Zone.RecordCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
put:
tags:
- "DNS: Zone"
summary: Update DNS records
description: >-
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.
operationId: DNS_updateDNSRecordsV1
parameters:
- $ref: "#/components/parameters/domain"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/DNS.V1.Zone.UpdateRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "DNS: Zone"
summary: Delete DNS records
description: >-
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.
operationId: DNS_deleteDNSRecordsV1
parameters:
- $ref: "#/components/parameters/domain"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/DNS.V1.Zone.DestroyRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/dns/v1/zones/{domain}/reset:
post:
tags:
- "DNS: Zone"
summary: Reset DNS records
description: |-
Reset DNS zone to the default records.
Use this endpoint to restore domain DNS to original configuration.
operationId: DNS_resetDNSRecordsV1
parameters:
- $ref: "#/components/parameters/domain"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/DNS.V1.Zone.ResetRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/dns/v1/zones/{domain}/validate:
post:
tags:
- "DNS: Zone"
summary: Validate DNS records
description: >-
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.
operationId: DNS_validateDNSRecordsV1
parameters:
- $ref: "#/components/parameters/domain"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/DNS.V1.Zone.UpdateRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/v2/direct/verifications/active:
get:
tags:
- "Domain Access Verifier: Verifications"
summary: Get domain verifications
description: Retrieve a list of pending and completed domain verifications.
operationId: v2_getDomainVerificationsDIRECT
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/DomainAccessVerifier.V2.Verifications.ListRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/DomainAccessVerifier.V2.Verifications.ActiveVerific\
ationsCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/availability:
post:
tags:
- "Domains: Availability"
summary: Check domain availability
description: >-
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.
operationId: domains_checkDomainAvailabilityV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.Availability.AvailabilityRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.Availability.AvailabilityCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/forwarding/{domain}:
get:
tags:
- "Domains: Forwarding"
summary: Get domain forwarding
description: |-
Retrieve domain forwarding data.
Use this endpoint to view current redirect configuration for domains.
operationId: domains_getDomainForwardingV1
parameters:
- $ref: "#/components/parameters/domain"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.Forwarding.ForwardingResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "Domains: Forwarding"
summary: Delete domain forwarding
description: |-
Delete domain forwarding data.
Use this endpoint to remove redirect configuration from domains.
operationId: domains_deleteDomainForwardingV1
parameters:
- $ref: "#/components/parameters/domain"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/forwarding:
post:
tags:
- "Domains: Forwarding"
summary: Create domain forwarding
description: |-
Create domain forwarding configuration.
Use this endpoint to set up domain redirects to other URLs.
operationId: domains_createDomainForwardingV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.Forwarding.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.Forwarding.ForwardingResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/portfolio/{domain}/domain-lock:
put:
tags:
- "Domains: Portfolio"
summary: Enable domain lock
description: >-
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.
operationId: domains_enableDomainLockV1
parameters:
- $ref: "#/components/parameters/domain"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "Domains: Portfolio"
summary: Disable domain lock
description: >-
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.
operationId: domains_disableDomainLockV1
parameters:
- $ref: "#/components/parameters/domain"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/portfolio/{domain}:
get:
tags:
- "Domains: Portfolio"
summary: Get domain details
description: |-
Retrieve detailed information for specified domain.
Use this endpoint to view comprehensive domain configuration and status.
operationId: domains_getDomainDetailsV1
parameters:
- $ref: "#/components/parameters/domain"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.Domain.DomainExtendedResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/portfolio:
get:
tags:
- "Domains: Portfolio"
summary: Get domain list
description: |-
Retrieve all domains associated with your account.
Use this endpoint to view user's domain portfolio.
operationId: domains_getDomainListV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.Domain.DomainCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "Domains: Portfolio"
summary: Purchase new domain
description: >-
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.
operationId: domains_purchaseNewDomainV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.Portfolio.PurchaseRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Billing.V1.Order.OrderResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/portfolio/{domain}/privacy-protection:
put:
tags:
- "Domains: Portfolio"
summary: Enable privacy protection
description: >-
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.
operationId: domains_enablePrivacyProtectionV1
parameters:
- $ref: "#/components/parameters/domain"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "Domains: Portfolio"
summary: Disable privacy protection
description: >-
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.
operationId: domains_disablePrivacyProtectionV1
parameters:
- $ref: "#/components/parameters/domain"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/portfolio/{domain}/nameservers:
put:
tags:
- "Domains: Portfolio"
summary: Update domain nameservers
description: >-
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.
operationId: domains_updateDomainNameserversV1
parameters:
- $ref: "#/components/parameters/domain"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.Portfolio.UpdateNameserversRequest"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/whois/{whoisId}:
get:
tags:
- "Domains: WHOIS"
summary: Get WHOIS profile
description: |-
Retrieve a WHOIS contact profile.
Use this endpoint to view domain registration contact information.
operationId: domains_getWHOISProfileV1
parameters:
- $ref: "#/components/parameters/whoisId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.WHOIS.ProfileResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "Domains: WHOIS"
summary: Delete WHOIS profile
description: |-
Delete WHOIS contact profile.
Use this endpoint to remove unused contact profiles from account.
operationId: domains_deleteWHOISProfileV1
parameters:
- $ref: "#/components/parameters/whoisId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/whois:
get:
tags:
- "Domains: WHOIS"
summary: Get WHOIS profile list
description: >-
Retrieve WHOIS contact profiles.
Use this endpoint to view available contact profiles for domain
registration.
operationId: domains_getWHOISProfileListV1
parameters:
- $ref: "#/components/parameters/tld"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.WHOIS.ProfileCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "Domains: WHOIS"
summary: Create WHOIS profile
description: >-
Create WHOIS contact profile.
Use this endpoint to add new contact information for domain
registration.
operationId: domains_createWHOISProfileV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.WHOIS.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.WHOIS.ProfileResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/domains/v1/whois/{whoisId}/usage:
get:
tags:
- "Domains: WHOIS"
summary: Get WHOIS profile usage
description: |-
Retrieve domain list where provided WHOIS contact profile is used.
Use this endpoint to view which domains use specific contact profiles.
operationId: domains_getWHOISProfileUsageV1
parameters:
- $ref: "#/components/parameters/whoisId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Domains.V1.WHOIS.ProfileUsageResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/hosting/v1/datacenters:
get:
tags:
- "Hosting: Datacenters"
summary: List available datacenters
description: |-
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.
operationId: hosting_listAvailableDatacentersV1
parameters:
- $ref: "#/components/parameters/order_id_required"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Hosting.V1.Datacenter.DatacenterCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/hosting/v1/domains/free-subdomains:
post:
tags:
- "Hosting: Domains"
summary: Generate a free subdomain
description: >-
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.
operationId: hosting_generateAFreeSubdomainV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Hosting.V1.Domains.FreeSubdomainResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/hosting/v1/domains/verify-ownership:
post:
tags:
- "Hosting: Domains"
summary: Verify domain ownership
description: >-
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).
operationId: hosting_verifyDomainOwnershipV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Hosting.V1.Domains.VerifyOwnershipRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Hosting.V1.Domains.DomainAccessResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/hosting/v1/orders:
get:
tags:
- "Hosting: Orders"
summary: List orders
description: >-
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.
operationId: hosting_listOrdersV1
parameters:
- $ref: "#/components/parameters/page"
- $ref: "#/components/parameters/per_page"
- $ref: "#/components/parameters/statuses"
- $ref: "#/components/parameters/order_ids"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/Hosting.V1.Orders.OrderCollection"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/hosting/v1/websites:
get:
tags:
- "Hosting: Websites"
summary: List websites
description: >-
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.
operationId: hosting_listWebsitesV1
parameters:
- $ref: "#/components/parameters/page"
- $ref: "#/components/parameters/per_page"
- $ref: "#/components/parameters/username"
- $ref: "#/components/parameters/order_id"
- $ref: "#/components/parameters/is_enabled"
- $ref: "#/components/parameters/domain_filter"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/Hosting.V1.Websites.WebsiteCollection"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "Hosting: Websites"
summary: Create website
description: >-
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.
operationId: hosting_createWebsiteV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Hosting.V1.Websites.CreateWebsiteRequest"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/reach/v1/contacts/{uuid}:
delete:
tags:
- "Reach: Contacts"
summary: Delete a contact
description: >-
Delete a contact with the specified UUID.
This endpoint permanently removes a contact from the email marketing
system.
operationId: reach_deleteAContactV1
parameters:
- $ref: "#/components/parameters/uuid"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/reach/v1/contacts/groups:
get:
tags:
- "Reach: Contacts"
summary: List contact groups
description: >-
Get a list of all contact groups.
This endpoint returns a list of contact groups that can be used to
organize contacts.
operationId: reach_listContactGroupsV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Reach.V1.Contacts.Groups.ContactGroupCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
deprecated: true
x-scalar-ignore: true
/api/reach/v1/contacts:
get:
tags:
- "Reach: Contacts"
summary: List contacts
description: >-
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.
operationId: reach_listContactsV1
parameters:
- $ref: "#/components/parameters/group_uuid"
- $ref: "#/components/parameters/subscription_status"
- $ref: "#/components/parameters/page"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/Reach.V1.Contacts.ContactCollection"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "Reach: Contacts"
summary: Create a new contact
description: >-
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.
operationId: reach_createANewContactV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Reach.V1.Contacts.StoreRequest"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
deprecated: true
x-scalar-ignore: true
/api/reach/v1/segmentation/segments:
get:
tags:
- "Reach: Segments"
summary: List segments
description: >-
Get a list of all contact segments.
This endpoint returns a list of contact segments that can be used to
organize contacts.
operationId: reach_listSegmentsV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Reach.V1.Contacts.Segments.ContactSegmentCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "Reach: Segments"
summary: Create a new contact segment
description: >-
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.
operationId: reach_createANewContactSegmentV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Reach.V1.Contacts.Segments.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Reach.V1.Contacts.Segments.SegmentResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/reach/v1/segmentation/segments/{segmentUuid}/contacts:
get:
tags:
- "Reach: Segments"
summary: List segment contacts
description: >-
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.
operationId: reach_listSegmentContactsV1
parameters:
- $ref: "#/components/parameters/segmentUuid"
- $ref: "#/components/parameters/page"
- $ref: "#/components/parameters/per_page"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/Reach.V1.Contacts.Segments.SegmentationContactColle\
ction"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/reach/v1/segmentation/segments/{segmentUuid}:
get:
tags:
- "Reach: Segments"
summary: Get segment details
description: >-
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.
operationId: reach_getSegmentDetailsV1
parameters:
- $ref: "#/components/parameters/segmentUuid"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Reach.V1.Contacts.Segments.SegmentResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/reach/v1/profiles/{profileUuid}/contacts:
post:
tags:
- "Reach: Contacts"
summary: Create new contacts
description: >-
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.
operationId: reach_createNewContactsV1
parameters:
- $ref: "#/components/parameters/profileUuid"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Reach.V1.Contacts.StoreRequest"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/reach/v1/profiles:
get:
tags:
- "Reach: Profiles"
summary: List Profiles
description: This endpoint returns all profiles available to the client,
including their basic information.
operationId: reach_listProfilesV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Reach.V1.Profiles.ProfileCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/data-centers:
get:
tags:
- "VPS: Data centers"
summary: Get data center list
description: >-
Retrieve all available data centers.
Use this endpoint to view location options before deploying VPS
instances.
operationId: VPS_getDataCenterListV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.DataCenter.DataCenterCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/containers:
get:
tags:
- "VPS: Docker Manager"
summary: Get project containers
description: >-
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.
operationId: VPS_getProjectContainersV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/projectName"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.DockerManager.ContainerCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}:
get:
tags:
- "VPS: Docker Manager"
summary: Get project contents
description: >-
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.
operationId: VPS_getProjectContentsV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/projectName"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.DockerManager.ContentResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/down:
delete:
tags:
- "VPS: Docker Manager"
summary: Delete project
description: >-
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.
operationId: VPS_deleteProjectV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/projectName"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
/api/vps/v1/virtual-machines/{virtualMachineId}/docker:
get:
tags:
- "VPS: Docker Manager"
summary: Get project list
description: >-
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.
operationId: VPS_getProjectListV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.DockerManager.ProjectCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
post:
tags:
- "VPS: Docker Manager"
summary: Create new project
description: >-
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.
operationId: VPS_createNewProjectV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.DockerManager.UpRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/logs:
get:
tags:
- "VPS: Docker Manager"
summary: Get project logs
description: >-
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.
operationId: VPS_getProjectLogsV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/projectName"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.DockerManager.LogsCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/restart:
post:
tags:
- "VPS: Docker Manager"
summary: Restart project
description: >-
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.
operationId: VPS_restartProjectV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/projectName"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/start:
post:
tags:
- "VPS: Docker Manager"
summary: Start project
description: >-
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.
operationId: VPS_startProjectV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/projectName"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/stop:
post:
tags:
- "VPS: Docker Manager"
summary: Stop project
description: >-
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.
operationId: VPS_stopProjectV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/projectName"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/update:
post:
tags:
- "VPS: Docker Manager"
summary: Update project
description: >-
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.
operationId: VPS_updateProjectV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/projectName"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-scalar-stability: experimental
/api/vps/v1/firewall/{firewallId}/activate/{virtualMachineId}:
post:
tags:
- "VPS: Firewall"
summary: Activate firewall
description: |-
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.
operationId: VPS_activateFirewallV1
parameters:
- $ref: "#/components/parameters/firewallId"
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/firewall/{firewallId}/deactivate/{virtualMachineId}:
post:
tags:
- "VPS: Firewall"
summary: Deactivate firewall
description: |-
Deactivate a firewall for a specified virtual machine.
Use this endpoint to remove firewall protection from VPS instances.
operationId: VPS_deactivateFirewallV1
parameters:
- $ref: "#/components/parameters/firewallId"
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/firewall/{firewallId}:
get:
tags:
- "VPS: Firewall"
summary: Get firewall details
description: |-
Retrieve firewall by its ID and rules associated with it.
Use this endpoint to view specific firewall configuration and rules.
operationId: VPS_getFirewallDetailsV1
parameters:
- $ref: "#/components/parameters/firewallId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Firewall.FirewallResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "VPS: Firewall"
summary: Delete firewall
description: >-
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.
operationId: VPS_deleteFirewallV1
parameters:
- $ref: "#/components/parameters/firewallId"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/firewall:
get:
tags:
- "VPS: Firewall"
summary: Get firewall list
description: |-
Retrieve all available firewalls.
Use this endpoint to view existing firewall configurations.
operationId: VPS_getFirewallListV1
parameters:
- $ref: "#/components/parameters/page"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/VPS.V1.Firewall.FirewallCollection"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "VPS: Firewall"
summary: Create new firewall
description: >-
Create a new firewall.
Use this endpoint to set up new firewall configurations for VPS
security.
operationId: VPS_createNewFirewallV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Firewall.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Firewall.FirewallResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/firewall/{firewallId}/rules/{ruleId}:
put:
tags:
- "VPS: Firewall"
summary: Update firewall rule
description: >-
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.
operationId: VPS_updateFirewallRuleV1
parameters:
- $ref: "#/components/parameters/firewallId"
- $ref: "#/components/parameters/ruleId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Firewall.Rules.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Firewall.FirewallRuleResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "VPS: Firewall"
summary: Delete firewall rule
description: >-
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.
operationId: VPS_deleteFirewallRuleV1
parameters:
- $ref: "#/components/parameters/firewallId"
- $ref: "#/components/parameters/ruleId"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/firewall/{firewallId}/rules:
post:
tags:
- "VPS: Firewall"
summary: Create firewall rule
description: >-
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.
operationId: VPS_createFirewallRuleV1
parameters:
- $ref: "#/components/parameters/firewallId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Firewall.Rules.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Firewall.FirewallRuleResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/firewall/{firewallId}/sync/{virtualMachineId}:
post:
tags:
- "VPS: Firewall"
summary: Sync firewall
description: >-
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.
operationId: VPS_syncFirewallV1
parameters:
- $ref: "#/components/parameters/firewallId"
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/post-install-scripts/{postInstallScriptId}:
get:
tags:
- "VPS: Post-install scripts"
summary: Get post-install script
description: |-
Retrieve post-install script by its ID.
Use this endpoint to view specific automation script details.
operationId: VPS_getPostInstallScriptV1
parameters:
- $ref: "#/components/parameters/postInstallScriptId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.PostInstallScript.PostInstallScriptResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
put:
tags:
- "VPS: Post-install scripts"
summary: Update post-install script
description: |-
Update a specific post-install script.
Use this endpoint to modify existing automation scripts.
operationId: VPS_updatePostInstallScriptV1
parameters:
- $ref: "#/components/parameters/postInstallScriptId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.PostInstallScript.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.PostInstallScript.PostInstallScriptResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "VPS: Post-install scripts"
summary: Delete post-install script
description: |-
Delete a post-install script from your account.
Use this endpoint to remove unused automation scripts.
operationId: VPS_deletePostInstallScriptV1
parameters:
- $ref: "#/components/parameters/postInstallScriptId"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/post-install-scripts:
get:
tags:
- "VPS: Post-install scripts"
summary: Get post-install scripts
description: >-
Retrieve post-install scripts associated with your account.
Use this endpoint to view available automation scripts for VPS
deployment.
operationId: VPS_getPostInstallScriptsV1
parameters:
- $ref: "#/components/parameters/page"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/VPS.V1.PostInstallScript.PostInstallScriptCollectio\
n"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "VPS: Post-install scripts"
summary: Create post-install script
description: >-
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.
operationId: VPS_createPostInstallScriptV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.PostInstallScript.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.PostInstallScript.PostInstallScriptResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/public-keys/attach/{virtualMachineId}:
post:
tags:
- "VPS: Public Keys"
summary: Attach public key
description: >-
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.
operationId: VPS_attachPublicKeyV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.PublicKey.AttachRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/public-keys/{publicKeyId}:
delete:
tags:
- "VPS: Public Keys"
summary: Delete public key
description: >-
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.
operationId: VPS_deletePublicKeyV1
parameters:
- $ref: "#/components/parameters/publicKeyId"
responses:
"200":
description: Success empty response
content:
application/json:
schema:
$ref: "#/components/schemas/Common.SuccessEmptyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/public-keys:
get:
tags:
- "VPS: Public Keys"
summary: Get public keys
description: |-
Retrieve public keys associated with your account.
Use this endpoint to view available SSH keys for VPS authentication.
operationId: VPS_getPublicKeysV1
parameters:
- $ref: "#/components/parameters/page"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/VPS.V1.PublicKey.PublicKeyCollection"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "VPS: Public Keys"
summary: Create public key
description: |-
Add a new public key to your account.
Use this endpoint to register SSH keys for VPS authentication.
operationId: VPS_createPublicKeyV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.PublicKey.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.PublicKey.PublicKeyResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/templates/{templateId}:
get:
tags:
- "VPS: OS Templates"
summary: Get template details
description: >-
Retrieve detailed information about a specific OS template for virtual
machines.
Use this endpoint to view specific template specifications before
deployment.
operationId: VPS_getTemplateDetailsV1
parameters:
- $ref: "#/components/parameters/templateId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Template.TemplateResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/templates:
get:
tags:
- "VPS: OS Templates"
summary: Get templates
description: >-
Retrieve available OS templates for virtual machines.
Use this endpoint to view operating system options before creating or
recreating VPS instances.
operationId: VPS_getTemplatesV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Template.TemplateCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/actions/{actionId}:
get:
tags:
- "VPS: Actions"
summary: Get action details
description: >-
Retrieve detailed information about a specific action performed on a
specified virtual machine.
Use this endpoint to monitor specific VPS operation status and details.
operationId: VPS_getActionDetailsV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/actionId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/actions:
get:
tags:
- "VPS: Actions"
summary: Get actions
description: >-
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.
operationId: VPS_getActionsV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/page"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/VPS.V1.Action.ActionCollection"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/public-keys:
get:
tags:
- "VPS: Virtual machine"
summary: Get attached public keys
description: >-
Retrieve public keys attached to a specified virtual machine.
Use this endpoint to view SSH keys configured for specific VPS
instances.
operationId: VPS_getAttachedPublicKeysV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/page"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/VPS.V1.PublicKey.PublicKeyCollection"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/backups:
get:
tags:
- "VPS: Backups"
summary: Get backups
description: |-
Retrieve backups for a specified virtual machine.
Use this endpoint to view available backup points for VPS data recovery.
operationId: VPS_getBackupsV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/page"
responses:
"200":
description: Success response
content:
application/json:
schema:
properties:
data:
$ref: "#/components/schemas/VPS.V1.Backup.BackupCollection"
meta:
$ref: "#/components/schemas/Common.Schema.PaginationMetaSchema"
type: object
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/backups/{backupId}/restore:
post:
tags:
- "VPS: Backups"
summary: Restore backup
description: >-
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.
operationId: VPS_restoreBackupV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/backupId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/hostname:
put:
tags:
- "VPS: Virtual machine"
summary: Set hostname
description: >-
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.
operationId: VPS_setHostnameV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.HostnameUpdateRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "VPS: Virtual machine"
summary: Reset hostname
description: >-
Reset hostname and PTR record of a specified virtual machine to default
value.
Use this endpoint to restore default hostname configuration for VPS
instances.
operationId: VPS_resetHostnameV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}:
get:
tags:
- "VPS: Virtual machine"
summary: Get virtual machine details
description: |-
Retrieve detailed information about a specified virtual machine.
Use this endpoint to view comprehensive VPS configuration and status.
operationId: VPS_getVirtualMachineDetailsV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.VirtualMachineResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines:
get:
tags:
- "VPS: Virtual machine"
summary: Get virtual machines
description: |-
Retrieve all available virtual machines.
Use this endpoint to view available VPS instances.
operationId: VPS_getVirtualMachinesV1
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.VirtualMachineCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "VPS: Virtual machine"
summary: Purchase new virtual machine
description: >-
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.
operationId: VPS_purchaseNewVirtualMachineV1
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.PurchaseRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/Billing.V1.Order.VirtualMachineOrderResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/monarx:
get:
tags:
- "VPS: Malware scanner"
summary: Get scan metrics
description: >-
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.
operationId: VPS_getScanMetricsV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Malware.MetricsResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "VPS: Malware scanner"
summary: Install Monarx
description: >-
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.
operationId: VPS_installMonarxV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "VPS: Malware scanner"
summary: Uninstall Monarx
description: >-
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.
operationId: VPS_uninstallMonarxV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/metrics:
get:
tags:
- "VPS: Virtual machine"
summary: Get metrics
description: >-
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.
operationId: VPS_getMetricsV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- name: date_from
in: query
required: true
schema:
type: string
format: date-time
default: null
example: 2025-05-01T00:00:00Z
- name: date_to
in: query
required: true
schema:
type: string
format: date-time
default: null
example: 2025-06-01T00:00:00Z
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Metrics.MetricsCollection"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
x-optic-ignore-example: true
/api/vps/v1/virtual-machines/{virtualMachineId}/nameservers:
put:
tags:
- "VPS: Virtual machine"
summary: Set nameservers
description: |-
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.
operationId: VPS_setNameserversV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.NameserversUpdateRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/ptr/{ipAddressId}:
post:
tags:
- "VPS: PTR records"
summary: Create PTR record
description: |-
Create or update a PTR (Pointer) record for a specified virtual machine.
Use this endpoint to configure reverse DNS lookup for VPS IP addresses.
operationId: VPS_createPTRRecordV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/ipAddressId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.PTR.StoreRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "VPS: PTR records"
summary: Delete PTR record
description: >-
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.
operationId: VPS_deletePTRRecordV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
- $ref: "#/components/parameters/ipAddressId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/panel-password:
put:
tags:
- "VPS: Virtual machine"
summary: Set panel password
description: |-
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.
operationId: VPS_setPanelPasswordV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.PanelPasswordUpdateRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/recovery:
post:
tags:
- "VPS: Recovery"
summary: Start recovery mode
description: >-
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.
operationId: VPS_startRecoveryModeV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.Recovery.StartRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "VPS: Recovery"
summary: Stop recovery mode
description: >-
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.
operationId: VPS_stopRecoveryModeV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/recreate:
post:
tags:
- "VPS: Virtual machine"
summary: Recreate virtual machine
description: >-
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.
operationId: VPS_recreateVirtualMachineV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.RecreateRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/restart:
post:
tags:
- "VPS: Virtual machine"
summary: Restart virtual machine
description: |-
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.
operationId: VPS_restartVirtualMachineV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/root-password:
put:
tags:
- "VPS: Virtual machine"
summary: Set root password
description: |-
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.
operationId: VPS_setRootPasswordV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.RootPasswordUpdateRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/setup:
post:
tags:
- "VPS: Virtual machine"
summary: Setup purchased virtual machine
description: |-
Setup newly purchased virtual machine with `initial` state.
Use this endpoint to configure and initialize purchased VPS instances.
operationId: VPS_setupPurchasedVirtualMachineV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.SetupRequest"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.VirtualMachineResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"422":
$ref: "#/components/responses/Common.Response.UnprocessableContentResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/snapshot:
get:
tags:
- "VPS: Snapshots"
summary: Get snapshot
description: |-
Retrieve snapshot for a specified virtual machine.
Use this endpoint to view current VPS snapshot information.
operationId: VPS_getSnapshotV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Snapshot.SnapshotResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
post:
tags:
- "VPS: Snapshots"
summary: Create snapshot
description: >-
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.
operationId: VPS_createSnapshotV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
delete:
tags:
- "VPS: Snapshots"
summary: Delete snapshot
description: |-
Delete a snapshot of a specified virtual machine.
Use this endpoint to remove VPS snapshots.
operationId: VPS_deleteSnapshotV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/snapshot/restore:
post:
tags:
- "VPS: Snapshots"
summary: Restore snapshot
description: >-
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.
operationId: VPS_restoreSnapshotV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/start:
post:
tags:
- "VPS: Virtual machine"
summary: Start virtual machine
description: >-
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.
operationId: VPS_startVirtualMachineV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
/api/vps/v1/virtual-machines/{virtualMachineId}/stop:
post:
tags:
- "VPS: Virtual machine"
summary: Stop virtual machine
description: >-
Stop a specified virtual machine.
If the virtual machine is already stopped, the request will still be
processed without any effect.
Use this endpoint to power off running VPS instances.
operationId: VPS_stopVirtualMachineV1
parameters:
- $ref: "#/components/parameters/virtualMachineId"
responses:
"200":
description: Success response
content:
application/json:
schema:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
"401":
$ref: "#/components/responses/Common.Response.UnauthorizedResponse"
"500":
$ref: "#/components/responses/Common.Response.ErrorResponse"
components:
schemas:
Common.Schema.PaginationMetaSchema:
properties:
current_page:
type: integer
example: 1
per_page:
type: integer
example: 15
total:
type: integer
example: 100
type: object
x-scalar-ignore: true
Billing.V1.Subscription.CancelRequest:
properties:
reason_code:
description: Cancellation reason code
type: string
enum:
- other
example: other
nullable: true
cancel_option:
description: Cancellation option
type: string
enum:
- immediately
example: immediately
nullable: true
type: object
DNS.V1.Zone.DestroyRequest:
required:
- filters
properties:
filters:
description: Filter records for deletion
type: array
items:
required:
- name
- type
properties:
name:
description: Name of the record
type: string
example: "@"
type:
description: Type of the record
type: string
enum:
- A
- AAAA
- CNAME
- ALIAS
- MX
- TXT
- NS
- SOA
- SRV
- CAA
example: A
type: object
type: object
DNS.V1.Zone.ResetRequest:
properties:
sync:
description: Determines if operation should be run synchronously
type: boolean
default: true
example: true
reset_email_records:
description: Determines if email records should be reset
type: boolean
default: true
example: true
whitelisted_record_types:
description: Specifies which record types to not reset
type: array
items:
type: string
example:
- MX
- TXT
type: object
DNS.V1.Zone.UpdateRequest:
required:
- zone
properties:
overwrite:
description: >-
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 are found, they are created.
type: boolean
default: true
example: true
zone:
type: array
items:
required:
- name
- records
- type
properties:
name:
description: Name of the record (use `@` for wildcard name)
type: string
example: www
records:
description: Records assigned to the name
type: array
items:
required:
- content
properties:
content:
description: Content of the name record
type: string
example: mydomain.tld.
type: object
ttl:
description: TTL (Time-To-Live) of the record
type: integer
example: 14400
type:
description: Type of the record
type: string
enum:
- A
- AAAA
- CNAME
- ALIAS
- MX
- TXT
- NS
- SOA
- SRV
- CAA
example: A
type: object
type: object
DomainAccessVerifier.V2.Verifications.ListRequest:
required:
- domains
properties:
domains:
description: The list of domains for which to get verification details for.
type: array
items:
type: string
example: example.com
type: object
Domains.V1.Availability.AvailabilityRequest:
required:
- domain
- tlds
properties:
domain:
description: Domain name (without TLD)
type: string
example: mydomain
tlds:
description: TLDs list
type: array
items:
description: TLD without leading dot
type: string
example:
- com
- net
- org
with_alternatives:
description: Should response include alternatives
type: boolean
default: false
example: true
type: object
Domains.V1.Forwarding.StoreRequest:
required:
- domain
- redirect_type
- redirect_url
properties:
domain:
description: Domain name
type: string
example: mydomain.tld
redirect_type:
description: Redirect type
type: string
enum:
- "301"
- "302"
example: "301"
x-enum-descriptions:
"301": Permanent
"302": Temporary
redirect_url:
description: URL to forward domain to
type: string
example: https://forward.to.my.url
type: object
Domains.V1.Portfolio.PurchaseRequest:
required:
- domain
- item_id
properties:
domain:
description: Domain name
type: string
example: my-new-domain.tld
item_id:
description: Catalog price item ID
type: string
example: hostingercom-domain-com-usd-1y
payment_method_id:
description: Payment method ID, default will be used if not provided
type: integer
example: 1327362
domain_contacts:
description: Domain contact information
properties:
owner_id:
description: Owner contact WHOIS record ID
type: integer
example: 741288
admin_id:
description: Administrative contact WHOIS record ID
type: integer
example: 546123
billing_id:
description: Billing contact WHOIS record ID
type: integer
example: 741288
tech_id:
description: Technical contact WHOIS record ID
type: integer
example: 741288
type: object
additional_details:
description: Additional registration data, possible values depends on TLD
type: object
coupons:
description: Discount coupon codes
type: array
items:
example:
- Coupon 3
type: object
Domains.V1.Portfolio.UpdateNameserversRequest:
required:
- ns1
- ns2
properties:
ns1:
description: First name server
type: string
example: ns1.some-nameserver.tld
ns2:
description: Second name server
type: string
example: ns2.some-nameserver.tld
ns3:
description: Third name server
type: string
example: ns3.some-nameserver.tld
ns4:
description: Fourth name server
type: string
example: ns4.some-nameserver.tld
type: object
Domains.V1.WHOIS.StoreRequest:
required:
- tld
- entity_type
- country
- whois_details
properties:
tld:
description: TLD of the domain (without leading dot)
type: string
example: com
country:
description: ISO 3166 2-letter country code
type: string
example: NL
entity_type:
description: Legal entity type
type: string
enum:
- individual
- organization
example: individual
tld_details:
description: TLD details
type: object
whois_details:
description: WHOIS details
type: object
type: object
Hosting.V1.Datacenters.ListRequest:
required:
- order_id
properties:
order_id:
type: integer
example: 12345
type: object
Hosting.V1.Domains.VerifyOwnershipRequest:
required:
- domain
properties:
domain:
description: Domain to verify ownership for
type: string
example: example.com
type: object
Hosting.V1.Websites.CreateWebsiteRequest:
required:
- domain
- order_id
properties:
domain:
description: Domain name for the website. Cannot start with "www."
type: string
example: example.com
order_id:
description: ID of the associated order
type: integer
example: 12345
datacenter_code:
description: Datacenter code. This parameter is required when creating the first
website on a new hosting plan.
type: string
example: us-east-1
nullable: true
type: object
Reach.V1.Contacts.Segments.StoreRequest:
required:
- name
- conditions
- logic
properties:
name:
type: string
example: New segment name
conditions:
type: array
items:
properties:
operator:
type: string
enum:
- equals
- not_equals
- contains
- not_contains
- gte
- lte
- exists
- within_last_days
- not_within_last_days
- older_than_days
- processed
- not_processed
- delivered
- not_delivered
- dropped
- not_dropped
- bounced
- not_bounced
- opened
- not_opened
- clicked
- not_clicked
- unsubscribed
- not_unsubscribed
example: equals
value:
oneOf:
- type: string
example: example@example.com
- type: integer
example: 10
attribute:
type: string
enum:
- note
- comment
- domain
- integration
- source
- name
- surname
- email
- subscribed_at
- unsubscribed_at
- subscription_status
- processed
- opened
- clicked
- delivered
- bounced
- unsubscribed
- dropped
- tag
- campaigns
example: note
type: object
maxItems: 5
minItems: 1
logic:
type: string
enum:
- AND
- OR
example: AND
type: object
Reach.V1.Contacts.StoreRequest:
required:
- email
properties:
email:
type: string
example: john.doe@example.com
name:
type: string
example: John
nullable: true
surname:
type: string
example: Doe
nullable: true
note:
type: string
maxLength: 75
example: VIP customer
nullable: true
type: object
VPS.V1.Firewall.Rules.StoreRequest:
required:
- protocol
- port
- source
- source_detail
properties:
protocol:
type: string
enum:
- TCP
- UDP
- ICMP
- GRE
- any
- ESP
- AH
- ICMPv6
- SSH
- HTTP
- HTTPS
- MySQL
- PostgreSQL
example: TCP
port:
description: "Port or port range, ex: 1024:2048"
type: string
example: "443"
source:
type: string
enum:
- any
- custom
example: any
source_detail:
description: IP range, CIDR, single IP or `any`
type: string
example: 351.15.24.0/24
type: object
VPS.V1.Firewall.StoreRequest:
required:
- name
properties:
name:
type: string
example: My Firewall Group
type: object
VPS.V1.PostInstallScript.StoreRequest:
required:
- name
- content
properties:
name:
description: Name of the script
type: string
example: My Script
content:
description: Content of the script
type: string
example: |-
#!/bin/bash
echo 'Hello, World!'
type: object
VPS.V1.PublicKey.AttachRequest:
required:
- ids
properties:
ids:
description: Public Key IDs to attach
type: array
items:
type: integer
example:
- 18232
- 10230230
type: object
VPS.V1.PublicKey.StoreRequest:
required:
- name
- key
properties:
name:
type: string
example: My Public Key
key:
type: string
example: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD...
type: object
VPS.V1.VirtualMachine.DockerManager.UpRequest:
required:
- project_name
- content
properties:
project_name:
description: Docker Compose project name using alphanumeric characters, dashes,
and underscores only
type: string
maxLength: 64
minLength: 3
example: my-project-1
content:
description: URL pointing to docker-compose.yaml file, Github repository or raw
YAML content of the compose file
type: string
maxLength: 8192
environment:
description: Project environment variables
type: string
maxLength: 8192
nullable: true
type: object
VPS.V1.VirtualMachine.HostnameUpdateRequest:
required:
- hostname
properties:
hostname:
type: string
example: my.server.tld
type: object
VPS.V1.VirtualMachine.MetricGetRequest:
required:
- date_from
- date_to
properties:
date_from:
type: string
format: date-time
example: 2025-05-01T00:00:00Z
date_to:
type: string
format: date-time
example: 2025-06-01T00:00:00Z
type: object
VPS.V1.VirtualMachine.NameserversUpdateRequest:
required:
- ns1
properties:
ns1:
type: string
example: 4.3.2.1
ns2:
type: string
example: 1.2.3.4
nullable: true
ns3:
type: string
example: 5.2.3.4
nullable: true
type: object
VPS.V1.VirtualMachine.PTR.StoreRequest:
required:
- domain
properties:
domain:
description: Pointer record domain
type: string
example: example.tld
type: object
VPS.V1.VirtualMachine.PanelPasswordUpdateRequest:
required:
- password
properties:
password:
description: Panel password for the virtual machine
type: string
format: password
minLength: 8
example: oMeNRustosIO
type: object
VPS.V1.VirtualMachine.PurchaseRequest:
required:
- item_id
- setup
properties:
item_id:
description: Catalog price item ID
type: string
example: hostingercom-vps-kvm2-usd-1m
payment_method_id:
description: Payment method ID, default will be used if not provided
type: integer
example: 1327362
setup:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.SetupRequest"
coupons:
description: Discount coupon codes
type: array
items:
example:
- Coupon 3
type: object
VPS.V1.VirtualMachine.Recovery.StartRequest:
required:
- root_password
properties:
root_password:
description: Temporary root password for recovery mode
type: string
example: oMeNRustosIO
type: object
VPS.V1.VirtualMachine.RecreateRequest:
required:
- template_id
properties:
template_id:
description: Template ID
type: integer
example: 1130
password:
description: >-
Root password for the virtual machine. If not provided, random
password will be generated.
Password will not be shown in the response.
type: string
format: password
minLength: 12
example: oMeNRustosIO
panel_password:
description: >-
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 response.
type: string
format: password
minLength: 12
example: Mna58c17a4d
post_install_script_id:
description: Post-install script to execute after virtual machine was recreated
type: integer
example: 6324
type: object
VPS.V1.VirtualMachine.RootPasswordUpdateRequest:
required:
- password
properties:
password:
description: Root password for the virtual machine
type: string
format: password
minLength: 12
example: oMeNRustosIO
type: object
VPS.V1.VirtualMachine.SetupRequest:
required:
- data_center_id
- template_id
properties:
template_id:
description: Template ID
type: integer
example: 1130
data_center_id:
description: Data center ID
type: integer
example: 19
post_install_script_id:
description: Post-install script ID
type: integer
example: 6324
password:
description: >-
Password for the virtual machine. If not provided, random password
will be generated.
Password will not be shown in the response.
type: string
format: password
minLength: 12
example: oMeNRustosIO
hostname:
description: Override default hostname of the virtual machine
type: string
example: my.server.tld
install_monarx:
description: Install Monarx malware scanner (if supported)
type: boolean
default: false
example: false
enable_backups:
description: Enable weekly backup schedule
type: boolean
default: true
example: true
ns1:
description: Name server 1
type: string
example: 4.3.2.1
ns2:
description: Name server 2
type: string
example: 1.2.3.4
public_key:
description: Use SSH key
properties:
name:
description: Name of the SSH key
type: string
example: my-key
key:
description: Contents of the SSH key
type: string
example: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC2X...
type: object
type: object
Billing.V1.Catalog.CatalogItemCollection:
description: Array of
[`Billing.V1.Catalog.CatalogItemResource`](#model/billingv1catalogcatalogitemresource)
type: array
items:
$ref: "#/components/schemas/Billing.V1.Catalog.CatalogItemResource"
Billing.V1.Catalog.CatalogItemPriceCollection:
description: Array of
[`Billing.V1.Catalog.CatalogItemPriceResource`](#model/billingv1catalogcatalogitempriceresource)
type: array
items:
$ref: "#/components/schemas/Billing.V1.Catalog.CatalogItemPriceResource"
Billing.V1.Catalog.CatalogItemPriceResource:
properties:
id:
description: Price item ID
type: string
example: hostingercom-vps-kvm2-usd-1m
name:
description: Price item name
type: string
example: KVM 2 (billed every month)
currency:
description: Currency code
type: string
example: USD
price:
description: Price in cents
type: integer
example: 1799
first_period_price:
description: First period price in cents
type: integer
example: 899
period:
description: Period
type: integer
example: 1
period_unit:
description: Period unit
type: string
enum:
- day
- week
- month
- year
- none
example: day
type: object
Billing.V1.Catalog.CatalogItemResource:
properties:
id:
description: Catalog item ID
type: string
example: hostingercom-vps-kvm2
name:
type: string
example: KVM 2
category:
type: string
example: VPS
metadata:
description: "
\ Flexible key-value storage containing category-specific
metadata for the catalog item.
\ The structure and available fields vary depending on
the item category.
\ "
type: object
example:
field: value
nullable: true
prices:
$ref: "#/components/schemas/Billing.V1.Catalog.CatalogItemPriceCollection"
type: object
Billing.V1.Order.OrderBillingAddressResource:
properties:
first_name:
type: string
example: John
last_name:
type: string
example: Doe
company:
type: string
example: null
nullable: true
address_1:
type: string
example: null
nullable: true
address_2:
type: string
example: null
nullable: true
city:
type: string
example: null
nullable: true
state:
type: string
example: null
nullable: true
zip:
type: string
example: null
nullable: true
country:
type: string
example: NL
nullable: true
phone:
type: string
example: null
nullable: true
email:
type: string
example: john@doe.tld
type: object
Billing.V1.Order.OrderResource:
properties:
id:
description: Order ID
type: integer
example: 2957086
subscription_id:
description: Subscription ID
type: string
example: Azz353Uhl1xC54pR0
status:
type: string
enum:
- completed
- pending
- processing
- failed
- refunded
- cancelled
- awaiting_payment
- payment_initiated
- fraud_refund
example: completed
currency:
description: Currency code
type: string
example: USD
subtotal:
description: Subtotal price (exc. VAT) in cents
type: integer
example: 899
total:
description: Total price (inc. VAT) in cents
type: integer
example: 1088
billing_address:
$ref: "#/components/schemas/Billing.V1.Order.OrderBillingAddressResource"
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
updated_at:
type: string
format: date-time
example: 2025-03-27T11:54:22Z
type: object
Billing.V1.Order.VirtualMachineOrderResource:
properties:
order:
$ref: "#/components/schemas/Billing.V1.Order.OrderResource"
virtual_machine:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.VirtualMachineResource"
type: object
Billing.V1.PaymentMethod.PaymentMethodCollection:
description: Array of
[`Billing.V1.PaymentMethod.PaymentMethodResource`](#model/billingv1paymentmethodpaymentmethodresource)
type: array
items:
$ref: "#/components/schemas/Billing.V1.PaymentMethod.PaymentMethodResource"
Billing.V1.PaymentMethod.PaymentMethodResource:
properties:
id:
description: Payment method ID
type: integer
example: 6523
name:
type: string
example: Credit Card
identifier:
type: string
example: 1234*****6464
payment_method:
type: string
example: card
is_default:
type: boolean
example: true
is_expired:
type: boolean
example: false
is_suspended:
type: boolean
example: false
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
expires_at:
type: string
format: date-time
example: 2025-03-27T11:54:22Z
type: object
Billing.V1.Subscription.SubscriptionCollection:
description: Array of
[`Billing.V1.Subscription.SubscriptionResource`](#model/billingv1subscriptionsubscriptionresource)
type: array
items:
$ref: "#/components/schemas/Billing.V1.Subscription.SubscriptionResource"
Billing.V1.Subscription.SubscriptionResource:
properties:
id:
description: Subscription ID
type: string
example: Azz36nUfKX1S1MSF
name:
type: string
example: KVM 1
status:
type: string
enum:
- active
- paused
- cancelled
- not_renewing
- transferred
- in_trial
- future
example: active
billing_period:
type: integer
example: 1
billing_period_unit:
type: string
example: day
currency_code:
type: string
example: USD
total_price:
description: Total price in cents
type: integer
example: 1799
renewal_price:
description: Renewal price in cents
type: integer
example: 1799
is_auto_renewed:
type: boolean
example: true
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
expires_at:
type: string
format: date-time
example: 2025-03-27T11:54:22Z
nullable: true
next_billing_at:
type: string
format: date-time
example: 2025-02-28T11:54:22Z
nullable: true
type: object
Common.SuccessEmptyResource:
properties:
message:
type: string
example: Request accepted
type: object
x-scalar-ignore: true
DNS.V1.Snapshot.SnapshotCollection:
description: Array of
[`DNS.V1.Snapshot.SnapshotResource`](#model/dnsv1snapshotsnapshotresource)
type: array
items:
$ref: "#/components/schemas/DNS.V1.Snapshot.SnapshotResource"
DNS.V1.Snapshot.SnapshotResource:
properties:
id:
description: Snapshot ID
type: integer
example: 5341
reason:
description: Reason of the update
type: string
example: Zone records update request
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
type: object
DNS.V1.Snapshot.SnapshotWithContentResource:
properties:
id:
description: Snapshot ID
type: integer
example: 5341
reason:
description: Reason of the update
type: string
example: Zone records update request
snapshot:
$ref: "#/components/schemas/DNS.V1.Zone.RecordCollection"
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
type: object
DNS.V1.Zone.NameRecordCollection:
description: Array of
[`DNS.V1.Zone.NameRecordResource`](#model/dnsv1zonenamerecordresource)
type: array
items:
$ref: "#/components/schemas/DNS.V1.Zone.NameRecordResource"
DNS.V1.Zone.NameRecordResource:
properties:
content:
description: Content of the name record
type: string
example: mydomain.tld.
is_disabled:
description: Flag to mark name record as disabled
type: boolean
example: false
type: object
DNS.V1.Zone.RecordCollection:
description: Array of [`DNS.V1.Zone.RecordResource`](#model/dnsv1zonerecordresource)
type: array
items:
$ref: "#/components/schemas/DNS.V1.Zone.RecordResource"
DNS.V1.Zone.RecordResource:
properties:
name:
description: Name of the record (use `@` for wildcard name)
type: string
example: www
records:
$ref: "#/components/schemas/DNS.V1.Zone.NameRecordCollection"
ttl:
description: TTL (Time-To-Live) of the record
type: integer
example: 14400
type:
description: Type of the record
type: string
enum:
- A
- AAAA
- CNAME
- ALIAS
- MX
- TXT
- NS
- SOA
- SRV
- CAA
example: A
type: object
DomainAccessVerifier.V2.Verifications.ActiveVerificationsCollection:
description: Returns active verifications (PENDING and VERIFIED) grouped by
status and domain. Includes last and next verification attempt dates and
expiration for PENDING verifications.
properties:
data:
description: List of active verifications by status. If no verifications are
found, this will return an empty array.
properties:
PENDING:
description: Pending verifications grouped by domain. Keys are domain names
(e.g., "pixel.tld"). This property will not be returned if no
pending verifications are found.
properties:
DOMAIN.TLD:
description: Domain name (example). Contains verification types as properties.
properties:
VERIFICATION_TYPE:
description: Verification type ("NAMESERVERS" or "TXT"). Only verification types
that exist for this domain will be present.
properties:
records:
description: Verification records
type: array
items:
type: string
last_verification_attempt:
description: Datetime when last verification attempt occurred
type: string
example: 2025-08-05 13:15:00
next_verification_attempt:
description: Datetime when next verification attempt will occur
type: string
example: 2025-08-05 14:30:00
verification_expiration:
description: Datetime when verification expires
type: string
example: 2025-08-12 13:15:00
type: object
type: object
type: object
VERIFIED:
description: Verified verifications grouped by domain. Keys are domain names
(e.g., "byte.tld"). This property will not be returned if no
verified verifications are found.
properties:
DOMAIN.TLD:
description: Domain name (example). Contains verification types as properties.
properties:
VERIFICATION_TYPE:
description: Verification type (e.g., "NAMESERVERS", "TXT"). Only verification
types that exist for this domain will be present.
properties:
records:
description: Verification records
type: array
items:
type: string
type: object
type: object
type: object
type: object
type: object
example:
data:
PENDING:
pixel.tld:
NAMESERVERS:
records:
- ns1.nameserver.com
- ns2.nameserver.com
last_verification_attempt: 2025-08-05 13:15:00
next_verification_attempt: 2025-08-05 14:30:00
verification_expiration: 2025-08-12 13:15:00
TXT:
records:
- txt-verification-hash
last_verification_attempt: 2025-08-05 14:45:00
next_verification_attempt: 2025-08-05 15:00:00
verification_expiration: 2025-08-12 14:45:00
VERIFIED:
byte.tld:
TXT:
records:
- other-txt-verification-hash
Domains.V1.Availability.AvailabilityCollection:
description: Array of
[`Domains.V1.Availability.AvailabilityResource`](#model/domainsv1availabilityavailabilityresource)
type: array
items:
$ref: "#/components/schemas/Domains.V1.Availability.AvailabilityResource"
Domains.V1.Availability.AvailabilityResource:
properties:
domain:
description: Domain name, `null` when not claimed free domain
type: string
example: mydomain.tld
nullable: true
is_available:
description: "`true` if domain is available for registration"
type: boolean
example: true
is_alternative:
description: "`true` if domain is provided as an alternative"
type: boolean
example: false
restriction:
description: Special rules and/or restrictions applied for registering TLD
type: string
nullable: true
type: object
Domains.V1.Domain.DomainCollection:
description: Array of
[`Domains.V1.Domain.DomainResource`](#model/domainsv1domaindomainresource)
type: array
items:
$ref: "#/components/schemas/Domains.V1.Domain.DomainResource"
Domains.V1.Domain.DomainExtendedResource:
properties:
domain:
description: Domain name
type: string
example: mydomain.tld
status:
description: Status of the domain
type: string
enum:
- active
- pending_setup
- expired
- requested
- pending_verification
- deleted
- suspended
- failed
example: active
message:
type: string
nullable: true
is_privacy_protection_allowed:
description: Is privacy protection allowed for the domain
type: boolean
example: true
is_privacy_protected:
description: Is privacy protection enabled for the domain
type: boolean
example: false
is_lockable:
description: Is domain allowed to be locked
type: boolean
example: true
is_locked:
description: Is domain locked
type: boolean
example: true
name_servers:
description: Name servers
properties:
ns1:
description: Name server 1
type: string
example: ns1.example.tld
ns2:
description: Name server 2
type: string
example: ns2.example.tld
type: object
example:
ns1: ns1.example.tld
ns2: ns2.example.tld
child_name_servers:
description: Child name servers
type: array
items:
type: array
items:
type: string
example:
ns1.example.tld:
- 258.231.55.321
- 258.231.55.322
domain_contacts:
description: WHOIS profiles
properties:
admin_id:
description: Admin WHOIS profile ID
type: integer
example: 114698
owner_id:
description: Owner WHOIS profile ID
type: integer
example: 614698
billing_id:
description: Billing WHOIS profile ID
type: integer
example: 154698
tech_id:
description: Technician WHOIS profile ID
type: integer
example: 524248
type: object
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
updated_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
60_days_lock_expires_at:
type: string
format: date-time
example: 2025-04-27T11:54:22Z
nullable: true
registered_at:
type: string
format: date-time
example: 2025-02-27T12:54:22Z
nullable: true
expires_at:
type: string
format: date-time
example: 2025-03-27T11:54:22Z
nullable: true
type: object
Domains.V1.Domain.DomainResource:
properties:
id:
description: Domain ID
type: integer
example: 13632
domain:
description: Domain name, `null` when not claimed free domain
type: string
example: mydomain.tld
nullable: true
type:
type: string
enum:
- domain
- free_domain
- domain_transfer
- free_domain_transfer
example: domain
status:
type: string
enum:
- active
- pending_setup
- expired
- requested
- pending_verification
- deleted
- suspended
- failed
example: active
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
expires_at:
type: string
format: date-time
example: 2025-03-27T11:54:22Z
nullable: true
type: object
Domains.V1.Forwarding.ForwardingResource:
properties:
domain:
description: Domain name
type: string
example: mydomain.tld
nullable: true
redirect_type:
description: Redirect type
type: string
enum:
- "301"
- "302"
example: "301"
x-enum-descriptions:
"301": Permanent
"302": Temporary
redirect_url:
description: URL domain is forwarded to
type: string
example: https://forward.to.my.url
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
updated_at:
type: string
format: date-time
example: 2025-03-27T11:54:22Z
nullable: true
type: object
Domains.V1.WHOIS.ProfileCollection:
description: Array of
[`Domains.V1.WHOIS.ProfileResource`](#model/domainsv1whoisprofileresource)
type: array
items:
$ref: "#/components/schemas/Domains.V1.WHOIS.ProfileResource"
Domains.V1.WHOIS.ProfileResource:
properties:
id:
description: WHOIS Profile ID
type: integer
example: 746263
tld:
description: TLD to which contact profile can be applied to
type: string
example: com
country:
description: ISO 3166 2-letter country code
type: string
example: NL
entity_type:
description: WHOIS profile entity type
type: string
enum:
- individual
- organization
example: individual
whois_details:
description: WHOIS profile details
type: object
example:
first_name: John
last_name: Doe
email: john@doe.tld
tld_details:
description: TLD details
type: object
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
updated_at:
type: string
format: date-time
example: 2025-03-19T11:54:22Z
type: object
Domains.V1.WHOIS.ProfileUsageResource:
description: Array of domains
type: array
items:
type: string
example:
- mydomain1.tld
- mydomain2.tld
Hosting.V1.Datacenter.CoordinatesResource:
properties:
latitude:
description: Latitude coordinate
type: number
format: float
example: 51.5074
longitude:
description: Longitude coordinate
type: number
format: float
example: 0.1278
type: object
Hosting.V1.Datacenter.DatacenterCollection:
description: Array of
[`Hosting.V1.Datacenter.DatacenterResource`](#model/hostingv1datacenterdatacenterresource)
type: array
items:
$ref: "#/components/schemas/Hosting.V1.Datacenter.DatacenterResource"
Hosting.V1.Datacenter.DatacenterResource:
properties:
title:
description: Data center title
type: string
example: Europe (UK)
code:
description: Data center code
type: string
example: uk-fast
coordinates:
$ref: "#/components/schemas/Hosting.V1.Datacenter.CoordinatesResource"
type: object
Hosting.V1.Domains.DomainAccessResource:
properties:
domain:
description: Domain name
type: string
example: example.com
is_accessible:
description: Whether domain is accessible
type: boolean
example: false
txt_to_verify:
description: TXT record for verification
type: string
example: example.com=example-verification-code
type: object
Hosting.V1.Domains.FreeSubdomainResource:
properties:
domain:
description: Generated free subdomain
type: string
example: palegreen-fox-548498.hostingersite.com
type: object
Hosting.V1.NodeJs.BuildOptionsResource:
required:
- node_version
- app_type
- root_directory
- output_directory
- build_script
- entry_file
- package_manager
- source_type
- source_options
properties:
node_version:
description: Node.js version
type: integer
example: 24
app_type:
description: Node.js application type
type: string
enum:
- create-react-app
- vite
- angular
- react
- vue
- parcel
example: vite
nullable: true
root_directory:
description: Application root directory
type: string
example: src
nullable: true
output_directory:
description: Build output directory
type: string
example: dist
nullable: true
build_script:
description: The npm script to run to build the application
type: string
example: build
nullable: true
entry_file:
description: The main entry point file for the application
type: string
example: server.js
nullable: true
package_manager:
description: Package manager
type: string
enum:
- npm
- yarn
- pnpm
example: npm
nullable: true
source_type:
description: Source type for the build
type: string
enum:
- archive
example: archive
nullable: true
source_options:
oneOf:
- $ref: "#/components/schemas/Hosting.V1.NodeJs.SourceOptionsResource"
nullable: true
description: Source options, varies based on sourceType
type: object
Hosting.V1.NodeJs.SourceOptionsResource:
properties:
archive_path:
description: Present if sourceType is "archive"
type: string
example: archive.zip
nullable: true
type: object
Hosting.V1.Orders.OrderCollection:
description: Array of
[`Hosting.V1.Orders.OrderResource`](#model/hostingv1ordersorderresource)
type: array
items:
$ref: "#/components/schemas/Hosting.V1.Orders.OrderResource"
Hosting.V1.Orders.OrderResource:
properties:
id:
description: Order ID
type: integer
example: 12345
client_id:
description: Client ID
type: integer
example: 67890
subscription_id:
description: Subscription ID
type: string
example: sub_abc123
nullable: true
created_at:
description: Creation date
type: string
format: date-time
example: 2023-10-08T12:00:00+00:00
plan:
$ref: "#/components/schemas/Hosting.V1.Orders.PlanResource"
status:
description: Order status
type: string
example: active
type: object
Hosting.V1.Orders.PlanResource:
properties:
name:
description: Plan name
type: string
example: hostinger_business
type: object
Hosting.V1.Websites.WebsiteCollection:
description: Array of
[`Hosting.V1.Websites.WebsiteResource`](#model/hostingv1websiteswebsiteresource)
type: array
items:
$ref: "#/components/schemas/Hosting.V1.Websites.WebsiteResource"
Hosting.V1.Websites.WebsiteResource:
properties:
domain:
description: Website domain
type: string
example: example.com
vhost_type:
description: Virtual host type
type: string
enum:
- main
- addon
- parked
- subdomain
example: main
is_enabled:
description: Whether website is enabled
type: boolean
example: true
username:
description: Username
type: string
example: cl_user123
client_id:
description: Client ID
type: integer
example: 67890
order_id:
description: Order ID
type: integer
example: 12345
created_at:
description: Creation date
type: string
format: date-time
example: 2024-01-15T10:30:00+00:00
root_directory:
description: Root directory path
type: string
example: /home/u123456798/domains/example.com/public_html
parent_domain:
description: Parent domain
type: string
example: parent.com
nullable: true
type: object
Reach.V1.Contacts.ContactCollection:
description: Array of
[`Reach.V1.Contacts.ContactResource`](#model/reachv1contactscontactresource)
type: array
items:
$ref: "#/components/schemas/Reach.V1.Contacts.ContactResource"
Reach.V1.Contacts.ContactResource:
properties:
uuid:
type: string
example: 550e8400-e29b-41d4-a716-446655440000
name:
type: string
example: John
nullable: true
surname:
type: string
example: Doe
nullable: true
email:
type: string
example: john.doe@example.com
subscription_status:
type: string
enum:
- subscribed
- unsubscribed
example: subscribed
subscribed_at:
type: string
format: date-time
example: 2023-01-01T00:00:00Z
source:
type: string
enum:
- sync
- import
- manual
example: sync
nullable: true
note:
type: string
maxLength: 75
example: VIP customer
nullable: true
type: object
Reach.V1.Contacts.Groups.ContactGroupCollection:
description: Array of
[`Reach.V1.Contacts.Groups.ContactGroupResource`](#model/reachv1contactsgroupscontactgroupresource)
type: array
items:
$ref: "#/components/schemas/Reach.V1.Contacts.Groups.ContactGroupResource"
Reach.V1.Contacts.Groups.ContactGroupResource:
properties:
uuid:
type: string
example: 550e8400-e29b-41d4-a716-446655440000
title:
type: string
example: Newsletter Subscribers
type: object
Reach.V1.Contacts.Segments.ContactSegmentCollection:
description: Array of
[`Reach.V1.Contacts.Segments.ContactSegmentResource`](#model/reachv1contactssegmentscontactsegmentresource)
type: array
items:
$ref: "#/components/schemas/Reach.V1.Contacts.Segments.ContactSegmentResource"
Reach.V1.Contacts.Segments.ContactSegmentResource:
properties:
uuid:
type: string
example: 550e8400-e29b-41d4-a716-446655440000
name:
type: string
example: Newsletter Subscribers
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
updated_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
type: object
Reach.V1.Contacts.Segments.SegmentResource:
properties:
uuid:
type: string
example: 550e8400-e29b-41d4-a716-446655440000
name:
type: string
example: Segment name
query:
type: array
items: {}
example:
conditions:
- attribute: email
operator: contains
value: example.com
logic: and
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
updated_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
type: object
Reach.V1.Contacts.Segments.SegmentationContactCollection:
description: Array of
[`Reach.V1.Contacts.Segments.SegmentationContactResource`](#model/reachv1contactssegmentssegmentationcontactresource)
type: array
items:
$ref: "#/components/schemas/Reach.V1.Contacts.Segments.SegmentationContactResou\
rce"
Reach.V1.Contacts.Segments.SegmentationContactResource:
properties:
uuid:
type: string
example: 550e8400-e29b-41d4-a716-446655440000
name:
type: string
example: John
nullable: true
surname:
type: string
example: Doe
nullable: true
email:
type: string
example: john.doe@example.com
subscription_status:
type: string
enum:
- subscribed
- unsubscribed
example: subscribed
subscribed_at:
type: string
format: date-time
example: 2023-01-01T00:00:00Z
source:
type: string
enum:
- sync
- import
- manual
example: sync
nullable: true
note:
type: string
maxLength: 75
example: VIP customer
nullable: true
type: object
Reach.V1.Profiles.ProfileCollection:
description: Array of
[`Reach.V1.Profiles.ProfileResource`](#model/reachv1profilesprofileresource)
type: array
items:
$ref: "#/components/schemas/Reach.V1.Profiles.ProfileResource"
Reach.V1.Profiles.ProfileResource:
properties:
limits:
properties:
ai_messages_limit:
type: integer
example: 10
subscribers_limit:
type: integer
example: 500
emails_monthly_limit:
type: integer
example: 3500
ai_messages_additional:
type: integer
example: 1096
type: object
is_trial:
type: boolean
example: false
expires_at:
type: string
format: date-time
example: 2027-10-21T05:38:23.000000Z
resource_id:
type: integer
example: 44340307
status:
type: string
example: active
profiles:
type: array
items:
properties:
uuid:
type: string
example: 550e8400-e29b-41d4-a716-446655440000
domain:
type: string
example: example.com
created_at:
type: string
format: date-time
example: 2026-01-21T07:35:04.000000Z
updated_at:
type: string
format: date-time
example: 2026-01-21T07:35:04.000000Z
type: object
type: object
VPS.V1.Action.ActionCollection:
description: Array of
[`VPS.V1.Action.ActionResource`](#model/vpsv1actionactionresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.Action.ActionResource"
VPS.V1.Action.ActionResource:
properties:
id:
description: Action ID
type: integer
example: 8123712
name:
description: Action name
type: string
example: action_name
state:
description: Action state
type: string
enum:
- success
- error
- delayed
- sent
- created
example: success
x-enum-descriptions:
success: Action was successful
error: Action failed
delayed: Action is delayed
sent: Action was sent
created: Action was created
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:00Z
updated_at:
type: string
format: date-time
example: 2025-02-27T11:58:00Z
type: object
VPS.V1.Backup.BackupCollection:
description: Array of
[`VPS.V1.Backup.BackupResource`](#model/vpsv1backupbackupresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.Backup.BackupResource"
VPS.V1.Backup.BackupResource:
properties:
id:
description: Backup ID
type: integer
example: 325
size:
description: Backup size in kilobytes
type: integer
example: 15240192
restore_time:
description: Estimated backup restore time in seconds
type: integer
example: 3600
location:
description: Location of the backup
type: string
example: nl-srv-nodebackups
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
type: object
VPS.V1.DataCenter.DataCenterCollection:
description: Array of
[`VPS.V1.DataCenter.DataCenterResource`](#model/vpsv1datacenterdatacenterresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.DataCenter.DataCenterResource"
VPS.V1.DataCenter.DataCenterResource:
properties:
id:
description: Data center ID
type: integer
example: 29
name:
description: Data center name
type: string
example: phx
nullable: true
location:
description: Data center location country (two letter code)
type: string
example: us
nullable: true
city:
description: Data center location city
type: string
example: Phoenix
nullable: true
continent:
description: Data center location continent
type: string
example: North America
nullable: true
type: object
VPS.V1.DockerManager.ContainerCollection:
description: Array of
[`VPS.V1.DockerManager.ContainerResource`](#model/vpsv1dockermanagercontainerresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.DockerManager.ContainerResource"
VPS.V1.DockerManager.ContainerPortCollection:
description: Array of
[`VPS.V1.DockerManager.ContainerPortResource`](#model/vpsv1dockermanagercontainerportresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.DockerManager.ContainerPortResource"
VPS.V1.DockerManager.ContainerPortResource:
properties:
type:
description: Port mapping type - published (accessible from host), exposed (only
internal), or range variants
type: string
enum:
- published
- published_range
- exposed
- exposed_range
example: published
x-enum-descriptions:
published: "
\ A single port mapped from the host to the container
(e.g., host:8080 -> container:80)
\ "
published_range: "
\ A range of ports mapped from the host to the
container
\ (e.g., host:8000-8010 -> container:3000-3010)
\ "
exposed: "
\ A single port made available for inter-container
communication within Docker networks
\ "
exposed_range: "
\ A range of ports made available for inter-container
communication within Docker networks
\ "
protocol:
description: Network protocol used for communication
type: string
enum:
- tcp
- udp
example: tcp
host_ip:
description: IP address on host where port is bound (null for exposed-only ports)
type: string
example: 0.0.0.0
nullable: true
host_port:
description: Port number on host machine (null for exposed-only or range ports)
type: integer
example: 8080
nullable: true
container_port:
description: Port number inside container (null for range ports)
type: integer
example: 80
nullable: true
host_port_start:
description: Starting port number in host port range (null for single ports)
type: integer
nullable: true
host_port_end:
description: Ending port number in host port range (null for single ports)
type: integer
nullable: true
container_port_start:
description: Starting port number in container port range (null for single ports)
type: integer
nullable: true
container_port_end:
description: Ending port number in container port range (null for single ports)
type: integer
nullable: true
type: object
VPS.V1.DockerManager.ContainerResource:
properties:
id:
description: Unique container identifier (short form of Docker container ID)
type: string
example: bbd4c89e850d
name:
description: Container name as defined in docker-compose or assigned by Docker
type: string
example: nginx
image:
description: Docker image name and tag used to create this container
type: string
example: nginx:latest
command:
description: Command being executed inside the container (may be truncated with
...)
type: string
example: /docker-entrypoint.sh nginx -g daemon off;
status:
description: Human-readable container status including uptime, exit codes, or
error information
type: string
example: Up 4 hours
state:
description: Programmatic container lifecycle state for automated processing
type: string
enum:
- created
- running
- restarting
- exited
- paused
- dead
- stopping
example: running
x-enum-descriptions:
created: Container has been created but never started
running: Container is actively running and performing its tasks
restarting: Container is in the process of being restarted
exited: Container ran and completed/stopped
paused: "
\ Container's processes have been paused, but container
is still allocated
\ "
dead: "
\ Container that the daemon tried and failed to stop
\ (usually due to the busy device or resource used by
the container)
\ "
stopping: Container is in the process of being stopped
health:
description: Container health status
type: string
enum:
- starting
- healthy
- unhealthy
- ""
example: healthy
x-enum-descriptions:
"": "
\ No health check is configured for the container
\ (this is the default when no HEALTHCHECK is defined)
\ "
healthy: "
\ The container has passed its health checks and is
operating normally
\ "
unhealthy: "
\ The container has failed its health checks (exceeded
the failure threshold)
\ "
starting: "
\ The container is still within its startup period
(health checks are running but
\ haven't passed the required number of consecutive
checks yet)
\ "
ports:
$ref: "#/components/schemas/VPS.V1.DockerManager.ContainerPortCollection"
stats:
oneOf:
- $ref: "#/components/schemas/VPS.V1.DockerManager.ContainerStatsResource"
nullable: true
description: Real-time resource usage statistics (only available for running
containers)
type: object
VPS.V1.DockerManager.ContainerStatsResource:
properties:
cpu_percentage:
description: CPU usage in percentage
type: number
format: float
example: 15.4
memory_percentage:
description: Memory usage in percentage
type: number
format: float
example: 0.4
memory_used:
description: Used memory in bytes
type: number
format: float
example: 66532147.2
memory_total:
description: Total available memory in bytes
type: number
format: float
example: 16771847290.88
net_in:
description: Inbound network traffic in bytes
type: integer
example: 2110000
net_out:
description: Outbound network traffic in bytes
type: integer
example: 30100
type: object
VPS.V1.DockerManager.ContentResource:
properties:
content:
description: Contents of docker-compose file
type: string
example: |-
services:
my-app:
image: nginx
ports:
- "80:80"
my-db:
image: mysql
environment:
description: Project environment variables
type: string
example: |-
VARIABLE1=value1
VARIABLE2=value2
nullable: true
type: object
VPS.V1.DockerManager.LogEntryCollection:
description: Array of
[`VPS.V1.DockerManager.LogEntryResource`](#model/vpsv1dockermanagerlogentryresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.DockerManager.LogEntryResource"
VPS.V1.DockerManager.LogEntryResource:
properties:
timestamp:
description: ISO 8601 formatted timestamp when the log entry was generated by
the container
type: string
example: 2024-01-15T10:30:45.123456Z
line:
description: Raw log message content as output by the application inside the
container
type: string
example: 127.0.0.1 - - [15/Jan/2024:10:30:45 +0000] "GET / HTTP/1.1" 200 612
type: object
VPS.V1.DockerManager.LogsCollection:
description: Array of
[`VPS.V1.DockerManager.LogsResource`](#model/vpsv1dockermanagerlogsresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.DockerManager.LogsResource"
VPS.V1.DockerManager.LogsResource:
properties:
service:
description: Name of the Docker Compose service that generated these log entries
type: string
example: web
entries:
$ref: "#/components/schemas/VPS.V1.DockerManager.LogEntryCollection"
type: object
VPS.V1.DockerManager.ProjectCollection:
description: Array of
[`VPS.V1.DockerManager.ProjectResource`](#model/vpsv1dockermanagerprojectresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.DockerManager.ProjectResource"
VPS.V1.DockerManager.ProjectResource:
properties:
name:
description: Docker Compose project name (derived from directory name or compose
file)
type: string
example: my-project
status:
description: Raw output from docker compose ps command showing service count and
states
type: string
example: running(2)
state:
description: Derived project state parsed from the raw docker compose status
type: string
enum:
- running
- stopped
- created
- mixed
- unknown
example: running
x-enum-descriptions:
running: Project is running and all services are healthy
stopped: Project is not running and all services are stopped
created: Project is created and not built yet, services are not running
mixed: Project is running with some services not healthy or not running
unknown: Could not determine the state of the project
path:
description: Full filesystem path to the docker-compose.yml file
type: string
example: /docker/my-project/docker-compose.yaml
containers:
$ref: "#/components/schemas/VPS.V1.DockerManager.ContainerCollection"
type: object
VPS.V1.Firewall.FirewallCollection:
description: Array of
[`VPS.V1.Firewall.FirewallResource`](#model/vpsv1firewallfirewallresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.Firewall.FirewallResource"
VPS.V1.Firewall.FirewallResource:
properties:
id:
description: Firewall ID
type: integer
example: 65224
name:
description: Firewall name
type: string
example: HTTP and SSH only
is_synced:
description: Is current firewall synced with VPS
type: boolean
example: false
rules:
$ref: "#/components/schemas/VPS.V1.Firewall.FirewallRuleCollection"
created_at:
type: string
format: date-time
example: 2021-09-01T12:00:00Z
updated_at:
type: string
format: date-time
example: 2021-09-01T12:00:00Z
type: object
VPS.V1.Firewall.FirewallRuleCollection:
description: Array of
[`VPS.V1.Firewall.FirewallRuleResource`](#model/vpsv1firewallfirewallruleresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.Firewall.FirewallRuleResource"
VPS.V1.Firewall.FirewallRuleResource:
properties:
id:
description: Firewall rule ID
type: integer
example: 24541
action:
description: Firewall rule action
type: string
enum:
- accept
- drop
example: accept
protocol:
description: Firewall rule protocol
type: string
enum:
- TCP
- UDP
- ICMP
- GRE
- any
- ESP
- AH
- ICMPv6
- SSH
- HTTP
- HTTPS
- MySQL
- PostgreSQL
example: TCP
port:
description: "Firewall rule destination port: single or port range"
type: string
example: 1024:2048
source:
description: Firewall rule source. Can be `any` or `custom`
type: string
example: any
source_detail:
description: Firewall rule source detail. Can be `any` or IP address, CIDR or
range
type: string
example: any
type: object
VPS.V1.IPAddress.IPAddressCollection:
description: Array of
[`VPS.V1.IPAddress.IPAddressResource`](#model/vpsv1ipaddressipaddressresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.IPAddress.IPAddressResource"
VPS.V1.IPAddress.IPAddressResource:
properties:
id:
description: IP address ID
type: integer
example: 52347
address:
description: "IP address: IPv4 or IPv6"
type: string
example: 213.331.273.15
ptr:
description: IP address PTR record
type: string
example: something.domain.tld
nullable: true
type: object
VPS.V1.Malware.MetricsResource:
properties:
records:
description: Records found during last scan
type: integer
example: 1
malicious:
description: Malicious files found during last scan
type: integer
example: 2
compromised:
description: Compromised files found during last scan
type: integer
example: 3
scanned_files:
description: Total number of files scanned during last scan
type: integer
example: 193218
scan_started_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
scan_ended_at:
type: string
format: date-time
example: 2025-03-27T11:54:22Z
nullable: true
type: object
VPS.V1.Metrics.MetricsCollection:
properties:
cpu_usage:
oneOf:
- $ref: "#/components/schemas/VPS.V1.Metrics.MetricsResource"
nullable: true
description: CPU usage in percentage, 0 - 100%
type: object
example:
unit: "%"
usage:
"1742269632": 1.45
ram_usage:
oneOf:
- $ref: "#/components/schemas/VPS.V1.Metrics.MetricsResource"
nullable: true
description: RAM usage in bytes
type: object
example:
unit: bytes
usage:
"1742269632": 554176512
disk_space:
oneOf:
- $ref: "#/components/schemas/VPS.V1.Metrics.MetricsResource"
nullable: true
description: Disk space usage in bytes
type: object
example:
unit: bytes
usage:
"1742269632": 2620018688
outgoing_traffic:
oneOf:
- $ref: "#/components/schemas/VPS.V1.Metrics.MetricsResource"
nullable: true
description: Outgoing traffic in bytes
type: object
example:
unit: bytes
usage:
"1742269632": 784800
incoming_traffic:
oneOf:
- $ref: "#/components/schemas/VPS.V1.Metrics.MetricsResource"
nullable: true
description: Incoming traffic in bytes
type: object
example:
unit: bytes
usage:
"1742269632": 8978400
uptime:
oneOf:
- $ref: "#/components/schemas/VPS.V1.Metrics.MetricsResource"
nullable: true
description: Uptime in milliseconds
type: object
example:
unit: milliseconds
usage:
"1742269632": 455248
type: object
VPS.V1.Metrics.MetricsResource:
properties:
unit:
description: Measurement unit
type: string
example: measurement-unit
usage:
description: Object, containing UNIX timestamps as a key and measurement as a
value.
type: object
example:
timestamp: 123
type: object
VPS.V1.PostInstallScript.PostInstallScriptCollection:
description: Array of
[`VPS.V1.PostInstallScript.PostInstallScriptResource`](#model/vpsv1postinstallscriptpostinstallscriptresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.PostInstallScript.PostInstallScriptResource"
VPS.V1.PostInstallScript.PostInstallScriptResource:
properties:
id:
description: Post-install script ID
type: integer
example: 325
name:
description: Name of the script
type: string
example: My Setup Script
content:
description: Content of the script
type: string
example: "#!/bin/bash\\napt-get update\\napt-get install -y nginx"
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
updated_at:
type: string
format: date-time
example: 2025-03-19T11:54:22Z
type: object
VPS.V1.PublicKey.PublicKeyCollection:
description: Array of
[`VPS.V1.PublicKey.PublicKeyResource`](#model/vpsv1publickeypublickeyresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.PublicKey.PublicKeyResource"
VPS.V1.PublicKey.PublicKeyResource:
properties:
id:
description: Public key ID
type: integer
example: 325
name:
description: Public key name
type: string
example: My public key
key:
description: Public key content
type: string
example: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD...
type: object
VPS.V1.Snapshot.SnapshotResource:
properties:
id:
description: Snapshot ID
type: integer
example: 325
restore_time:
description: Estimated snapshot restore time in seconds
type: integer
example: 1800
created_at:
type: string
format: date-time
example: 2025-02-27T11:54:22Z
expires_at:
type: string
format: date-time
example: 2025-03-19T11:54:22Z
type: object
VPS.V1.Template.TemplateCollection:
description: Array of
[`VPS.V1.Template.TemplateResource`](#model/vpsv1templatetemplateresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.Template.TemplateResource"
VPS.V1.Template.TemplateResource:
properties:
id:
description: Template ID
type: integer
example: 6523
name:
description: Template name
type: string
example: Ubuntu 20.04 LTS
description:
description: Template description
type: string
example: Ubuntu 20.04 LTS
documentation:
description: Link to official OS documentation
type: string
example: https://docs.ubuntu.com
nullable: true
type: object
VPS.V1.VirtualMachine.VirtualMachineCollection:
description: Array of
[`VPS.V1.VirtualMachine.VirtualMachineResource`](#model/vpsv1virtualmachinevirtualmachineresource)
type: array
items:
$ref: "#/components/schemas/VPS.V1.VirtualMachine.VirtualMachineResource"
VPS.V1.VirtualMachine.VirtualMachineResource:
properties:
id:
description: Virtual machine ID
type: integer
example: 17923
firewall_group_id:
description: Active firewall ID, `null` if disabled
type: integer
example: null
nullable: true
subscription_id:
description: Subscription ID
type: string
example: Azz353Uhl1xC54pR0
nullable: true
data_center_id:
description: Data center ID
type: integer
example: 521
nullable: true
plan:
description: VPS plan name
type: string
example: KVM 4
nullable: true
hostname:
type: string
example: srv17923.hstgr.cloud
state:
type: string
enum:
- running
- starting
- stopping
- stopped
- creating
- initial
- error
- suspending
- unsuspending
- suspended
- destroying
- destroyed
- recreating
- restoring
- recovery
- stopping_recovery
example: running
actions_lock:
type: string
enum:
- unlocked
- locked
example: unlocked
cpus:
description: CPUs count assigned to virtual machine
type: integer
example: 4
memory:
description: Memory available to virtual machine (in megabytes)
type: integer
example: 8192
disk:
description: Virtual machine disk size (in megabytes)
type: integer
example: 51200
bandwidth:
description: Monthly internet traffic available to virtual machine (in megabytes)
type: integer
example: 1073741824
ns1:
description: Primary DNS resolver
type: string
example: 1.1.1.1
nullable: true
ns2:
description: Secondary DNS resolver
type: string
example: 8.8.8.8
nullable: true
ipv4:
oneOf:
- $ref: "#/components/schemas/VPS.V1.IPAddress.IPAddressCollection"
nullable: true
description: IPv4 address of virtual machine
ipv6:
oneOf:
- $ref: "#/components/schemas/VPS.V1.IPAddress.IPAddressCollection"
nullable: true
description: IPv6 address of virtual machine, `null` if not assigned
template:
oneOf:
- $ref: "#/components/schemas/VPS.V1.Template.TemplateResource"
nullable: true
description: OS template installed in virtual machine
created_at:
type: string
format: date-time
example: 2024-09-05T07:25:36.00000Z
type: object
responses:
Common.Response.ErrorResponse:
description: Error response
content:
application/json:
schema:
properties:
message:
description: Message of the error
type: string
example: Error message
correlation_id:
description: Request correlation ID
type: string
example: 26a91bd9-f8c8-4a83-9df9-83e23d696fe3
type: object
x-scalar-ignore: true
Common.Response.UnauthorizedResponse:
description: Unauthenticated response
content:
application/json:
schema:
properties:
message:
description: Message of the error
type: string
example: Unauthenticated
correlation_id:
description: Request correlation ID
type: string
example: 26a91bd9-f8c8-4a83-9df9-83e23d696fe3
type: object
x-scalar-ignore: true
Common.Response.UnprocessableContentResponse:
description: Validation error response
content:
application/json:
schema:
properties:
message:
description: Validation error message
type: string
example: The name field is required. (and 1 more error)
errors:
description: Object of detailed errors for each field
properties:
field_1:
type: array
items: {}
example:
- The field_1 field is required.
- The field_1 must be a number.
field_2:
type: array
items: {}
example:
- The field_2 field is required.
- The field_2 must be a string.
type: object
correlation_id:
description: Request correlation ID
type: string
example: 26a91bd9-f8c8-4a83-9df9-83e23d696fe3
type: object
x-scalar-ignore: true
parameters:
category:
name: category
in: query
description: Filter catalog items by category
schema:
type: string
enum:
- DOMAIN
- VPS
example: VPS
name:
name: name
in: query
description: Filter catalog items by name. Use `*` for wildcard search, e.g.
`.COM*` to find .com domain
schema:
type: string
example: .COM*
paymentMethodId:
name: paymentMethodId
in: path
description: Payment method ID
required: true
schema:
type: integer
example: 9693613
subscriptionId:
name: subscriptionId
in: path
description: Subscription ID
required: true
schema:
type: string
example: Cxy353Uhl1xC54pG6
domain:
name: domain
in: path
description: Domain name
required: true
schema:
type: string
example: mydomain.tld
page:
name: page
in: query
description: Page number
required: false
schema:
type: integer
example: 1
per_page:
name: per_page
in: query
description: Number of items per page
required: false
schema:
type: integer
default: 25
maximum: 100
example: 25
snapshotId:
name: snapshotId
in: path
description: Snapshot ID
required: true
schema:
type: integer
example: 53513053
tld:
name: tld
in: query
description: Filter by TLD (without leading dot)
schema:
type: string
example: com
whoisId:
name: whoisId
in: path
description: WHOIS ID
required: true
schema:
type: integer
example: 564651
build_uuid_path:
name: uuid
in: path
description: Build UUID
required: true
schema:
type: string
format: uuid
example: 123e4567-e89b-12d3-a456-426614174000
directory:
name: directory
in: query
description: Directory path to check
required: false
schema:
type: string
default: ""
example: blog
domain_filter:
name: domain
in: query
description: Filter by domain name (exact match)
required: false
schema:
type: string
example: example.com
nullable: true
is_enabled:
name: is_enabled
in: query
description: Filter by enabled status
required: false
schema:
type: boolean
example: true
nullable: true
order_id:
name: order_id
in: query
description: Order ID
required: false
schema:
type: integer
example: 123
nullable: true
order_ids:
name: order_ids
in: query
description: Filter by specific order IDs
required: false
schema:
type: array
items:
type: integer
example:
- 12345
- 67890
nullable: true
statuses:
name: statuses
in: query
description: Filter by order statuses
required: false
schema:
type: array
items:
type: string
enum:
- active
- deleting
- deleted
- suspended
example:
- active
- suspended
nullable: true
order_id_required:
name: order_id
in: query
description: Order ID
required: true
schema:
type: integer
example: 123
nullable: false
username:
name: username
in: query
description: Filter by specific username
required: false
schema:
type: string
example: cl_user123
nullable: true
username_path:
name: username
in: path
required: true
schema:
type: string
example: u123456789
uuid:
name: uuid
in: path
description: UUID of the contact to delete
required: true
schema:
type: string
format: uuid
group_uuid:
name: group_uuid
in: query
description: Filter contacts by group UUID
required: false
schema:
type: string
example: 550e8400-e29b-41d4-a716-446655440000
profileUuid:
name: profileUuid
in: path
description: Profile uuid parameter
required: true
schema:
type: string
example: 550e8400-e09b-41d4-a716-400055000000
segmentUuid:
name: segmentUuid
in: path
description: Segment uuid parameter
required: true
schema:
type: string
example: 550e8400-e09b-41d4-a716-400055000000
subscription_status:
name: subscription_status
in: query
description: Filter contacts by subscription status
required: false
schema:
type: string
enum:
- subscribed
- unsubscribed
example: subscribed
tokenId:
name: tokenId
in: path
description: Token ID
required: true
schema:
type: integer
example: 6409747
actionId:
name: actionId
in: path
description: Action ID
required: true
schema:
type: integer
example: 8123712
backupId:
name: backupId
in: path
description: Backup ID
required: true
schema:
type: integer
example: 8676502
projectName:
name: projectName
in: path
description: Docker Compose project name using alphanumeric characters, dashes,
and underscores only
required: true
schema:
type: string
maxLength: 64
minLength: 3
example: my-docker-project
firewallId:
name: firewallId
in: path
description: Firewall ID
required: true
schema:
type: integer
example: 9449049
ruleId:
name: ruleId
in: path
description: Firewall Rule ID
required: true
schema:
type: integer
example: 8941182
ipAddressId:
name: ipAddressId
in: path
description: IP Address ID
required: true
schema:
type: integer
example: 246547
postInstallScriptId:
name: postInstallScriptId
in: path
description: Post-install script ID
required: true
schema:
type: integer
example: 9568314
publicKeyId:
name: publicKeyId
in: path
description: Public Key ID
required: true
schema:
type: integer
example: 6672861
templateId:
name: templateId
in: path
description: Template ID
required: true
schema:
type: integer
example: 2868928
virtualMachineId:
name: virtualMachineId
in: path
description: Virtual Machine ID
required: true
schema:
type: integer
example: 1268054
securitySchemes:
apiToken:
type: http
description: API Token authentication
scheme: bearer
security:
- apiToken: []
tags:
- name: "Billing: Catalog"
description: |-
Access a comprehensive catalog of service plans and
subscription options, complete with detailed pricing
and features.
x-displayName: Catalog
- name: "Billing: Payment methods"
description: |-
Review and manage the payment methods linked to your
Hostinger account. Enjoy a secure and convenient overview
for handling billing and transactions.
x-displayName: Payment methods
- name: "Billing: Subscriptions"
description: |-
Manage your account's subscriptions by retrieving lists of
active and expired plans along with details such as
activation and expiration dates.
x-displayName: Subscriptions
- name: "DNS: Snapshot"
description: |-
Manage DNS snapshots for your domains.
This category includes endpoints for viewing and restoring
snapshots of your domain DNS zone.
Snapshot is a point-in-time copy of your DNS zone, allowing you
to restore your domain's DNS settings to a previous state.
x-displayName: Snapshot
- name: "DNS: Zone"
description: |-
Manage DNS zones and records for your domains. This category
includes endpoints for retrieving, updating, deleting DNS zone
and it's associated records.
The DNS zone will be created once you purchase new domain
at Hostinger.
x-displayName: Zone
- name: "Domain Access Verifier: Verifications"
description: |-
Manage domain verifications.
This category includes endpoints for retrieving active domain
verifications, including verification status, records, and
attempt dates.
Domain verification allows you to prove ownership of domains
through nameserver or TXT record verification methods.
x-displayName: Verifications
- name: "Domains: Availability"
description: |-
Check the availability of domain names across multiple TLDs.
This category allows you to verify if a specific domain name
is available for registration.
x-displayName: Availability
- name: "Domains: Forwarding"
description: |-
Domain forwarding or redirect is an easy way to direct your
website visitors to another site or page, making it simple to
maintain your brand and keep your visitors engaged.
x-displayName: Forwarding
- name: "Domains: Portfolio"
description: |-
Retrieve and manage your domain portfolio. This category lets
you list all domains linked to your account, including their
creation and expiration details.
x-displayName: Portfolio
- name: "Domains: WHOIS"
description: |-
Manage WHOIS contact profiles for your domains. This category
includes endpoints for creating, updating, deleting, and
retrieving WHOIS profiles.
WHOIS profile stores registration data for domain names and
is required for domain registration.
x-displayName: WHOIS
- name: "Hosting: Datacenters"
description: |-
Access information about available datacenters for hosting
services. This category provides details about data center
locations and capabilities to help you choose the optimal
region for your hosting needs.
x-displayName: Datacenters
- name: "Hosting: Domains"
description: |-
Manage domain-related hosting services and configurations.
This category includes endpoints for domain management,
verification, and domain-specific hosting features.
x-displayName: Domains
- name: "Hosting: Files"
description: "Hosting: Files"
x-displayName: Files
- name: "Hosting: NodeJS"
description: "Hosting: NodeJS"
x-displayName: NodeJS
- name: "Hosting: Orders"
description: |-
Manage hosting service orders and subscriptions. This
category provides access to order information, status
tracking, and order management capabilities for hosting
services.
x-displayName: Orders
- name: "Hosting: Websites"
description: |-
Manage hosted websites and web applications. This category
includes endpoints for website deployment, configuration,
monitoring, and management of hosting resources.
x-displayName: Websites
- name: "Hosting: Wordpress"
description: "Hosting: Wordpress"
x-displayName: Wordpress
- name: "Reach: Contacts"
description: |-
Manage your email contacts and contact groups. This category
includes endpoints for creating, deleting, and listing
contacts, as well as managing contact groups.
x-displayName: Contacts
- name: "Reach: Segments"
description: |-
Filter and segment your email contacts using various
criteria. This category includes endpoints for filtering
contacts by attributes, tags, and email addresses, as well
as listing all available segments and retrieving contacts
that match specific attribute conditions.
x-displayName: Segments
- name: "Reach: Profiles"
description: "Reach: Profiles"
x-displayName: Profiles
- name: "VPS: Data centers"
description: |-
Access information on available data centers, including
location details, so you can choose the optimal region for
deploying your virtual machines.
x-displayName: Data centers
- name: "VPS: Docker Manager"
description: |-
Manage Docker Compose projects directly on your VPS
instances. This feature is only available for VPS instances
using Docker OS templates and is currently experimental -
breaking changes may occur in future updates.
It enables you to programmatically deploy projects from
docker-compose.yml files by providing either a URL (including
GitHub repositories) or the compose file contents directly.
Control project lifecycle (start/stop/restart/update/delete)
and retrieve runtime information including container lists,
project details, and aggregated logs.
All operations are scoped to a specific virtual machine for
multi-tenant management.
x-displayName: Docker Manager
- name: "VPS: Firewall"
description: |-
Enhance network security with endpoints for creating,
activating, deactivating, syncing, updating, and deleting
firewalls and firewall rules for your virtual machines.
This firewall applies rules at the network level, so it will
take precedence over the virtual machine's internal firewall.
**Access to firewall requires having at least one virtual machine.**
x-displayName: Firewall
- name: "VPS: Post-install scripts"
description: |-
This category allows you to create, update, delete, and
retrieve scripts that can be used for automated tasks after
the operating system installation. Use case includes setting
up software, configuring settings, or running custom commands.
x-displayName: Post-install scripts
- name: "VPS: Public Keys"
description: |-
Manage SSH keys for secure access. This category covers
adding new public keys, attaching them to virtual machines,
retrieving key lists, and deleting keys.
x-displayName: Public Keys
- name: "VPS: OS Templates"
description: |-
Retrieve details of operating system templates or list all
available templates to choose the right configuration when
deploying or recreating virtual machines.
x-displayName: OS Templates
- name: "VPS: Actions"
description: |-
Track and review operations performed on your virtual
machines. These endpoints provide details about specific
actions—such as start, stop, or restart—including
timestamps and statuses.
x-displayName: Actions
- name: "VPS: Virtual machine"
description: |-
Core virtual machine management functionality. Endpoints in
this category let you retrieve machine details, configure
settings (hostname, nameservers, passwords), and perform
operations like start, stop, restart, or recreate.
x-displayName: Virtual machine
- name: "VPS: Backups"
description: |-
Safeguard your data by managing backups. You can list
available backups or restore a virtual machine from a backup.
x-displayName: Backups
- name: "VPS: Malware scanner"
description: |-
Monitor your virtual machines' security using the Monarx
malware scanner. Retrieve scan metrics or install/uninstall
the scanner to help protect against malware threats.
x-displayName: Malware scanner
- name: "VPS: PTR records"
description: |-
Manage reverse DNS settings by creating or deleting PTR
records for your virtual machines, ensuring that IP addresses
correctly resolve to hostnames.
x-displayName: PTR records
- name: "VPS: Recovery"
description: |-
Initiate or stop recovery mode to perform system rescue
operations. This category enables you to boot a virtual
machine into a state suitable for repairing file systems
or recovering data.
x-displayName: Recovery
- name: "VPS: Snapshots"
description: |-
Create, restore, or delete snapshots that capture the state
of your virtual machines at a given point, allowing you to
quickly recover or test changes without affecting current
operations.
x-displayName: Snapshots
x-tagGroups:
- name: Billing
tags:
- "Billing: Catalog"
- "Billing: Payment methods"
- "Billing: Subscriptions"
- name: Domains
tags:
- "Domains: Availability"
- "Domains: Forwarding"
- "Domains: Portfolio"
- "Domains: WHOIS"
- name: DNS
tags:
- "DNS: Snapshot"
- "DNS: Zone"
- name: Domain Access Verifier
tags:
- "Domain Access Verifier: Verifications"
- name: Hosting
tags:
- "Hosting: Datacenters"
- "Hosting: Domains"
- "Hosting: Files"
- "Hosting: NodeJS"
- "Hosting: Orders"
- "Hosting: Websites"
- "Hosting: Wordpress"
- name: Reach
tags:
- "Reach: Contacts"
- "Reach: Segments"
- "Reach: Profiles"
- name: VPS
tags:
- "VPS: Actions"
- "VPS: Backups"
- "VPS: Data centers"
- "VPS: Docker Manager"
- "VPS: PTR records"
- "VPS: Firewall"
- "VPS: Malware scanner"
- "VPS: OS Templates"
- "VPS: Post-install scripts"
- "VPS: Public Keys"
- "VPS: Recovery"
- "VPS: Snapshots"
- "VPS: Virtual machine"
- name: Miscellaneous
tags:
- Models