7033 lines
220 KiB
YAML
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
|