{ "openapi": "3.0.0", "info": { "title": "Hostinger API", "description": "# Overview\nThe Hostinger API provides a comprehensive set of endpoints that allow developers\nto interact with Hostinger's services programmatically.\nThis API enables you to manage various aspects of your Hostinger account.\n\nThe Hostinger API is a (mostly) RESTful API that uses standard HTTP methods and status codes.\n# Authentication\nThe Hostinger API uses tokens for authentication. To authenticate your requests,\nyou need to include a valid bearer token in the Authorization header of your HTTP requests:\n```yaml\nAuthorization: Bearer YOUR_API_TOKEN\n```\nAPI tokens for individual users can be created and managed from\nthe [Account page](https://hpanel.hostinger.com/profile/api) of the Hostinger Panel.\nTokens will have same permissions as the owning user.\nOptionally, tokens can be set to expire after a certain period of time.\n# Rate Limiting\nTo ensure fair usage and prevent abuse,\nthe API enforces rate limits on the number of requests that can be made within a certain time period.\nIf you exceed the rate limit, you will receive a 429 Too Many Requests response.\nRate limit headers are included in the response to help you manage your requests.\nYour IP address might get temporarily blocked if you exceed the rate limit multiple times.\n# Parameters\nAll requests sent to API must have the content type `application/json`.\n`POST`, `PUT`, `PATCH` methods may include a JSON object in the request body.\nDocumentation provides required structure and examples of the object.\nSome endpoints require path parameters.\nThese parameters are included in the URL path and are marked with curly braces.\n# Pagination\nSome endpoints return a large number of items.\nTo make these responses more manageable, the API uses pagination.\nBy default, the API returns50 items per page.\n\n The page number can be specified using the `page` query parameter,\n for example: `/api/vps/v1/public-keys?page=2`\n# Errors\nThe Hostinger API uses standard HTTP status codes to indicate the success or failure of a request.\nIn case of an error, the API will return a JSON response with an `error` field,\ncontaining a human-readable error message.\nError responses also contain a `correlation_id` field\nwhich can be used to identify the request in case you need to contact support.\n# SDKs & Tools\nTo help you get started with the Hostinger API,we provide SDKs and tools in various programming languages.\nThe usage & documentation for each SDK can be found in the respective repositories:\n- Ansible - https://github.com/hostinger/ansible-collection-hostinger\n- CLI - https://github.com/hostinger/api-cli\n- n8n node - https://github.com/hostinger/api-n8n-node\n- MCP server - https://github.com/hostinger/api-mcp-server\n- PHP - https://github.com/hostinger/api-php-sdk\n- Python - https://github.com/hostinger/api-python-sdk\n- Terraform - https://github.com/hostinger/terraform-provider-hostinger\n- Node / TypeScript - https://github.com/hostinger/api-typescript-sdk\n- Postman collection - https://www.postman.com/hostinger-api\n- WHMCS module - https://github.com/hostinger/api-whmcs-plugin\n# Change log\nFor information on the latest changes to the API,\nplease refer to the [change log](https://github.com/hostinger/api/blob/main/CHANGELOG.md).\n# Support\nIf you have any questions, feedback or feature requests,\nplease create an [issue](https://github.com/hostinger/api/issues)\nor [discussion](https://github.com/hostinger/api/discussions) on the repository.\n\nFor any support take a look at our [Github Repository](https://github.com/hostinger/api/),\ndedicated 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.\n\nPrices in catalog items is displayed as cents (without floating point),\ne.g: float `17.99` is displayed as integer `1799`.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nIf you want to add new payment method,\nplease use [hPanel](https://hpanel.hostinger.com/billing/payment-methods).\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUsing `overwrite = true` will replace existing records with the provided ones. \nOtherwise existing records will be updated and new records will be added.\n\nUse 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.\n\nTo filter which records to delete, add the `name` of the record and `type` to the filter. \nMultiple filters can be provided with single request.\n\nIf you have multiple records with the same name and type, and you want to delete only part of them,\nrefer to the `Update zone records` endpoint.\n\nUse 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.\n\nUse this endpoint to restore domain DNS to original configuration.", "operationId": "DNS_resetDNSRecordsV1", "parameters": [ { "$ref": "#/components/parameters/domain"Lines 1–500 of 8403. Load more
{ "openapi": "3.0.0", "info": { "title": "Hostinger API", "description": "# Overview\nThe Hostinger API provides a comprehensive set of endpoints that allow developers\nto interact with Hostinger's services programmatically.\nThis API enables you to manage various aspects of your Hostinger account.\n\nThe Hostinger API is a (mostly) RESTful API that uses standard HTTP methods and status codes.\n# Authentication\nThe Hostinger API uses tokens for authentication. To authenticate your requests,\nyou need to include a valid bearer token in the Authorization header of your HTTP requests:\n```yaml\nAuthorization: Bearer YOUR_API_TOKEN\n```\nAPI tokens for individual users can be created and managed from\nthe [Account page](https://hpanel.hostinger.com/profile/api) of the Hostinger Panel.\nTokens will have same permissions as the owning user.\nOptionally, tokens can be set to expire after a certain period of time.\n# Rate Limiting\nTo ensure fair usage and prevent abuse,\nthe API enforces rate limits on the number of requests that can be made within a certain time period.\nIf you exceed the rate limit, you will receive a 429 Too Many Requests response.\nRate limit headers are included in the response to help you manage your requests.\nYour IP address might get temporarily blocked if you exceed the rate limit multiple times.\n# Parameters\nAll requests sent to API must have the content type `application/json`.\n`POST`, `PUT`, `PATCH` methods may include a JSON object in the request body.\nDocumentation provides required structure and examples of the object.\nSome endpoints require path parameters.\nThese parameters are included in the URL path and are marked with curly braces.\n# Pagination\nSome endpoints return a large number of items.\nTo make these responses more manageable, the API uses pagination.\nBy default, the API returns50 items per page.\n\n The page number can be specified using the `page` query parameter,\n for example: `/api/vps/v1/public-keys?page=2`\n# Errors\nThe Hostinger API uses standard HTTP status codes to indicate the success or failure of a request.\nIn case of an error, the API will return a JSON response with an `error` field,\ncontaining a human-readable error message.\nError responses also contain a `correlation_id` field\nwhich can be used to identify the request in case you need to contact support.\n# SDKs & Tools\nTo help you get started with the Hostinger API,we provide SDKs and tools in various programming languages.\nThe usage & documentation for each SDK can be found in the respective repositories:\n- Ansible - https://github.com/hostinger/ansible-collection-hostinger\n- CLI - https://github.com/hostinger/api-cli\n- n8n node - https://github.com/hostinger/api-n8n-node\n- MCP server - https://github.com/hostinger/api-mcp-server\n- PHP - https://github.com/hostinger/api-php-sdk\n- Python - https://github.com/hostinger/api-python-sdk\n- Terraform - https://github.com/hostinger/terraform-provider-hostinger\n- Node / TypeScript - https://github.com/hostinger/api-typescript-sdk\n- Postman collection - https://www.postman.com/hostinger-api\n- WHMCS module - https://github.com/hostinger/api-whmcs-plugin\n# Change log\nFor information on the latest changes to the API,\nplease refer to the [change log](https://github.com/hostinger/api/blob/main/CHANGELOG.md).\n# Support\nIf you have any questions, feedback or feature requests,\nplease create an [issue](https://github.com/hostinger/api/issues)\nor [discussion](https://github.com/hostinger/api/discussions) on the repository.\n\nFor any support take a look at our [Github Repository](https://github.com/hostinger/api/),\ndedicated 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.\n\nPrices in catalog items is displayed as cents (without floating point),\ne.g: float `17.99` is displayed as integer `1799`.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nIf you want to add new payment method,\nplease use [hPanel](https://hpanel.hostinger.com/billing/payment-methods).\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUsing `overwrite = true` will replace existing records with the provided ones. \nOtherwise existing records will be updated and new records will be added.\n\nUse 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.\n\nTo filter which records to delete, add the `name` of the record and `type` to the filter. \nMultiple filters can be provided with single request.\n\nIf you have multiple records with the same name and type, and you want to delete only part of them,\nrefer to the `Update zone records` endpoint.\n\nUse 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.\n\nUse this endpoint to restore domain DNS to original configuration.", "operationId": "DNS_resetDNSRecordsV1", "parameters": [ { "$ref": "#/components/parameters/domain"