{
  "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": "1.20.0",
    "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": "hostinger 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/agency-hosting/v1/orders/{order_id}/datacenters": {
      "get": {
        "tags": [
          "Agency Hosting: Datacenters"
        ],
        "summary": "List available datacenters for an Agency Plan order",
        "description": "Lists the datacenters available for provisioning a new website on the given Agency Plan\nhosting order.\n\nEach datacenter includes a `pinger_url` you can ping from the client to measure round-trip\nlatency; comparing the results across datacenters lets you pick the nearest one (lowest\nping) before choosing its `code` as the `datacenter_code` when creating a website setup.",
        "operationId": "agency-hosting_listAvailableDatacentersForAnAgencyPlanOrderV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/order_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.Datacenters.DatacenterCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/websites/{website_uid}/domains/{from_domain}": {
      "put": {
        "tags": [
          "Agency Hosting: Domains"
        ],
        "summary": "Change Agency Plan website domain",
        "description": "Changes the primary domain for an Agency Plan website.\n\nProvide the current domain in the path and the new domain in the request body.\nSet domain to null to revert to the temporary domain.",
        "operationId": "agency-hosting_changeAgencyPlanWebsiteDomainV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          },
          {
            "$ref": "#/components/parameters/from_domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgencyHosting.V1.Domains.ChangeDomainRequest"
              }
            }
          }
        },
        "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/agency-hosting/v1/websites/{website_uid}/domains": {
      "post": {
        "tags": [
          "Agency Hosting: Domains"
        ],
        "summary": "Link domain to Agency Plan website",
        "description": "Links a domain to the specified Agency Plan website so it can serve traffic for that domain.",
        "operationId": "agency-hosting_linkDomainToAgencyPlanWebsiteV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgencyHosting.V1.Domains.LinkDomainRequest"
              }
            }
          }
        },
        "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/agency-hosting/v1/domains": {
      "get": {
        "tags": [
          "Agency Hosting: Domains"
        ],
        "summary": "List Agency Plan domains",
        "description": "Returns a paginated list of domains associated with Agency Plan websites accessible to the authenticated client.\n\nUse the website_uuids filter to narrow results to specific websites.",
        "operationId": "agency-hosting_listAgencyPlanDomainsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          },
          {
            "$ref": "#/components/parameters/website_uuids"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/AgencyHosting.V1.Domains.DomainCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}": {
      "delete": {
        "tags": [
          "Agency Hosting: Domains"
        ],
        "summary": "Unlink domain from Agency Plan website",
        "description": "Unlinks a domain from the specified Agency Plan website.\n\nThe website stops serving traffic on this domain immediately.\n\nWebsite files and database are preserved, and any other linked domains remain accessible.\n\nIf this is the only domain on the website, unlinking leaves the website without an accessible domain.",
        "operationId": "agency-hosting_unlinkDomainFromAgencyPlanWebsiteV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          },
          {
            "$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/agency-hosting/v1/websites/{website_uid}/files/import-archive": {
      "post": {
        "tags": [
          "Agency Hosting: Files"
        ],
        "summary": "Import Agency Plan website from archive",
        "description": "Imports an Agency Plan website from an already-uploaded archive.\n\nUpload the archive to the website's root directory via file browser first, then provide its\nfilename in this request. Website contents are overwritten by the archive contents. Supported\narchive types: .zip, .tar, .tar.gz, .tgz.",
        "operationId": "agency-hosting_importAgencyPlanWebsiteFromArchiveV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgencyHosting.V1.Files.ImportArchiveRequest"
              }
            }
          }
        },
        "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/agency-hosting/v1/orders": {
      "get": {
        "tags": [
          "Agency Hosting: Orders"
        ],
        "summary": "List Agency Plan orders",
        "description": "Returns a paginated list of Agency Plan orders accessible to the authenticated client.",
        "operationId": "agency-hosting_listAgencyPlanOrdersV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/AgencyHosting.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/agency-hosting/v1/orders/{order_id}/websites/setups": {
      "post": {
        "tags": [
          "Agency Hosting: Website Setups"
        ],
        "summary": "Provision a new Agency Plan website",
        "description": "Provisions a new website on one of your Agency Plan hosting orders.\n\nChoose the datacenter, stack (`flavor`), and PHP version for the site. Optionally attach\nyour own `domain` — omit it, set it to `null`, or leave it unavailable and a free\n`*.hostingersite.com` subdomain is generated instead — and/or install WordPress by\nsupplying the `wordpress` details (admin account, site title, and language).\n\nCommon setups:\n- **Plain PHP site**: `flavor` set to `php-fpm`, with `settings.php.version`; omit\n  `wordpress` and `type`.\n- **WordPress site**: `flavor` set to the desired WordPress version (e.g. `wp-7.0`), plus\n  the `wordpress` block (admin account, title, language).\n- **Static/Node.js frontend app**: `flavor` set to `php-fpm` and `type` set to\n  `node-static`.\n\nProvisioning runs in the background, so the response returns immediately with a setup UUID\nthat identifies the job. The new website becomes reachable once provisioning finishes.",
        "operationId": "agency-hosting_provisionANewAgencyPlanWebsiteV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/order_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgencyHosting.V1.Setups.CreateSetupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.Setups.WebsiteSetupResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/orders/{order_id}/websites/setups/{setup_uuid}": {
      "get": {
        "tags": [
          "Agency Hosting: Website Setups"
        ],
        "summary": "Get Agency Plan website setup status",
        "description": "Returns the current status of an Agency Plan website setup started via the setups\nendpoint.\n\nPoll this endpoint using the `setup_uuid` returned from the provisioning request until\n`status` becomes `completed`, at which point `website_uid` identifies the new website.",
        "operationId": "agency-hosting_getAgencyPlanWebsiteSetupStatusV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/order_id_path"
          },
          {
            "$ref": "#/components/parameters/setup_uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.Setups.WebsiteSetupStatusResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/websites/{website_uid}/build-assets": {
      "post": {
        "tags": [
          "Agency Hosting: Websites"
        ],
        "summary": "Build Agency Plan website NodeJS assets",
        "description": "Builds and deploys a Node.js application for an Agency Plan website from an already-uploaded archive.\n\nUpload the archive to file browser first, then provide its relative path from document root in this request.\nWebsite contents are overwritten by the build result, which is deployed to public_html.",
        "operationId": "agency-hosting_buildAgencyPlanWebsiteNodeJSAssetsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.BuildAssetsRequest"
              }
            }
          }
        },
        "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/agency-hosting/v1/websites/{website_uid}/cache": {
      "delete": {
        "tags": [
          "Agency Hosting: Cache"
        ],
        "summary": "Clear Agency Plan website cache",
        "description": "Clears cache for all domains associated with an Agency Plan website, including its preview domain.\n\nThis operation clears all cache types for the website.",
        "operationId": "agency-hosting_clearAgencyPlanWebsiteCacheV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "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/agency-hosting/v1/websites/{website_uid}/cron-jobs": {
      "get": {
        "tags": [
          "Agency Hosting: Cron Jobs"
        ],
        "summary": "List Agency Plan website cron jobs",
        "description": "Returns a paginated list of cron jobs configured for an Agency Plan website.\n\nEach entry includes the schedule expression and the command executed on that schedule.",
        "operationId": "agency-hosting_listAgencyPlanWebsiteCronJobsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/AgencyHosting.V1.Websites.CronJobs.CronJobCollection"
                    },
                    "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": [
          "Agency Hosting: Cron Jobs"
        ],
        "summary": "Create Agency Plan website cron job",
        "description": "Creates a cron job for an Agency Plan website from a schedule expression and a command.\n\nReturns the created cron job, including its uuid, which is required to delete the cron job.",
        "operationId": "agency-hosting_createAgencyPlanWebsiteCronJobV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.CronJobs.CreateCronJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.Websites.CronJobs.CronJobResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs/{uuid}": {
      "delete": {
        "tags": [
          "Agency Hosting: Cron Jobs"
        ],
        "summary": "Delete Agency Plan website cron job",
        "description": "Permanently deletes the cron job identified by its uuid from an Agency Plan website.\n\nThe operation is idempotent: deleting a cron job that does not exist succeeds without error.",
        "operationId": "agency-hosting_deleteAgencyPlanWebsiteCronJobV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          },
          {
            "$ref": "#/components/parameters/agency_cron_job_uuid_path"
          }
        ],
        "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/agency-hosting/v1/websites/{website_uid}/databases": {
      "get": {
        "tags": [
          "Agency Hosting: Databases"
        ],
        "summary": "List Agency Plan website databases",
        "description": "Returns a paginated list of MySQL databases created for an Agency Plan website.\n\nEach entry includes the database's non-system users.",
        "operationId": "agency-hosting_listAgencyPlanWebsiteDatabasesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/AgencyHosting.V1.Websites.Databases.DatabaseCollection"
                    },
                    "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": [
          "Agency Hosting: Databases"
        ],
        "summary": "Create Agency Plan website database",
        "description": "Creates a MySQL database with a dedicated user for an Agency Plan website.\n\nThe database name, username, and password must all be provided by the caller.",
        "operationId": "agency-hosting_createAgencyPlanWebsiteDatabaseV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.Databases.CreateDatabaseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.Websites.Databases.DatabaseResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/websites/{website_uid}/databases/{database_name}": {
      "delete": {
        "tags": [
          "Agency Hosting: Databases"
        ],
        "summary": "Delete Agency Plan website database",
        "description": "Permanently deletes a MySQL database and all its data from an Agency Plan website, including its users.\n\nThe operation is idempotent: deleting a database that does not exist succeeds without error.",
        "operationId": "agency-hosting_deleteAgencyPlanWebsiteDatabaseV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          },
          {
            "$ref": "#/components/parameters/agency_database_name_path"
          }
        ],
        "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/agency-hosting/v1/websites/{website_uid}/databases/{database_name}/users": {
      "post": {
        "tags": [
          "Agency Hosting: Databases"
        ],
        "summary": "Create Agency Plan website database user",
        "description": "Creates a user for an existing database on an Agency Plan website.\n\nEach database supports a single non-system user; creating a user for a database that already has one fails.",
        "operationId": "agency-hosting_createAgencyPlanWebsiteDatabaseUserV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          },
          {
            "$ref": "#/components/parameters/agency_database_name_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.Databases.Users.CreateDatabaseUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.Websites.Databases.DatabaseUserResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/websites/{website_uid}/databases/{database_name}/users/{database_user_name}": {
      "delete": {
        "tags": [
          "Agency Hosting: Databases"
        ],
        "summary": "Delete Agency Plan website database user",
        "description": "Permanently deletes a database user from an Agency Plan website database, revoking all access it had.\n\nThe operation is idempotent: deleting a user that does not exist succeeds without error.",
        "operationId": "agency-hosting_deleteAgencyPlanWebsiteDatabaseUserV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          },
          {
            "$ref": "#/components/parameters/agency_database_name_path"
          },
          {
            "$ref": "#/components/parameters/agency_database_user_name_path"
          }
        ],
        "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/agency-hosting/v1/websites/{website_uid}": {
      "get": {
        "tags": [
          "Agency Hosting: Websites"
        ],
        "summary": "Get Agency Plan website details",
        "description": "Retrieves detailed information about a specific Agency Plan website, including configuration,\nstatus, metadata, hosting plan details, and resource quotas.",
        "operationId": "agency-hosting_getAgencyPlanWebsiteDetailsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "delete": {
        "tags": [
          "Agency Hosting: Websites"
        ],
        "summary": "Delete Agency Plan website",
        "description": "Deletes an Agency Plan website and schedules cleanup of its resources.\n\nThis action is irreversible. Website files, databases, and linked domains are removed.",
        "operationId": "agency-hosting_deleteAgencyPlanWebsiteV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteDeletionResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/websites/{website_uid}/processes": {
      "get": {
        "tags": [
          "Agency Hosting: Websites"
        ],
        "summary": "List running Agency Plan website processes",
        "description": "Lists active and recently completed asynchronous processes for an Agency Plan website.\n\nEach process has a unique ID (for tracking), a type, and a status (running, completed, failed).\nPoll this endpoint after initiating async operations (SSL setup, backups, cloning) to track progress.",
        "operationId": "agency-hosting_listRunningAgencyPlanWebsiteProcessesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteProcessCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/websites/{website_uid}/wordpress/settings/version": {
      "patch": {
        "tags": [
          "Agency Hosting: WordPress"
        ],
        "summary": "Change Agency Plan website WordPress core version",
        "description": "Changes the installed WordPress core version on an Agency Plan website to one of the versions available for installation.",
        "operationId": "agency-hosting_changeAgencyPlanWebsiteWordPressCoreVersionV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgencyHosting.V1.WordPress.ChangeVersionRequest"
              }
            }
          }
        },
        "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/agency-hosting/v1/websites/{website_uid}/wordpress/settings": {
      "get": {
        "tags": [
          "Agency Hosting: WordPress"
        ],
        "summary": "Get Agency Plan website WordPress settings",
        "description": "Returns the current WordPress settings for an Agency Plan website: installed core version,\nLiteSpeed Cache plugin status, object cache status, and maintenance mode status.",
        "operationId": "agency-hosting_getAgencyPlanWebsiteWordPressSettingsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.WordPress.SettingsResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/agency-hosting/v1/websites/{website_uid}/wordpress/settings/versions": {
      "get": {
        "tags": [
          "Agency Hosting: WordPress"
        ],
        "summary": "List available WordPress versions for an Agency Plan website",
        "description": "Lists the WordPress core versions available for installation on an Agency Plan website.",
        "operationId": "agency-hosting_listAvailableWordPressVersionsForAnAgencyPlanWebsiteV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_uid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgencyHosting.V1.WordPress.VersionCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/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/orders": {
      "post": {
        "tags": [
          "Billing: Orders"
        ],
        "summary": "Create purchase order",
        "description": "Create a purchase order for any Hostinger product.\n\nThis unified endpoint places an order for one or more catalog items and\nworks across all Hostinger products, leveraging the existing billing\ninfrastructure. Use the [catalog endpoint](#tag/billing-catalog) to look\nup the `item_id` values available for purchase.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nThis endpoint only places the order. Product-specific provisioning\n(e.g. VPS setup or domain registration) is not performed here — once the\norder completes, use the relevant product endpoints or\n[hPanel](https://hpanel.hostinger.com/) to finalize setup.\n\nUse this endpoint to purchase any product available in the catalog.",
        "operationId": "billing_createPurchaseOrderV1",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Billing.V1.Order.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/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"
          }
        ],
        "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.\n\nIf the validation is successful, the response will contain `200 Success` code.\nIf there is validation error, the response will fail with `422 Validation error` code.\n\nUse 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.ActiveVerificationsCollection"
                }
              }
            }
          },
          "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.\n\nMultiple TLDs can be checked at once.\nIf you want alternative domains with response, provide only one TLD and set `with_alternatives` to `true`.\nTLDs should be provided without leading dot (e.g. `com`, `net`, `org`).\n\nEndpoint has rate limit of 10 requests per minute.\n\nUse 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.\n\nUse 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"
          }
        }
      },
      "put": {
        "tags": [
          "Domains: Forwarding"
        ],
        "summary": "Update domain forwarding",
        "description": "Update domain forwarding configuration.\n\nUse this endpoint to modify existing redirect configuration for domains.",
        "operationId": "domains_updateDomainForwardingV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Domains.V1.Forwarding.UpdateRequest"
              }
            }
          }
        },
        "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"
          }
        }
      },
      "delete": {
        "tags": [
          "Domains: Forwarding"
        ],
        "summary": "Delete domain forwarding",
        "description": "Delete domain forwarding data.\n\nUse 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.\n\nUse 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}/auth-code": {
      "get": {
        "tags": [
          "Domains: Portfolio"
        ],
        "summary": "Get domain authorization code",
        "description": "Retrieve the authorization (EPP) code for a specified domain so it can be transferred\naway from Hostinger to another registrar.\n\nRequesting a new code invalidates any code retrieved previously.\n\nUse this endpoint to obtain the code required to transfer a domain to another registrar.",
        "operationId": "domains_getDomainAuthorizationCodeV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Domains.V1.Portfolio.AuthCode.AuthCodeResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "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.\n\nWhen domain lock is enabled,\nthe domain cannot be transferred to another registrar without first disabling the lock.\n\nUse 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.\n\nDomain lock needs to be disabled before transferring the domain to another registrar.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nIf registration fails, login to [hPanel](https://hpanel.hostinger.com/) and check domain registration status.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nIf no WHOIS information is provided, default contact information for that TLD will be used.\nBefore making request, ensure WHOIS information for desired TLD exists in your account.\n\nSome TLDs require `additional_details` to be provided and these will be validated before completing purchase.\n\nUse 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.\n\nWhen privacy protection is enabled, domain owner's personal information is hidden from public WHOIS database.\n\nUse 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.\n\nWhen privacy protection is disabled, domain owner's personal information is visible in public WHOIS database.\n\nUse 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}/renewal": {
      "get": {
        "tags": [
          "Domains: Portfolio"
        ],
        "summary": "Get domain renewal information",
        "description": "Retrieve renewal information for a specified domain, including its status and current\nexpiration date.\n\nUse this endpoint to build renewal automation and expiry monitoring for a single domain.",
        "operationId": "domains_getDomainRenewalInformationV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Domains.V1.Portfolio.Renewal.RenewalInformationResource"
                }
              }
            }
          },
          "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.\n\nBe aware, that improper nameserver configuration can lead to the domain being unresolvable or unavailable.\n\nUse 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/transfers/{domain}": {
      "get": {
        "tags": [
          "Domains: Transfer"
        ],
        "summary": "Get transfer",
        "description": "Retrieve the transfer for a specified domain.\n\nUse this endpoint to track an incoming or outgoing registrar transfer and its status.",
        "operationId": "domains_getTransferV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Domains.V1.Transfer.TransferResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/domains/v1/transfers": {
      "get": {
        "tags": [
          "Domains: Transfer"
        ],
        "summary": "Get transfer list",
        "description": "Retrieve all domain transfers in your portfolio.\n\nUse this endpoint to monitor incoming and outgoing registrar transfers across your domains.",
        "operationId": "domains_getTransferListV1",
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Domains.V1.Transfer.TransferCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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/ecommerce/v1/miscellaneous/custom-storefront-instructions": {
      "get": {
        "tags": [
          "Ecommerce: Miscellaneous"
        ],
        "summary": "Get custom storefront setup instructions",
        "description": "Retrieve step-by-step setup instructions, formatted as Markdown, for connecting a custom sales\nchannel to your store and keeping your catalog, orders, shipping and payments in sync through\nthe Ecommerce API.",
        "operationId": "ecommerce_getCustomStorefrontSetupInstructionsV1",
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.Miscellaneous.CustomStorefrontInstructionsResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/ecommerce/v1/stores/{store_id}/payment-methods/manual": {
      "post": {
        "tags": [
          "Ecommerce: Payments"
        ],
        "summary": "Enable manual payment method",
        "description": "Enable a manual payment method so the store can accept orders without an online payment provider.",
        "operationId": "ecommerce_enableManualPaymentMethodV1",
        "parameters": [
          {
            "name": "store_id",
            "in": "path",
            "description": "The ID of the store to enable manual payment for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ecommerce.V1.Payment.EnableManualPaymentRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.Payment.ManualPaymentResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/ecommerce/v1/stores/{store_id}/products/digital": {
      "post": {
        "tags": [
          "Ecommerce: Products"
        ],
        "summary": "Create digital product",
        "description": "Create a published digital product with a single variant and an optional external download link.",
        "operationId": "ecommerce_createDigitalProductV1",
        "parameters": [
          {
            "name": "store_id",
            "in": "path",
            "description": "The ID of the store to create the product in.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ecommerce.V1.Product.CreateDigitalProductRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.Product.ProductCreationResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/ecommerce/v1/stores/{store_id}/products/physical": {
      "post": {
        "tags": [
          "Ecommerce: Products"
        ],
        "summary": "Create physical product",
        "description": "Create a published physical product with a single variant priced in the store currency.",
        "operationId": "ecommerce_createPhysicalProductV1",
        "parameters": [
          {
            "name": "store_id",
            "in": "path",
            "description": "The ID of the store to create the product in.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ecommerce.V1.Product.CreatePhysicalProductRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.Product.ProductCreationResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/ecommerce/v1/stores/{store_id}/sales-channels": {
      "get": {
        "tags": [
          "Ecommerce: Sales channels"
        ],
        "summary": "List sales channels",
        "description": "List a store's active sales channels with their full metadata.",
        "operationId": "ecommerce_listSalesChannelsV1",
        "parameters": [
          {
            "name": "store_id",
            "in": "path",
            "description": "The ID of the store to list sales channels for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.SalesChannel.SalesChannelListResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Ecommerce: Sales channels"
        ],
        "summary": "Create custom sales channel",
        "description": "Create a custom sales channel for a store. Build your own frontend and keep your catalog,\norders, shipping and payments in sync through the Ecommerce API.",
        "operationId": "ecommerce_createCustomSalesChannelV1",
        "parameters": [
          {
            "name": "store_id",
            "in": "path",
            "description": "The ID of the store to create the sales channel for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ecommerce.V1.SalesChannel.StoreRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.SalesChannel.SalesChannelCreationResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/ecommerce/v1/stores/{store_id}/sales-channels/{sales_channel_id}": {
      "patch": {
        "tags": [
          "Ecommerce: Sales channels"
        ],
        "summary": "Update sales channel",
        "description": "Update a custom sales channel. The merchant-facing `name` and the public `url`\n(returned as the channel `domain`) can be changed. Pass `null` to clear a value.",
        "operationId": "ecommerce_updateSalesChannelV1",
        "parameters": [
          {
            "name": "store_id",
            "in": "path",
            "description": "The ID of the store that owns the sales channel.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          },
          {
            "name": "sales_channel_id",
            "in": "path",
            "description": "The ID of the sales channel to update.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "scha_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ecommerce.V1.SalesChannel.UpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.SalesChannel.SalesChannelUpdateResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/ecommerce/v1/stores/{store_id}/shipping": {
      "post": {
        "tags": [
          "Ecommerce: Shipping"
        ],
        "summary": "Set store shipping",
        "description": "Set the flat-rate shipping price for a store, creating the shipping zone if it does not exist yet.",
        "operationId": "ecommerce_setStoreShippingV1",
        "parameters": [
          {
            "name": "store_id",
            "in": "path",
            "description": "The ID of the store to configure shipping for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ecommerce.V1.Shipping.SetShippingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.Shipping.ShippingResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/ecommerce/v1/stores/{store_id}": {
      "delete": {
        "tags": [
          "Ecommerce: Stores"
        ],
        "summary": "Delete store",
        "description": "Soft-delete a store owned by your account.\n\nThe underlying store data is preserved; only the store is marked as deleted.",
        "operationId": "ecommerce_deleteStoreV1",
        "parameters": [
          {
            "name": "store_id",
            "in": "path",
            "description": "The ID of the store to delete.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.Store.StoreDeleteResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/ecommerce/v1/stores": {
      "get": {
        "tags": [
          "Ecommerce: Stores"
        ],
        "summary": "Get stores",
        "description": "Retrieve the stores associated with your account.",
        "operationId": "ecommerce_getStoresV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Ecommerce.V1.Store.StoreCollection"
                    },
                    "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": [
          "Ecommerce: Stores"
        ],
        "summary": "Create store",
        "description": "Create a new store for your account.\n\nA primary sales channel is created alongside the store.",
        "operationId": "ecommerce_createStoreV1",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ecommerce.V1.Store.StoreRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.Store.StoreCreationResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/ecommerce/v1/stores/{store_id}/metadata": {
      "get": {
        "tags": [
          "Ecommerce: Stores"
        ],
        "summary": "Get store metadata",
        "description": "Get a store's readiness metadata: whether payment methods and shipping are configured,\nplus its default currency. Useful to verify prerequisites before building a storefront.",
        "operationId": "ecommerce_getStoreMetadataV1",
        "parameters": [
          {
            "name": "store_id",
            "in": "path",
            "description": "The ID of the store to read metadata for.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ecommerce.V1.Store.StoreMetadataResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/horizons/v1/websites": {
      "post": {
        "tags": [
          "Horizons: Websites"
        ],
        "summary": "Create website",
        "description": "Create new Hostinger Horizons website from the given message.\\n\nUse this tool when user asks you to create a website, landing page, blog\nor any other type of application.\\n\nThis tool initiates the website creation process and returns a website URL and ID.\nThe generation happens asynchronously.\\n\nAfter invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing\nthat Hostinger Horizons is now creating their website and it will be ready in a few minutes\nand you should provide the website URL to the user immediately\nDo not write code.\\n\\nTo edit afterwards, users must go to Hostinger Horizons interface\nin the provided website URL.\nIf the tool call fails with an error, you should provide a clear explanation of the error\nand do not generate code yourself in the chat.\n\\n\nTECHNOLOGY STACK CONSTRAINTS (STRICTLY ENFORCED):\\n\nThe environment is limited to the following technologies.\nYou MUST NOT use, suggest, or implement any technology outside this list:\\n\n\\n\n- Language: JavaScript ONLY.\n- Languages like TypeScript, Rust, Python, Java, PHP, etc., are STRICTLY PROHIBITED.\\n\n- Framework: React.\\n\n- Navigation: React Router.\\n\n- Styling: TailwindCSS.\\n\n- Components: shadcn/ui (built with @radix-ui primitives).\\n\n- Icons: Lucide React.\\n\n- Animations: Framer Motion.\\n\n\\n\nBACKEND & DATA STORAGE:\\n\n- Horizons integrated backend is the EXCLUSIVE solution for persistent data storage,\nauthentication, and database needs.\\n\n- Local databases (SQLite, MySQL, etc.) are STRICTLY PROHIBITED.\\n\n- Third-party services (Firebase, AWS Amplify) are allowed ONLY if explicitly requested by the user.\\n\n\\n\nMAPS:\\n\n- OpenStreetMap is the default provider.\\n\n- Alternative providers (Google Maps, Mapbox) are allowed ONLY if explicitly requested by the user.\\n",
        "operationId": "horizons_createWebsiteV1",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Horizons.V1.Websites.CreateWebsiteRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Horizons.V1.Websites.CreatedWebsiteResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/horizons/v1/websites/{websiteId}": {
      "get": {
        "tags": [
          "Horizons: Websites"
        ],
        "summary": "Get website",
        "description": "Get a link for the user to edit their website in Hostinger Horizons interface.\\n\nUse this tool when user wants to modify, edit or add new features to an existing website.\\n\nWebsites can only be edited in Hostinger Horizons interface in the provided website URL.",
        "operationId": "horizons_getWebsiteV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/website_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Horizons.V1.Websites.WebsiteUrlResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/websites/{domain}/cache/clear": {
      "delete": {
        "tags": [
          "Hosting: Cache"
        ],
        "summary": "Clear website cache",
        "description": "Permanently clears all server-side cache for the website at once. Use it when content was\nupdated and needs to be visible immediately, or after making major changes.\n\nAlso purges the Hostinger CDN cache when CDN is enabled on the website. For a WordPress\ninstallation living in a subdirectory, pass the directory query parameter to clear its cache.",
        "operationId": "hosting_clearWebsiteCacheV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          },
          {
            "name": "directory",
            "in": "query",
            "description": "Directory of the website installation to clear, relative to the website root.\nDefaults to the website root.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "blog"
            }
          }
        ],
        "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/hosting/v1/accounts/{username}/websites/{domain}/cacheless-mode/toggle": {
      "patch": {
        "tags": [
          "Hosting: Cache"
        ],
        "summary": "Toggle cacheless mode",
        "description": "Turns development (cacheless) mode on or off, based on the enabled flag. When enabled, nothing\nis cached, effectively turning off all caching for the website; use it while actively developing,\ntesting changes, debugging issues, or when real-time updates must be visible. Disable it after\nfinishing development work to restore the performance benefits of caching.",
        "operationId": "hosting_toggleCachelessModeV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Cache.ToggleCachelessModeRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/websites/{domain}/cache/toggle": {
      "patch": {
        "tags": [
          "Hosting: Cache"
        ],
        "summary": "Toggle website cache",
        "description": "Turns server-side caching for the website on or off, based on the enabled flag. Enable it for\nfaster page loads, reduced server load, and improved user experience; recommended for production\nwebsites. Disabling may impact performance; to temporarily bypass caching while developing or\ndebugging, prefer toggling cacheless mode instead.\n\nDoes nothing if caching is already in the requested state.",
        "operationId": "hosting_toggleWebsiteCacheV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Cache.ToggleCacheRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/cron-jobs": {
      "get": {
        "tags": [
          "Hosting: Cron Jobs"
        ],
        "summary": "List account cron jobs",
        "description": "Returns the list of cron jobs configured for the specified account, including their schedule and command.",
        "operationId": "hosting_listAccountCronJobsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.CronJobs.CronJobCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Hosting: Cron Jobs"
        ],
        "summary": "Create account cron job",
        "description": "Creates a cron job for the specified account from a schedule expression and a command.\n\nReturns the created cron job, including its uid, which is required to delete the cron job or fetch its output.",
        "operationId": "hosting_createAccountCronJobV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.CronJobs.CreateCronJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.CronJobs.CronJobResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/cron-jobs/{uid}": {
      "delete": {
        "tags": [
          "Hosting: Cron Jobs"
        ],
        "summary": "Delete account cron job",
        "description": "Permanently deletes the cron job identified by its uid.\n\nThe uid is returned by the list cron jobs endpoint.",
        "operationId": "hosting_deleteAccountCronJobV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/cron_job_uid_path"
          }
        ],
        "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/hosting/v1/accounts/{username}/cron-jobs/{uid}/output": {
      "get": {
        "tags": [
          "Hosting: Cron Jobs"
        ],
        "summary": "Get cron job output",
        "description": "Returns the output captured from the last execution of the cron job identified by its uid.\n\nThe uid is returned by the list cron jobs endpoint.",
        "operationId": "hosting_getCronJobOutputV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/cron_job_uid_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.CronJobs.CronJobOutputResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/databases/{name}/change-password": {
      "patch": {
        "tags": [
          "Hosting: Databases"
        ],
        "summary": "Change database password",
        "description": "Changes the password for the specified database user.\n\nThe database name must be the full name returned by the list databases endpoint.\nThe password must also be updated in any website configuration that uses this database.",
        "operationId": "hosting_changeDatabasePasswordV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/database_name_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Databases.ChangeDatabasePasswordRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/databases": {
      "get": {
        "tags": [
          "Hosting: Databases"
        ],
        "summary": "List account databases",
        "description": "Returns a paginated list of databases for the specified account.\n\nUse the domain and is_assigned filters to find databases assigned to a specific domain.",
        "operationId": "hosting_listAccountDatabasesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          },
          {
            "$ref": "#/components/parameters/domain_filter"
          },
          {
            "$ref": "#/components/parameters/database_is_assigned"
          },
          {
            "$ref": "#/components/parameters/database_search"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Hosting.V1.Databases.DatabaseCollection"
                    },
                    "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: Databases"
        ],
        "summary": "Create account database",
        "description": "Creates a database with a database user and password for the specified account.\n\nThe database name and user are automatically prefixed with the account username when needed.",
        "operationId": "hosting_createAccountDatabaseV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Databases.CreateDatabaseRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/databases/{name}": {
      "delete": {
        "tags": [
          "Hosting: Databases"
        ],
        "summary": "Delete account database",
        "description": "Permanently deletes a database and its remote connections.\n\nThe database name must be the full name returned by the list databases endpoint.",
        "operationId": "hosting_deleteAccountDatabaseV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/database_name_path"
          }
        ],
        "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/hosting/v1/accounts/{username}/databases/{name}/remote-connections": {
      "post": {
        "tags": [
          "Hosting: Databases"
        ],
        "summary": "Create account database remote connection",
        "description": "Allows a remote host to connect to the specified database.\n\nProvide an IPv4/IPv6 address, or \"%\" to allow any host. The database name must be\nthe full name returned by the list databases endpoint.",
        "operationId": "hosting_createAccountDatabaseRemoteConnectionV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/database_name_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Databases.RemoteConnections.CreateRemoteConnectionRequest"
              }
            }
          }
        },
        "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"
          }
        }
      },
      "delete": {
        "tags": [
          "Hosting: Databases"
        ],
        "summary": "Delete account database remote connection",
        "description": "Permanently removes a remote-access rule, revoking the given host's remote access to the database.\n\nIdentify the rule with the required ip query parameter (the IPv4/IPv6 address, or \"%\",\nexactly as returned by the list remote connections endpoint). The database name must be\nthe full name returned by the list databases endpoint.",
        "operationId": "hosting_deleteAccountDatabaseRemoteConnectionV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/database_name_path"
          },
          {
            "name": "ip",
            "in": "query",
            "description": "Remote host to revoke: the IPv4/IPv6 address, or \"%\",\nexactly as returned by the list remote connections endpoint.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "192.0.2.10"
            }
          }
        ],
        "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/hosting/v1/accounts/{username}/databases/remote-connections": {
      "get": {
        "tags": [
          "Hosting: Databases"
        ],
        "summary": "List account database remote connections",
        "description": "Returns the remote-access rules for the specified account: the remote hosts\n(IPv4/IPv6 addresses, or \"%\" for any host) allowed to connect to the account databases.\n\nUse the domain filter to only return rules for databases assigned to a specific domain.",
        "operationId": "hosting_listAccountDatabaseRemoteConnectionsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "name": "domain",
            "in": "query",
            "description": "Filter remote connections by the domain the database is assigned to.\nRules for databases not assigned to any domain are always included.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "example.com",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.Databases.RemoteConnections.RemoteConnectionCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/databases/{name}/repair": {
      "patch": {
        "tags": [
          "Hosting: Databases"
        ],
        "summary": "Repair database",
        "description": "Repairs corrupted database tables asynchronously.\n\nUse when database errors, crashes, or corruption are reported.\nThe database name must be the full name returned by the list databases endpoint.",
        "operationId": "hosting_repairDatabaseV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/database_name_path"
          }
        ],
        "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/hosting/v1/accounts/{username}/databases/{name}/phpmyadmin-link": {
      "get": {
        "tags": [
          "Hosting: Databases"
        ],
        "summary": "Get phpMyAdmin link",
        "description": "Returns a direct sign-on link to phpMyAdmin for the specified database.\n\nUse this when a visual database interface is needed for SQL queries, imports, exports, or table management.\nThe database name must be the full name returned by the list databases endpoint.",
        "operationId": "hosting_getPhpMyAdminLinkV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/database_name_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.Databases.PhpMyAdminLinkResource"
                }
              }
            }
          },
          "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\nbased on available datacenter capacity and hosting plan of your order.\nThe first item in the list is the best match for your specific order\nrequirements.",
        "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.\nFree subdomains allow you to start using hosting services immediately\nand 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/accounts/{username}/websites/{domain}/parked-domains": {
      "get": {
        "tags": [
          "Hosting: Domains"
        ],
        "summary": "List website parked domains",
        "description": "Retrieve all parked or alias domains created under the selected website.\n\nUse this endpoint to inspect parked domain configuration for a specific website,\nincluding the parent domain and root directory assigned to each parked domain.",
        "operationId": "hosting_listWebsiteParkedDomainsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.Domains.ParkedDomainCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Hosting: Domains"
        ],
        "summary": "Create website parked domain",
        "description": "Create a parked or alias domain for the selected website.\n\nProvide a domain name or IP address to park on the website so it serves the same content\nas the parent domain.",
        "operationId": "hosting_createWebsiteParkedDomainV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Domains.CreateParkedDomainRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/websites/{domain}/parked-domains/{parkedDomain}": {
      "delete": {
        "tags": [
          "Hosting: Domains"
        ],
        "summary": "Delete website parked domain",
        "description": "Delete an existing parked or alias domain from the selected website.\n\nUse this endpoint to remove parked domains that are no longer needed.",
        "operationId": "hosting_deleteWebsiteParkedDomainV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          },
          {
            "$ref": "#/components/parameters/parked_domain_path"
          }
        ],
        "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/hosting/v1/accounts/{username}/websites/{domain}/subdomains": {
      "get": {
        "tags": [
          "Hosting: Domains"
        ],
        "summary": "List website subdomains",
        "description": "Retrieve all subdomains created under the selected website.\n\nUse this endpoint to inspect subdomain configuration for a specific website,\nincluding the parent domain and root directory assigned to each subdomain.",
        "operationId": "hosting_listWebsiteSubdomainsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.Domains.SubdomainCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Hosting: Domains"
        ],
        "summary": "Create website subdomain",
        "description": "Create a new subdomain for the selected website.\n\nProvide a subdomain prefix and, optionally, a custom directory or the\nwebsite public directory to use as the subdomain root.",
        "operationId": "hosting_createWebsiteSubdomainV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Domains.CreateSubdomainRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/websites/{domain}/subdomains/{subdomain}": {
      "delete": {
        "tags": [
          "Hosting: Domains"
        ],
        "summary": "Delete website subdomain",
        "description": "Delete an existing subdomain from the selected website.\n\nUse this endpoint to remove subdomains that are no longer needed.",
        "operationId": "hosting_deleteWebsiteSubdomainV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          },
          {
            "$ref": "#/components/parameters/subdomain_path"
          }
        ],
        "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/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.\n\nUse this endpoint to check if a domain is accessible for you before using it for new websites.\nIf the domain is accessible, the response will have `is_accessible: true`.\nIf not, add the given TXT record to your domain's DNS records and try verifying again.\nKeep in mind that it may take up to 10 minutes for new TXT DNS records to propagate.\n\nSkip 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/accounts/{username}/websites/{domain}/nodejs/builds": {
      "get": {
        "tags": [
          "Hosting: NodeJS"
        ],
        "summary": "List NodeJS builds",
        "description": "Retrieve a paginated list of Node.js build processes for a specific website.\n\nEach build represents a single run of the Node.js build pipeline. Use the `states`\nquery parameter to filter results by build state (pending, running, completed, failed).\nUse the `uuid` from a build to poll its output via the `Get Node.js Build Logs` endpoint.",
        "operationId": "hosting_listNodeJSBuildsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          },
          {
            "name": "states",
            "in": "query",
            "description": "Build states to filter by",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "pending",
                  "running",
                  "completed",
                  "failed"
                ]
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Hosting.V1.NodeJs.BuildCollection"
                    },
                    "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/accounts/{username}/websites/{domain}/nodejs/builds/from-archive": {
      "post": {
        "tags": [
          "Hosting: NodeJS"
        ],
        "summary": "Create NodeJS build from archive",
        "description": "Upload a project archive, auto-detect build settings, and immediately start a Node.js build.\n\nThis is the recommended single-step approach for deploying a Node.js application.\nThe archive is uploaded to the website's file storage, build settings are auto-detected\nfrom the package.json inside the archive, and the build process starts automatically.\nOptional override fields take precedence over auto-detected values.\nMaximum archive size is 50MB.\n\nBefore archiving, exclude `node_modules/` and any build output directories\n(e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build\nprocess runs the install step automatically, and including them unnecessarily\nincreases the archive size. This also helps keep the archive well under the 50MB limit.\n\nExample (zip):\n```\nzip -r archive.zip . --exclude \"node_modules/*\" --exclude \"dist/*\"\n```\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
        "operationId": "hosting_createNodeJSBuildFromArchiveV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.NodeJs.CreateFromArchiveRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.NodeJs.BuildResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/{uuid}/logs": {
      "get": {
        "tags": [
          "Hosting: NodeJS"
        ],
        "summary": "Get NodeJS build logs",
        "description": "Retrieve logs from a specific Node.js build process.\n\nTo stream live output while a build is running, poll this endpoint repeatedly\nwhile the build state is `running`, passing the previously returned `lines` count\nas `from_line` to fetch only new output since the last call.\nLog content may contain ANSI escape sequences (color codes).",
        "operationId": "hosting_getNodeJSBuildLogsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          },
          {
            "$ref": "#/components/parameters/build_uuid_path"
          },
          {
            "name": "from_line",
            "in": "query",
            "description": "Line from which to start retrieving logs",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "example": 10,
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.NodeJs.BuildLogsResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/server/restart": {
      "post": {
        "tags": [
          "Hosting: NodeJS"
        ],
        "summary": "Restart Node.js application",
        "description": "Restarts the Node.js server process for the website. Does not rebuild or redeploy the\napplication. Use it to apply environment or configuration changes, or to recover a hung\napplication.\n\nOnly applicable to server-side applications (Express, Next.js, NestJS, etc.). Static\nfront-end apps (React, Vue, Vite) have no persistent server process, so restarting them\nhas no effect. Returns success even when the website has no server process to restart.",
        "operationId": "hosting_restartNode.jsApplicationV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$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/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities": {
      "get": {
        "tags": [
          "Hosting: NodeJS"
        ],
        "summary": "List Node.js vulnerabilities",
        "description": "Lists known npm package vulnerabilities detected on a Node.js website, enriched with\nadvisory metadata (severity, CVSS score, CVE, advisory URL). Results are sorted from\nthe most severe to the least severe, then by publish date (newest first). Use the\n`severities` query parameter to filter.\n\nVulnerabilities with `is_patchable` set to `true` can be auto-fixed via the\n`Patch Node.js Vulnerabilities` endpoint, which opens a GitHub pull request with\nupdated package versions. Auto-fix is only available for websites deployed from a\nconnected GitHub repository. Vulnerabilities with `is_patching_in_progress` set to\n`true` are already included in an open patch pull request; while any patch pull\nrequest is open, new patch requests for this website are rejected until it is merged\nor closed.\n\nData comes from periodic dependency scans, so it may lag behind the latest deployment.\nAn empty list means the most recent scan found no vulnerabilities; it does not\nguarantee the current deployment is vulnerability-free. Available on Business and\nCloud Hosting plans.",
        "operationId": "hosting_listNode.jsVulnerabilitiesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          },
          {
            "name": "severities",
            "in": "query",
            "description": "Severities to filter by",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "low",
                  "moderate",
                  "high",
                  "critical",
                  "unknown"
                ]
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.NodeJs.VulnerabilityCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities/patch": {
      "post": {
        "tags": [
          "Hosting: NodeJS"
        ],
        "summary": "Patch Node.js vulnerabilities",
        "description": "Patches the selected Node.js vulnerabilities by updating the affected package versions\nin `package.json` and opening a GitHub pull request in the connected repository. The\ncustomer reviews and merges the pull request; merging triggers the automatic deployment.\n\nAuto-fix is only available for websites deployed from a connected GitHub repository.\nWebsites deployed from an archive have no auto-fix path and return a 404. The Hostinger\nGitHub App needs write access to the repository; without it the request fails with a\n403 explaining the missing permission.\n\nOnly vulnerabilities with `is_patchable` set to `true` can be patched. Non-patchable\nIDs in the selection are skipped; the pull request covers the patchable subset, listed\nin `patched_vulnerability_ids`. Selections without any patchable vulnerability are\nrejected with a 422. Only one patch pull request can be open at a time per website;\nclose or merge it before patching again. Available on Business and Cloud Hosting plans.",
        "operationId": "hosting_patchNode.jsVulnerabilitiesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.NodeJs.PatchVulnerabilitiesRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.NodeJs.PatchResultResource"
                }
              }
            }
          },
          "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.\n\nThis endpoint returns orders of your hosting accounts as well as orders\nof other client hosting accounts that have shared access with you.\n\nUse the available query parameters to filter results by order statuses\nor 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/accounts/{username}/websites/{domain}/php/extensions/reset": {
      "patch": {
        "tags": [
          "Hosting: PHP"
        ],
        "summary": "Reset PHP extensions",
        "description": "Resets all PHP extensions of the website to their default state.\n\nUse it to recover from extension conflicts or restore the original configuration.",
        "operationId": "hosting_resetPHPExtensionsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$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/hosting/v1/accounts/{username}/websites/{domain}/php/details": {
      "get": {
        "tags": [
          "Hosting: PHP"
        ],
        "summary": "Get PHP details",
        "description": "Returns the full PHP configuration for the website: current version, available versions\n(supported and unsupported), enabled/disabled extensions, options with their current value,\ndefault, type and the plan limit (`max`), and conflicting extension groups.\n\nUse it to check the current PHP setup before updating the version, extensions or options.",
        "operationId": "hosting_getPHPDetailsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.Php.PhpDetailsResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/websites/{domain}/php/php-info": {
      "get": {
        "tags": [
          "Hosting: PHP"
        ],
        "summary": "Get PHP info",
        "description": "Returns the full phpinfo page (HTML) for the website.\n\nUse it to debug PHP issues or inspect the complete PHP environment of the website.",
        "operationId": "hosting_getPHPInfoV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Hosting.V1.Php.PhpInfoResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/websites/{domain}/php/extensions": {
      "patch": {
        "tags": [
          "Hosting: PHP"
        ],
        "summary": "Update PHP extensions",
        "description": "Enables or disables PHP extensions (modules) for the website.\n\nUse the Get PHP details endpoint to check the current extension states before changing them.",
        "operationId": "hosting_updatePHPExtensionsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Php.UpdatePhpExtensionsRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/websites/{domain}/php/options": {
      "patch": {
        "tags": [
          "Hosting: PHP"
        ],
        "summary": "Update PHP options",
        "description": "Updates PHP options for the website (e.g. `memory_limit`, `max_execution_time`, `upload_max_filesize`).\nOnly provide the options you want to change, inside the `options` object.\n\nValues above the account plan limit are silently capped to that limit, so the request can succeed\nwith a smaller applied value. Call the Get PHP details endpoint afterwards to read the applied value.",
        "operationId": "hosting_updatePHPOptionsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Php.UpdatePhpOptionsRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/websites/{domain}/php/version": {
      "patch": {
        "tags": [
          "Hosting: PHP"
        ],
        "summary": "Update PHP version",
        "description": "Changes the PHP version of the website.\n\nUse the Get PHP details endpoint to see the versions available for the website.",
        "operationId": "hosting_updatePHPVersionV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Php.UpdatePhpVersionRequest"
              }
            }
          }
        },
        "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/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.\n\nThis endpoint returns websites from your hosting accounts as well as\nwebsites from other client hosting accounts that have shared access\nwith you.\n\nUse the available query parameters to filter results by username,\norder 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.\n\nProvide the domain name and associated order ID to create a new website.\nThe datacenter_code parameter is required when creating the first website\non a new hosting plan - this will set up and configure new hosting account\nin the selected datacenter.\n\nSubsequent websites will be hosted on the same datacenter automatically.\n\nWebsite creation takes up to a few minutes to complete. Check the\nwebsites 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/hosting/v1/websites/{domain}": {
      "delete": {
        "tags": [
          "Hosting: Websites"
        ],
        "summary": "Delete website",
        "description": "Permanently deletes a website and all of its data. This action is destructive\nand cannot be undone. Always ask the user for explicit confirmation before\ncalling this endpoint.\n\nAll website files, databases and related configuration will be removed.\nThe hosting plan itself is kept, so a new website can be created on it afterwards.\n\nThe confirm field must be boolean true, otherwise the request is rejected.\n\nSupported websites: main and addon domain websites on web hosting plans, and\nWebsite Builder websites. Parked domains and subdomains cannot be deleted with\nthis endpoint. The domain must be the exact website domain, not a preview\ndomain or an alias.\n\nReturns 404 when the domain does not exist or does not belong to the\nauthenticated client.\n\nWebsite removal is processed asynchronously and can take a few minutes to\ncomplete. The response returns before the removal finishes.",
        "operationId": "hosting_deleteWebsiteV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/domain"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Hosting.V1.Websites.DeleteWebsiteRequest"
              }
            }
          }
        },
        "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/mail/v1/orders/{orderId}/api-tokens": {
      "post": {
        "tags": [
          "Mail: API Tokens"
        ],
        "summary": "Create API token",
        "description": "Create an API token for the given mail order. The token grants access\nto the [Hostinger Email API](https://api.mail.hostinger.com/), where\nyou can provision and manage the mailboxes it is scoped to.\n\nThe plaintext token is returned only in this response, never again.\nA maximum of 10 tokens can exist per order. Use\n`scope.has_all_mailboxes` to cover all current and future mailboxes,\nor list specific mailboxes in `scope.mailbox_ids`.",
        "operationId": "mail_createAPITokenV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mail.V1.Schema.CreateApiTokenRequestSchema"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.ApiTokens.ApiTokenCreatedResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "409": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/api-tokens/{tokenId}": {
      "delete": {
        "tags": [
          "Mail: API Tokens"
        ],
        "summary": "Revoke API token",
        "description": "Revoke an API token. The token immediately loses access to the\n[Hostinger Email API](https://api.mail.hostinger.com/). This action\ncannot be undone.",
        "operationId": "mail_revokeAPITokenV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_api_token_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.SuccessEmptyResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/api-tokens": {
      "get": {
        "tags": [
          "Mail: API Tokens"
        ],
        "summary": "List API tokens",
        "description": "Retrieve a paginated list of\n[Hostinger Email API](https://api.mail.hostinger.com/) tokens across\nall your mail orders, optionally filtered by order. Plaintext tokens\nare never included; they are returned only when a token is created.",
        "operationId": "mail_listAPITokensV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_api_token_order_filter"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.ApiTokens.ApiTokenCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/mailboxes/{mailboxId}/autoreplies": {
      "post": {
        "tags": [
          "Mail: Autoreplies"
        ],
        "summary": "Create autoreply",
        "description": "Create an automatic reply for the given mailbox. A mailbox can have\nonly one autoreply. Omit `starts_at` to activate the autoreply\nimmediately and omit `ends_at` to keep it active indefinitely.",
        "operationId": "mail_createAutoreplyV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_mailbox_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mail.V1.Schema.UpsertAutoreplyRequestSchema"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Autoreplies.AutoreplyResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "409": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/autoreplies/{autoreplyId}": {
      "put": {
        "tags": [
          "Mail: Autoreplies"
        ],
        "summary": "Update autoreply",
        "description": "Replace the autoreply with the given content and schedule. Omitted\noptional fields are cleared: omit `starts_at` to activate the\nautoreply immediately and omit `ends_at` to keep it active\nindefinitely.",
        "operationId": "mail_updateAutoreplyV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_autoreply_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mail.V1.Schema.UpsertAutoreplyRequestSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Autoreplies.AutoreplyResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "delete": {
        "tags": [
          "Mail: Autoreplies"
        ],
        "summary": "Delete autoreply",
        "description": "Delete the autoreply of a mailbox. The mailbox stops sending\nautomatic replies immediately.",
        "operationId": "mail_deleteAutoreplyV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_autoreply_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.SuccessEmptyResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/autoreplies": {
      "get": {
        "tags": [
          "Mail: Autoreplies"
        ],
        "summary": "List autoreplies",
        "description": "Retrieve a paginated list of autoreplies across all mailboxes of a\nmail order.",
        "operationId": "mail_listAutorepliesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Autoreplies.AutoreplyCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/mailboxes/{mailboxId}/forwarders": {
      "post": {
        "tags": [
          "Mail: Forwarders"
        ],
        "summary": "Create forwarder",
        "description": "Create a forwarder from the given mailbox to the destination address.\nThe destination receives a confirmation email and forwarding becomes\nactive only after it is confirmed.",
        "operationId": "mail_createForwarderV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_mailbox_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mail.V1.Schema.CreateForwarderRequestSchema"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Forwarders.ForwarderResource"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "409": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/forwarders/{forwarderId}": {
      "delete": {
        "tags": [
          "Mail: Forwarders"
        ],
        "summary": "Delete forwarder",
        "description": "Delete a forwarder. The mailbox stops forwarding messages to the\ndestination address immediately.",
        "operationId": "mail_deleteForwarderV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_forwarder_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.SuccessEmptyResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/forwarders": {
      "get": {
        "tags": [
          "Mail: Forwarders"
        ],
        "summary": "List forwarders",
        "description": "Retrieve a paginated list of forwarders across all mailboxes of a\nmail order.",
        "operationId": "mail_listForwardersV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Forwarders.ForwarderCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/forwarders/{forwarderId}/confirmation/resend": {
      "post": {
        "tags": [
          "Mail: Forwarders"
        ],
        "summary": "Resend forwarder confirmation",
        "description": "Resend the confirmation email to the destination address of an\nunconfirmed forwarder.",
        "operationId": "mail_resendForwarderConfirmationV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_forwarder_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.SuccessEmptyResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "409": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/forwarders/{forwarderId}/keep-copy": {
      "patch": {
        "tags": [
          "Mail: Forwarders"
        ],
        "summary": "Update forwarder keep-copy setting",
        "description": "Enable or disable keeping a copy of forwarded messages in the\nmailbox.",
        "operationId": "mail_updateForwarderKeepCopySettingV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_forwarder_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mail.V1.Schema.UpdateForwarderKeepCopyRequestSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.SuccessEmptyResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/logs/access": {
      "get": {
        "tags": [
          "Mail: Logs"
        ],
        "summary": "List access logs",
        "description": "Retrieve paginated access logs for the domain attached to the given\nmail order. Supports filtering by account, date range, protocol,\nstatus, and deletion flag. Results are sorted by timestamp descending.",
        "operationId": "mail_listAccessLogsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/mail_log_account"
          },
          {
            "$ref": "#/components/parameters/mail_log_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_from_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_to_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_status"
          },
          {
            "$ref": "#/components/parameters/mail_access_log_protocol"
          },
          {
            "$ref": "#/components/parameters/mail_access_log_has_deletions"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Logs.Access.AccessLogCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/logs/action": {
      "get": {
        "tags": [
          "Mail: Logs"
        ],
        "summary": "List action logs",
        "description": "Retrieve paginated account action logs (administrative and user\nactions) for the given mail order. Supports filtering by account,\ndate range, and status. Results are sorted by timestamp descending.",
        "operationId": "mail_listActionLogsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/mail_log_account"
          },
          {
            "$ref": "#/components/parameters/mail_log_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_from_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_to_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_status"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Logs.Action.ActionLogCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/logs/inbound": {
      "get": {
        "tags": [
          "Mail: Logs"
        ],
        "summary": "List inbound logs",
        "description": "Retrieve paginated inbound (received mail) delivery logs for the\ndomain attached to the given mail order. Supports filtering by\naccount, date range, status, sender, and recipient. Results are\nsorted by timestamp descending.",
        "operationId": "mail_listInboundLogsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/mail_log_account"
          },
          {
            "$ref": "#/components/parameters/mail_log_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_from_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_to_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_status"
          },
          {
            "$ref": "#/components/parameters/mail_log_sender"
          },
          {
            "$ref": "#/components/parameters/mail_log_recipient"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Logs.Common.DeliveryLogCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/logs/mailbox-actions": {
      "get": {
        "tags": [
          "Mail: Logs"
        ],
        "summary": "List mailbox action logs",
        "description": "Retrieve paginated mailbox action logs (message and mailbox events)\nfor a mailbox in the given mail order. The mailbox email must belong\nto the order's domain. Supports date range and event type filters.\nResults are sorted by timestamp descending.",
        "operationId": "mail_listMailboxActionLogsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/mail_mailbox_email"
          },
          {
            "$ref": "#/components/parameters/mail_log_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_from_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_to_date"
          },
          {
            "$ref": "#/components/parameters/mail_mailbox_action_event"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Logs.MailboxActions.MailboxActionLogCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/logs/outbound": {
      "get": {
        "tags": [
          "Mail: Logs"
        ],
        "summary": "List outbound logs",
        "description": "Retrieve paginated outbound (sent mail) delivery logs for the domain\nattached to the given mail order. Supports filtering by account, date\nrange, status, sender, and recipient. Results are sorted by timestamp\ndescending.",
        "operationId": "mail_listOutboundLogsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/mail_log_account"
          },
          {
            "$ref": "#/components/parameters/mail_log_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_from_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_to_date"
          },
          {
            "$ref": "#/components/parameters/mail_log_status"
          },
          {
            "$ref": "#/components/parameters/mail_log_sender"
          },
          {
            "$ref": "#/components/parameters/mail_log_recipient"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Logs.Common.DeliveryLogCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/mailboxes": {
      "get": {
        "tags": [
          "Mail: Mailboxes"
        ],
        "summary": "List mailboxes",
        "description": "Retrieve a paginated list of mailboxes belonging to a mail order.\n\nUse this endpoint to monitor mailboxes of your mail service, including\ntheir status, enabled protocols, attached resource counts, and\nperiodically synced usage numbers (usage may lag behind live values).",
        "operationId": "mail_listMailboxesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/mail_mailbox_search"
          },
          {
            "$ref": "#/components/parameters/mail_mailbox_sort"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Mailboxes.MailboxCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Mail: Mailboxes"
        ],
        "summary": "Create mailbox",
        "description": "Create a mailbox under the given mail order. The full email address is\ncomposed from the given local part and the domain of the order.",
        "operationId": "mail_createMailboxV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mail.V1.Schema.CreateMailboxRequestSchema"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Mailboxes.MailboxResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "409": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/mailboxes/{mailboxId}": {
      "delete": {
        "tags": [
          "Mail: Mailboxes"
        ],
        "summary": "Delete mailbox",
        "description": "Delete a mailbox. The mailbox is soft-deleted and stays restorable\nfor a limited period before it is permanently removed.",
        "operationId": "mail_deleteMailboxV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_mailbox_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.SuccessEmptyResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "409": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/mailboxes/{mailboxId}/password": {
      "patch": {
        "tags": [
          "Mail: Mailboxes"
        ],
        "summary": "Change mailbox password",
        "description": "Change the password of a mailbox.",
        "operationId": "mail_changeMailboxPasswordV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_mailbox_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mail.V1.Schema.ChangeMailboxPasswordRequestSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.SuccessEmptyResource"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders": {
      "get": {
        "tags": [
          "Mail: Orders"
        ],
        "summary": "List orders",
        "description": "Retrieve a paginated list of mail orders associated with your account.\n\nUse this endpoint to monitor your mail services, including their status,\nplan, attached domain, and expiration details.",
        "operationId": "mail_listOrdersV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_domain_filter"
          },
          {
            "$ref": "#/components/parameters/mail_order_status"
          },
          {
            "$ref": "#/components/parameters/mail_order_is_trial"
          },
          {
            "$ref": "#/components/parameters/mail_order_sort"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Orders.OrderCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/plan": {
      "get": {
        "tags": [
          "Mail: Orders"
        ],
        "summary": "Get order plan",
        "description": "Retrieve the plan the given mail order was purchased with, including\ndomain-level and mailbox-level quotas, limits, and protocol\navailability.",
        "operationId": "mail_getOrderPlanV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Orders.PlanResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/mailboxes/{mailboxId}/webhooks": {
      "post": {
        "tags": [
          "Mail: Webhooks"
        ],
        "summary": "Create webhook",
        "description": "Create a webhook for the given mailbox. The generated secret is\nreturned only in this response and is sent as a bearer token with\nevery delivery.",
        "operationId": "mail_createWebhookV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_mailbox_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mail.V1.Schema.CreateWebhookRequestSchema"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookCreatedResource"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "409": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/webhooks/delivery-logs": {
      "get": {
        "tags": [
          "Mail: Webhooks"
        ],
        "summary": "List webhook delivery logs",
        "description": "Retrieve a paginated list of webhook delivery logs for the given mail\norder, including delivery outcome, duration, and retry counts.\nSupports filtering by mailbox.",
        "operationId": "mail_listWebhookDeliveryLogsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/mail_webhook_mailbox_filter"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookDeliveryLogCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/webhooks/{webhookId}": {
      "get": {
        "tags": [
          "Mail: Webhooks"
        ],
        "summary": "Get webhook",
        "description": "Retrieve the details of a single webhook. The webhook secret is never\nincluded; it is returned only when a webhook is created or its secret\nis regenerated.",
        "operationId": "mail_getWebhookV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_webhook_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "delete": {
        "tags": [
          "Mail: Webhooks"
        ],
        "summary": "Delete webhook",
        "description": "Permanently delete a webhook. This action cannot be undone. After\ndeletion the URL no longer receives event notifications.",
        "operationId": "mail_deleteWebhookV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_webhook_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Common.SuccessEmptyResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "patch": {
        "tags": [
          "Mail: Webhooks"
        ],
        "summary": "Update webhook",
        "description": "Partially update a webhook. Only the fields included in the request\nbody are changed; omitted fields retain their current values. Pass\n`\"description\": null` to clear the description.",
        "operationId": "mail_updateWebhookV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_webhook_id_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mail.V1.Schema.UpdateWebhookRequestSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookResource"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/orders/{orderId}/webhooks": {
      "get": {
        "tags": [
          "Mail: Webhooks"
        ],
        "summary": "List webhooks",
        "description": "Retrieve a paginated list of webhooks belonging to the given mail\norder. Supports filtering by mailbox and status. The webhook secret\nis never included; it is returned only when a webhook is created or\nits secret is regenerated.",
        "operationId": "mail_listWebhooksV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_order_id_path"
          },
          {
            "$ref": "#/components/parameters/mail_webhook_mailbox_filter"
          },
          {
            "$ref": "#/components/parameters/mail_webhook_status"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/per_page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookCollection"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Common.Schema.PaginationMetaSchema"
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/webhooks/{webhookId}/regenerate-secret": {
      "post": {
        "tags": [
          "Mail: Webhooks"
        ],
        "summary": "Regenerate webhook secret",
        "description": "Regenerate the secret of a webhook. The previous secret is\nimmediately invalidated. The new secret is returned only in this\nresponse and is sent as a bearer token with every delivery.",
        "operationId": "mail_regenerateWebhookSecretV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_webhook_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookSecretResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/mail/v1/webhooks/{webhookId}/test": {
      "post": {
        "tags": [
          "Mail: Webhooks"
        ],
        "summary": "Test webhook",
        "description": "Send a test delivery to the webhook URL and return the result. Test\nrequests are rate limited upstream.",
        "operationId": "mail_testWebhookV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/mail_webhook_id_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookTestResultResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "429": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          },
          "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.\n\nThis 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.\n\nThis 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.\n\nThis endpoint returns a paginated list of contacts with their basic information.\nYou 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.\n\nThis endpoint allows you to create a new contact with basic information like name, email, and surname.\n\nIf double opt-in is enabled,\nthe 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.\n\nThis 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.\n\nThis endpoint allows creating a new contact segment that can be used to organize contacts.\nThe 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/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/contacts": {
      "get": {
        "tags": [
          "Reach: Segments"
        ],
        "summary": "List profile segment contacts",
        "description": "Retrieve contacts associated with a specific segment for a given profile.\n\nThis endpoint allows you to fetch and filter contacts that belong to a particular segment,\nidentified by its UUID, scoped to a specific profile.",
        "operationId": "reach_listProfileSegmentContactsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/profileUuid"
          },
          {
            "$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.SegmentationContactCollection"
                    },
                    "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}/contacts": {
      "get": {
        "tags": [
          "Reach: Segments"
        ],
        "summary": "List segment contacts",
        "description": "Retrieve contacts associated with a specific segment.\n\nThis endpoint allows you to fetch and filter contacts that belong to a particular segment,\nidentified 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.SegmentationContactCollection"
                    },
                    "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.\n\nThis endpoint retrieves information about a single segment identified by UUID.\nSegments 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.\n\nThis endpoint allows you to create a new contact with basic information like name, email, and surname.\n\nIf double opt-in is enabled, the contact will be created with a pending status\nand 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/{profileUuid}/domains/dns-status": {
      "get": {
        "tags": [
          "Reach: Profiles"
        ],
        "summary": "Get profile domain DNS status",
        "description": "Retrieve the DNS configuration status for a profile's domain.\n\nThis endpoint reports the state of MX, SPF, DKIM and DMARC records, including the\nactual records found and the suggested records required for correct email delivery.",
        "operationId": "reach_getProfileDomainDNSStatusV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/profileUuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reach.V1.Profiles.Domains.DnsStatusResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "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.\n\nUse 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. \n\nThis endpoint returns detailed information about each container including\ntheir current status, port mappings, and runtime configuration.\n\nUse 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\nfile contents, project metadata, and current deployment status.\n\nThis endpoint provides the full configuration and state details of a specific Docker Compose project. \n\nUse 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 \nassociated resources including networks, volumes, and images. \n\nThis operation is irreversible and will delete all project data. \n\nUse 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. \n\nThis endpoint returns basic information about each project including name,\nstatus, file path and list of containers with details about their names,\nimage, status, health and ports. Container stats are omitted in this\nendpoint. If you need to get detailed information about container with\nstats included, use the `Get project containers` endpoint.\n\nUse 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. \n\nURL can be Github repository url in format https://github.com/[user]/[repo]\nand it will be automatically resolved to docker-compose.yaml file in\nmaster branch. Any other URL provided must return docker-compose.yaml\nfile contents.\n\nIf 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. \n\nThis endpoint returns recent log output from each container, organized by service name with timestamps. \nThe response contains the last 300 log entries across all services. \n\nUse this for debugging, monitoring application behavior, and\ntroubleshooting 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\ncontainers in the correct dependency order.\n\nThis operation preserves data volumes and network configurations while refreshing the running containers. \n\nUse 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. \n\nThis operation brings up containers in the correct dependency order as defined in the compose file. \n\nUse 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\ncontainer configurations and data volumes.\n\nThis operation gracefully shuts down containers in reverse dependency order. \n\nUse 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\nrecreating containers with new configurations.\n\nThis operation preserves data volumes while applying changes from the compose file. \n\nUse this to deploy application updates, apply configuration changes, or\nrefresh 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.\n\nOnly one firewall can be active for a virtual machine at a time.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nAny virtual machine that has this firewall activated will automatically have it deactivated.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nAny virtual machine that has this firewall activated will lose sync with the firewall\nand will have to be synced again manually.\n\nUse 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.\n\nAny virtual machine that has this firewall activated will lose sync with the firewall\nand will have to be synced again manually.\n\nUse 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.\n\nBy default, the firewall drops all incoming traffic,\nwhich means you must add accept rules for all ports you want to use.\n\nAny virtual machine that has this firewall activated will lose sync with the firewall\nand will have to be synced again manually.\n\nUse 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.\n\nFirewall can lose sync with virtual machine if the firewall has new rules added, removed or updated.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n       \nUse 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.\n\nUse 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.PostInstallScriptCollection"
                    },
                    "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.\n\nThe script contents will be saved to the file `/post_install` with executable attribute set\nand will be executed once virtual machine is installed.\nThe output of the script will be redirected to `/post_install.log`. Maximum script size is 48KB.\n\nUse 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.\n\nMultiple keys can be attached to a single virtual machine.\n\nUse 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. \n\n**Deleting public key from account does not remove it from virtual machine** \n       \nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nActions are operations or events that have been executed on the virtual\nmachine, such as starting, stopping, or modifying the machine. This endpoint\nallows you to view the history of these actions, providing details about\neach action, such as the action name, timestamp, and status.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nThe system will then initiate the restore process, which may take some time depending on the size of the backup.\n\n**All data on the virtual machine will be overwritten with the data from the backup.**\n\nUse 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.\n\nChanging hostname does not update PTR record automatically.\nIf you want your virtual machine to be reachable by a hostname, \nyou need to point your domain A/AAAA records to virtual machine IP as well.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nIf virtual machine setup fails for any reason, login to\n[hPanel](https://hpanel.hostinger.com/) and complete the setup manually.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nUse 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\ninstalled on a specified virtual machine.\n\nThe scan metrics provide detailed information about malware scans performed\nby Monarx, including number of scans, detected threats, and other relevant\nstatistics. This information is useful for monitoring security status of the\nvirtual machine and assessing effectiveness of the malware scanner.\n\nUse 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.\n\n[Monarx](https://www.monarx.com/) is a security tool designed to detect and\nprevent malware infections on virtual machines. By installing Monarx, users\ncan enhance the security of their virtual machines, ensuring that they are\nprotected against malicious software.\n\nUse 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.\n\nIf Monarx is not installed, the request will still be processed without any effect.\n\nUse 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.\n\nIt includes the following metrics: \n- CPU usage\n- Memory usage\n- Disk usage\n- Network usage\n- Uptime\n\nUse 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.\n\nBe aware, that improper nameserver configuration can lead to the virtual\nmachine being unable to resolve domain names.\n\nUse 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.\n\nUse 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.\n\nOnce deleted, reverse DNS lookups to the virtual machine's IP address will\nno longer return the previously configured hostname.\n\nUse 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.\n\nIf virtual machine does not use panel OS, the request will still be processed without any effect.\nRequirements for password are same as in the [recreate virtual machine\nendpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).\n\nUse 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.\n\nRecovery mode is a special state that allows users to perform system rescue operations, \nsuch as repairing file systems, recovering data, or troubleshooting issues that prevent the virtual machine \nfrom booting normally. \n\nVirtual machine will boot recovery disk image and original disk image will be mounted in `/mnt` directory.\n\nUse 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.\n\nIf virtual machine is not in recovery mode, this operation will fail.\n\nUse 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.\n\nThe recreation process involves reinstalling the operating system and\nresetting the virtual machine to its initial state.\nSnapshots, if there are any, will be deleted.\n\n## Password Requirements\nPassword will be checked against leaked password databases. \nRequirements for the password are:\n- At least 12 characters long\n- At least one uppercase letter\n- At least one lowercase letter\n- At least one number\n- Is not leaked publicly\n\n**This operation is irreversible and will result in the loss of all data stored on the virtual machine!**\n\nUse 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.\n\nIf the virtual machine was stopped, it will be started.\n\nUse 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.\n\nRequirements for password are same as in the [recreate virtual machine\nendpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).\n\nUse 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.\n\nUse 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.\n\nUse 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.\n\nA snapshot captures the state and data of the virtual machine at a specific point in time, \nallowing users to restore the virtual machine to that state if needed. \nThis operation is useful for backup purposes, system recovery, \nand testing changes without affecting the current state of the virtual machine.\n\n**Creating new snapshot will overwrite the existing snapshot!**\n\nUse 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.\n\nUse 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.\n\nRestoring from a snapshot allows users to revert the virtual machine to that state,\nwhich is useful for system recovery, undoing changes, or testing.\n\nUse 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.\n\nIf the virtual machine is already running, the request will still be processed without any effect.\n\nUse 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.\n\nIf the virtual machine is already stopped, the request will still be processed without any effect.\n\nUse 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"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/hostinger-plugins/ai-option/status": {
      "get": {
        "tags": [
          "WordPress: AI Tools"
        ],
        "summary": "Show AI option status",
        "description": "Show the current AI option status for the Hostinger Tools plugin on the\nspecified WordPress installation. Filter by `option` to return a single\noption, or omit it to return all options.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_showAIOptionStatusV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          },
          {
            "name": "option",
            "in": "query",
            "description": "Filter the status by a single AI option.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "llmstxt",
                "web2agent"
              ],
              "example": "llmstxt",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.HostingerPlugins.AiOptionStatusResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      },
      "patch": {
        "tags": [
          "WordPress: AI Tools"
        ],
        "summary": "Set AI option status",
        "description": "Enable or disable an AI option for the Hostinger Tools plugin on the specified\nWordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_setAIOptionStatusV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.HostingerPlugins.UpdateAiOptionStatusRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/installations/check-is-valid": {
      "post": {
        "tags": [
          "WordPress: Installations"
        ],
        "summary": "Check if WordPress installations are valid",
        "description": "Check whether one or more WordPress installations are valid and working\ncorrectly. Detects broken installations caused by missing files, broken\nplugins, themes and similar issues.\n\nProvide the WordPress installation (software) identifiers in the body. They\ncan be obtained from GET /api/hosting/v1/wordpress/installations (the `id`\nfield).",
        "operationId": "hosting_checkIfWordPressInstallationsAreValidV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Installations.CheckIsValidRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Installations.CheckIsValidResultCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "422": {
            "$ref": "#/components/responses/Common.Response.UnprocessableContentResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}": {
      "delete": {
        "tags": [
          "WordPress: Installations"
        ],
        "summary": "Delete WordPress installation",
        "description": "Delete the specified WordPress installation, with optional file and database\nremoval. This removes all associated components including plugins, themes,\nstaging websites and any other related data.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_deleteWordPressInstallationV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Installations.DeleteInstallationRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/installations/detect": {
      "post": {
        "tags": [
          "WordPress: Installations"
        ],
        "summary": "Detect WordPress installations",
        "description": "Trigger a background scan to detect WordPress installations for the account.\n\nThis operation is asynchronous: a successful response only means the scan has\nbeen queued. Poll GET /api/hosting/v1/wordpress/installations to fetch the\ndetected installations once the scan completes.",
        "operationId": "hosting_detectWordPressInstallationsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          }
        ],
        "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/hosting/v1/accounts/{username}/wordpress/installations": {
      "post": {
        "tags": [
          "WordPress: Installations"
        ],
        "summary": "Install WordPress",
        "description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/websites and poll\nGET /api/hosting/v1/websites until it appears.\n\nCall GET /api/hosting/v1/wordpress/installations filtered by username and\ndomain before proceeding to check whether WordPress is already installed on\nthe target domain/path. If WordPress already exists and `overwrite` is false\n(the default), the async job will fail.\n\nThis operation is asynchronous: a successful response only means the install\njob has been queued, not that WordPress is ready. Installation typically\ntakes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered\nby username and domain to track progress. When the installation appears in\nthat list, WordPress is ready.",
        "operationId": "hosting_installWordPressV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Installations.InstallWordPressRequest"
              }
            }
          }
        },
        "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/hosting/v1/wordpress/installations": {
      "get": {
        "tags": [
          "WordPress: Installations"
        ],
        "summary": "List WordPress installations",
        "description": "List WordPress installations accessible to the authenticated client.\n\nUse this endpoint to discover existing WordPress installations and to poll\nfor installation status after calling the install endpoint. When a newly\nrequested installation appears in this list, WordPress is ready. Filter by\nusername and domain to narrow results to a specific website.\n\nEach installation includes a `valid` flag and, when invalid, a\n`validationError` describing why.",
        "operationId": "hosting_listWordPressInstallationsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username"
          },
          {
            "$ref": "#/components/parameters/domain_filter"
          },
          {
            "name": "ownership",
            "in": "query",
            "description": "Filter by ownership type. Defaults to \"owned\". Use \"all\" to include both owned and managed installations.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "owned",
                "managed",
                "all"
              ],
              "example": "owned",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Installations.WordPressInstallationCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/updates": {
      "get": {
        "tags": [
          "WordPress: Installations"
        ],
        "summary": "List available WordPress core updates",
        "description": "List available WordPress core updates for the specified installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_listAvailableWordPressCoreUpdatesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Installations.UpdateCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/jwt-token": {
      "get": {
        "tags": [
          "WordPress: Installations"
        ],
        "summary": "Get installation JWT token",
        "description": "Return a JWT token used to authenticate requests against the specified\nWordPress installation, including its MCP (Model Context Protocol) endpoint.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_getInstallationJWTTokenV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Installations.JwtTokenResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/version": {
      "get": {
        "tags": [
          "WordPress: Installations"
        ],
        "summary": "Show WordPress core version",
        "description": "Show the WordPress core version for the specified installation, along with\nknown vulnerabilities affecting it.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_showWordPressCoreVersionV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Installations.VersionResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/update": {
      "post": {
        "tags": [
          "WordPress: Installations"
        ],
        "summary": "Update WordPress core",
        "description": "Update the WordPress core for the specified installation (minor update or a\nspecific version).\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).\n\nThis operation is asynchronous: a successful response only means the update\njob has been queued.",
        "operationId": "hosting_updateWordPressCoreV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Installations.UpdateInstallationRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/litespeed-cache/purge": {
      "post": {
        "tags": [
          "WordPress: LiteSpeed Cache"
        ],
        "summary": "Purge LiteSpeed Cache",
        "description": "Purge the LiteSpeed Cache for the specified WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_purgeLiteSpeedCacheV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "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/hosting/v1/accounts/{username}/wordpress/{software}/litespeed-cache/status": {
      "get": {
        "tags": [
          "WordPress: LiteSpeed Cache"
        ],
        "summary": "Show LiteSpeed Cache status",
        "description": "Show the LiteSpeed Cache status for the specified WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_showLiteSpeedCacheStatusV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Litespeed.LitespeedCacheStatusResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/login/links": {
      "post": {
        "tags": [
          "WordPress: Login"
        ],
        "summary": "Create login links",
        "description": "Create temporary auto-login links for the specified WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_createLoginLinksV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Login.LoginLinksResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/maintenance/status": {
      "get": {
        "tags": [
          "WordPress: Maintenance"
        ],
        "summary": "Show maintenance status",
        "description": "Show the maintenance mode status for the specified WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_showMaintenanceStatusV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Maintenance.MaintenanceStatusResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/maintenance/toggle": {
      "patch": {
        "tags": [
          "WordPress: Maintenance"
        ],
        "summary": "Toggle maintenance mode",
        "description": "Enable or disable maintenance mode for the specified WordPress installation,\nbased on the `enabled` flag.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_toggleMaintenanceModeV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Maintenance.ToggleMaintenanceRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/memcached/status": {
      "get": {
        "tags": [
          "WordPress: Object Cache"
        ],
        "summary": "Show Memcached object cache status",
        "description": "Show the Memcached object cache status for the specified WordPress\ninstallation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_showMemcachedObjectCacheStatusV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Memcached.MemcachedStatusResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/memcached/toggle": {
      "patch": {
        "tags": [
          "WordPress: Object Cache"
        ],
        "summary": "Toggle Memcached object cache",
        "description": "Activate or deactivate the Memcached object cache for the specified WordPress\ninstallation, based on the `enabled` flag.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_toggleMemcachedObjectCacheV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Memcached.ToggleMemcachedRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/plugins/activate": {
      "post": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "Activate WordPress plugin",
        "description": "Activate an installed plugin on a WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).\n\nThis operation is asynchronous: a successful response only means the activation\njob has been queued.",
        "operationId": "hosting_activateWordPressPluginV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Plugins.ActivatePluginRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/plugins/deactivate": {
      "post": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "Deactivate WordPress plugin",
        "description": "Deactivate an installed plugin on a WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).\n\nThis operation is asynchronous: a successful response only means the\ndeactivation job has been queued.",
        "operationId": "hosting_deactivateWordPressPluginV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Plugins.DeactivatePluginRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install": {
      "post": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "Install WordPress plugins",
        "description": "Install one or more plugins on an existing WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id`\nfield). Use GET /api/hosting/v1/wordpress/plugins to discover the plugin\nslugs available for installation.\n\nThis operation is asynchronous: a successful response only means the install\njob has been queued, not that the plugins are ready.",
        "operationId": "hosting_installWordPressPluginsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Plugins.InstallPluginsRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/plugins/available": {
      "get": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "List available WordPress plugins",
        "description": "List plugins recommended for installation on a WordPress installation that are\nnot yet installed.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_listAvailableWordPressPluginsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Plugins.AvailablePluginCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins": {
      "get": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "List installed WordPress plugins",
        "description": "List plugins installed on a WordPress installation, including their status,\navailable updates and known vulnerabilities.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_listInstalledWordPressPluginsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          },
          {
            "name": "category",
            "in": "query",
            "description": "Filter installed plugins by category.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "cache"
              ],
              "example": "cache",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Plugins.InstalledPluginCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/wordpress/plugins": {
      "get": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "Search WordPress plugins",
        "description": "Search the WordPress.org plugin directory for plugins available to install.\n\nUse the returned `slug` values with\nPOST /api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install.",
        "operationId": "hosting_searchWordPressPluginsV1",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "Search term to match against plugin names. Minimum 3 characters.",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 3,
              "example": "seo"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Plugins.PluginCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/wordpress/plugins/suggested": {
      "get": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "List suggested WordPress plugins",
        "description": "List curated plugin suggestions grouped by website type.\n\nUse the returned `slug` values with\nPOST /api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install.",
        "operationId": "hosting_listSuggestedWordPressPluginsV1",
        "parameters": [
          {
            "name": "order_id",
            "in": "query",
            "description": "Optionally scope suggestions to a specific order.",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 123456,
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Plugins.SuggestedPluginGroupCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/wordpress/plugins/is-woocommerce-installed": {
      "get": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "Check if WooCommerce is installed",
        "description": "Check whether WooCommerce is installed on any WordPress installation of a\ndomain. Optionally filter by domain to scope the check.",
        "operationId": "hosting_checkIfWooCommerceIsInstalledV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/domain_filter"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Plugins.WoocommerceInstalledResource"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/uninstall": {
      "post": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "Uninstall WordPress plugins",
        "description": "Uninstall one or more plugins from a WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).\n\nThis operation is asynchronous: a successful response only means the uninstall\njob has been queued.",
        "operationId": "hosting_uninstallWordPressPluginsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Plugins.UninstallPluginsRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/plugins/hostinger/update": {
      "post": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "Update Hostinger WordPress plugin",
        "description": "Update a Hostinger plugin to its latest version on a WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).\n\nThis operation is asynchronous: a successful response only means the update job\nhas been queued.",
        "operationId": "hosting_updateHostingerWordPressPluginV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Plugins.UpdateHostingerPluginRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/plugins/update": {
      "post": {
        "tags": [
          "WordPress: Plugins"
        ],
        "summary": "Update WordPress plugins",
        "description": "Update one or more installed plugins to their latest version on a WordPress\ninstallation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).\n\nThis operation is asynchronous: a successful response only means the update job\nhas been queued.",
        "operationId": "hosting_updateWordPressPluginsV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Plugins.UpdatePluginsRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/themes/activate": {
      "post": {
        "tags": [
          "WordPress: Themes"
        ],
        "summary": "Activate WordPress theme",
        "description": "Activate an installed theme on a WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).\n\nThis operation is asynchronous: a successful response only means the activation\njob has been queued.",
        "operationId": "hosting_activateWordPressThemeV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Themes.ActivateThemeRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/themes/install": {
      "post": {
        "tags": [
          "WordPress: Themes"
        ],
        "summary": "Install WordPress theme",
        "description": "Install a theme on an existing WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id`\nfield).\n\nWhen the theme is one of the Hostinger themes (hostinger-blog,\nhostinger-affiliate-theme, hostinger-ai-theme), the optional `palette`,\n`layout`, and `font` fields are forwarded to the custom installer (defaults:\npalette1, layout1, default). For any other theme they are ignored.\n\nThis operation is asynchronous: a successful response only means the install\njob has been queued, not that the theme is ready.",
        "operationId": "hosting_installWordPressThemeV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Themes.InstallThemeRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/themes": {
      "get": {
        "tags": [
          "WordPress: Themes"
        ],
        "summary": "List installed WordPress themes",
        "description": "List themes installed on a WordPress installation, including their status,\navailable updates and known vulnerabilities.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
        "operationId": "hosting_listInstalledWordPressThemesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Themes.InstalledThemeCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/wordpress/themes": {
      "get": {
        "tags": [
          "WordPress: Themes"
        ],
        "summary": "List WordPress themes",
        "description": "List WordPress themes available to install.\n\nUse the returned `slug` values with\nPOST /api/hosting/v1/accounts/{username}/wordpress/{software}/themes/install.",
        "operationId": "hosting_listWordPressThemesV1",
        "parameters": [
          {
            "name": "order_id",
            "in": "query",
            "description": "Optionally scope themes to a specific order.",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 123456,
              "nullable": true
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search term to match against theme names.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "blog",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordPress.V1.Themes.ThemeCollection"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Common.Response.UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/Common.Response.ErrorResponse"
          }
        }
      }
    },
    "/api/hosting/v1/accounts/{username}/wordpress/{software}/themes/uninstall": {
      "post": {
        "tags": [
          "WordPress: Themes"
        ],
        "summary": "Uninstall WordPress themes",
        "description": "Uninstall one or more themes from a WordPress installation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).\n\nThis operation is asynchronous: a successful response only means the uninstall\njob has been queued.",
        "operationId": "hosting_uninstallWordPressThemesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Themes.UninstallThemesRequest"
              }
            }
          }
        },
        "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/hosting/v1/accounts/{username}/wordpress/{software}/themes/update": {
      "post": {
        "tags": [
          "WordPress: Themes"
        ],
        "summary": "Update WordPress themes",
        "description": "Update one or more installed themes to their latest version on a WordPress\ninstallation.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).\n\nThis operation is asynchronous: a successful response only means the update job\nhas been queued.",
        "operationId": "hosting_updateWordPressThemesV1",
        "parameters": [
          {
            "$ref": "#/components/parameters/username_path"
          },
          {
            "$ref": "#/components/parameters/software_path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WordPress.V1.Themes.UpdateThemesRequest"
              }
            }
          }
        },
        "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"
          }
        }
      }
    }
  },
  "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
      },
      "Mail.V1.Schema.ChangeMailboxPasswordRequestSchema": {
        "required": [
          "password"
        ],
        "properties": {
          "password": {
            "description": "New mailbox password. Minimum 8 characters with uppercase, lowercase, number and special character; must not be a commonly used password.",
            "type": "string",
            "format": "password",
            "maxLength": 50,
            "minLength": 8,
            "example": "SecurePassword123!"
          }
        },
        "type": "object"
      },
      "Mail.V1.Schema.CreateApiTokenRequestSchema": {
        "required": [
          "name",
          "scope"
        ],
        "properties": {
          "name": {
            "description": "Human-readable label for this token",
            "type": "string",
            "maxLength": 255,
            "example": "CRM integration"
          },
          "scope": {
            "description": "Mailbox scope this token can access",
            "required": [
              "has_all_mailboxes"
            ],
            "properties": {
              "has_all_mailboxes": {
                "description": "Grant access to all current and future mailboxes of the order",
                "type": "boolean",
                "example": false
              },
              "mailbox_ids": {
                "description": "Required when `has_all_mailboxes` is false. Mailbox resource IDs of this order.",
                "type": "array",
                "items": {
                  "type": "string",
                  "example": "AC1a2b3c4d5e6f7g"
                }
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Mail.V1.Schema.CreateForwarderRequestSchema": {
        "required": [
          "destination"
        ],
        "properties": {
          "destination": {
            "description": "Email address the messages will be forwarded to",
            "type": "string",
            "example": "jane@example.org"
          },
          "is_keep_copy_enabled": {
            "description": "Whether to keep a copy of forwarded messages in the mailbox. Defaults to false.",
            "type": "boolean",
            "example": false
          }
        },
        "type": "object"
      },
      "Mail.V1.Schema.CreateMailboxRequestSchema": {
        "required": [
          "local_part",
          "password"
        ],
        "properties": {
          "local_part": {
            "description": "Local part of the mailbox address (the part before the @). The domain is taken from the order. Must start and end with a letter or digit; single dots, underscores and hyphens are allowed in between.",
            "type": "string",
            "maxLength": 50,
            "pattern": "^(?=[a-z0-9])(?=.*[a-z0-9]$)[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*$",
            "example": "john.doe"
          },
          "password": {
            "description": "Mailbox password. Minimum 8 characters with uppercase, lowercase, number and special character.",
            "type": "string",
            "format": "password",
            "maxLength": 50,
            "minLength": 8,
            "example": "SecurePassword123!"
          }
        },
        "type": "object"
      },
      "Mail.V1.Schema.CreateWebhookRequestSchema": {
        "required": [
          "name",
          "events",
          "url"
        ],
        "properties": {
          "name": {
            "description": "Human-readable name for this webhook",
            "type": "string",
            "maxLength": 255,
            "example": "New message notifier"
          },
          "description": {
            "description": "Optional description of the webhook's purpose",
            "type": "string",
            "example": "Notifies our CRM when a new email arrives",
            "nullable": true
          },
          "events": {
            "description": "Events that trigger this webhook",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "message.received"
              ],
              "example": "message.received"
            }
          },
          "status": {
            "description": "Initial status of the webhook",
            "type": "string",
            "default": "active",
            "enum": [
              "active",
              "disabled",
              "paused"
            ],
            "example": "active"
          },
          "url": {
            "description": "Publicly reachable URL that receives the webhook POST requests",
            "type": "string",
            "maxLength": 2048,
            "example": "https://example.com/webhooks/incoming"
          }
        },
        "type": "object"
      },
      "Mail.V1.Schema.UpdateForwarderKeepCopyRequestSchema": {
        "required": [
          "is_keep_copy_enabled"
        ],
        "properties": {
          "is_keep_copy_enabled": {
            "description": "Whether to keep a copy of forwarded messages in the mailbox",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "Mail.V1.Schema.UpdateWebhookRequestSchema": {
        "description": "Fields to update. All fields are optional; only provided fields are changed. Pass `\"description\": null` to clear the description.",
        "properties": {
          "name": {
            "description": "New human-readable name for the webhook",
            "type": "string",
            "maxLength": 255,
            "example": "Updated notifier"
          },
          "description": {
            "description": "New description, or null to clear it",
            "type": "string",
            "example": "Now also handles newsletters",
            "nullable": true
          },
          "events": {
            "description": "Replaces the full list of subscribed events",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "message.received"
              ],
              "example": "message.received"
            }
          },
          "status": {
            "description": "New status for the webhook",
            "type": "string",
            "enum": [
              "active",
              "disabled",
              "paused"
            ],
            "example": "paused"
          },
          "url": {
            "description": "New URL to deliver events to",
            "type": "string",
            "maxLength": 2048,
            "example": "https://example.com/webhooks/incoming"
          }
        },
        "type": "object"
      },
      "Mail.V1.Schema.UpsertAutoreplyRequestSchema": {
        "required": [
          "subject",
          "body"
        ],
        "properties": {
          "subject": {
            "description": "Subject of the automatic reply",
            "type": "string",
            "example": "Out of office"
          },
          "body": {
            "description": "Body of the automatic reply",
            "type": "string",
            "example": "I am on vacation until August 1st."
          },
          "display_name": {
            "description": "Sender display name used for the reply",
            "type": "string",
            "maxLength": 255,
            "example": "John Doe",
            "nullable": true
          },
          "starts_at": {
            "description": "When the autoreply becomes active. Defaults to now.",
            "type": "string",
            "format": "date-time",
            "example": "2026-08-01T00:00:00Z",
            "nullable": true
          },
          "ends_at": {
            "description": "When the autoreply stops. Omit for an indefinite autoreply.",
            "type": "string",
            "format": "date-time",
            "example": "2026-09-01T00:00:00Z",
            "nullable": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Domains.ChangeDomainRequest": {
        "required": [
          "domain"
        ],
        "properties": {
          "domain": {
            "description": "New domain to assign to the website. Set to null to revert to the temporary domain.",
            "type": "string",
            "example": "new.example.com",
            "nullable": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Domains.LinkDomainRequest": {
        "required": [
          "domain"
        ],
        "properties": {
          "domain": {
            "description": "Fully qualified domain name to link to the website",
            "type": "string",
            "example": "example.com"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Files.ImportArchiveRequest": {
        "description": "Import a website from an already-uploaded archive",
        "required": [
          "archive_name"
        ],
        "properties": {
          "archive_name": {
            "description": "Archive filename (e.g., archive.zip). The file must already be uploaded to the website's .h5g/ directory.",
            "type": "string",
            "example": "archive.zip"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Setups.CreateSetupRequest": {
        "description": "Create a new Agency Plan website setup on the given order",
        "required": [
          "datacenter_code",
          "flavor",
          "settings"
        ],
        "properties": {
          "datacenter_code": {
            "description": "Datacenter code where the website should be provisioned. Available codes depend on live capacity and are not a fixed set.",
            "type": "string",
            "example": "us-east"
          },
          "flavor": {
            "description": "Setup flavor: a specific WordPress version in the format `wp-<major>.<minor>` or `wp-<major>.<minor>.<patch>` (e.g. `wp-6.8.2`), or `php-fpm` for a plain PHP stack. Generic versions like `wp-latest` are not allowed.",
            "type": "string",
            "pattern": "^(wp-[0-9]+(\\.[0-9]+){1,2}|php-fpm)$",
            "example": "wp-6.8.2"
          },
          "settings": {
            "description": "Website settings",
            "required": [
              "php"
            ],
            "properties": {
              "php": {
                "required": [
                  "version"
                ],
                "properties": {
                  "version": {
                    "description": "PHP version",
                    "type": "string",
                    "example": "8.3"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "domain": {
            "description": "Primary domain to attach to the website. Omit or set to null to get a free auto-generated *.hostingersite.com subdomain instead.",
            "type": "string",
            "example": "example.com",
            "nullable": true
          },
          "type": {
            "description": "Website type",
            "type": "string",
            "enum": [
              "horizons",
              "node-static"
            ],
            "example": "node-static",
            "nullable": true
          },
          "wordpress": {
            "description": "WordPress installation options",
            "required": [
              "language",
              "title",
              "admin"
            ],
            "properties": {
              "language": {
                "type": "string",
                "example": "en_US"
              },
              "title": {
                "type": "string",
                "example": "My Blog"
              },
              "admin": {
                "required": [
                  "user",
                  "password",
                  "email"
                ],
                "properties": {
                  "user": {
                    "type": "string",
                    "example": "admin"
                  },
                  "password": {
                    "type": "string",
                    "example": "S3cureP@ssw0rd"
                  },
                  "email": {
                    "type": "string",
                    "example": "admin@example.com"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "clone": {
            "description": "Clone the new website from an existing website",
            "required": [
              "website_uid"
            ],
            "properties": {
              "website_uid": {
                "type": "string",
                "example": "zpwlGlp19"
              }
            },
            "type": "object"
          },
          "derive_domain": {
            "description": "Derive the domain from an existing vhost",
            "required": [
              "from_vhost"
            ],
            "properties": {
              "from_vhost": {
                "required": [
                  "username",
                  "vhost"
                ],
                "properties": {
                  "username": {
                    "type": "string",
                    "example": "u123456789"
                  },
                  "vhost": {
                    "type": "string",
                    "example": "example.com"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.BuildAssetsRequest": {
        "description": "Build Node.js assets from an already-uploaded archive",
        "required": [
          "archive_path"
        ],
        "properties": {
          "archive_path": {
            "description": "Directory, relative to the website document root, where the uploaded site archive currently lives. Most commonly this is simply `public_html`.",
            "type": "string",
            "example": "public_html"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.CronJobs.CreateCronJobRequest": {
        "required": [
          "time",
          "command"
        ],
        "properties": {
          "time": {
            "description": "Cron schedule expression (standard 5-field crontab syntax).",
            "type": "string",
            "example": "*/30 * * * *"
          },
          "command": {
            "description": "Command to run on the schedule. Must not contain pipe (|) or redirection (<, >) characters.",
            "type": "string",
            "example": "php artisan schedule:run"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.Databases.CreateDatabaseRequest": {
        "required": [
          "database_name",
          "database_user",
          "password"
        ],
        "properties": {
          "database_name": {
            "description": "Database name to create (alphanumeric characters).",
            "type": "string",
            "maxLength": 30,
            "minLength": 3,
            "example": "mydatabase"
          },
          "database_user": {
            "description": "Database username to create alongside the database (alphanumeric characters).",
            "type": "string",
            "maxLength": 12,
            "minLength": 3,
            "example": "myuser"
          },
          "password": {
            "description": "Password for the database user (requires mixed case, letters, and numbers).",
            "type": "string",
            "format": "password",
            "maxLength": 50,
            "minLength": 8,
            "example": "Str0ngP@ssword!"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.Databases.Users.CreateDatabaseUserRequest": {
        "required": [
          "database_user",
          "password"
        ],
        "properties": {
          "database_user": {
            "description": "Database username to create (alphanumeric and underscores).",
            "type": "string",
            "maxLength": 12,
            "minLength": 3,
            "example": "my_user"
          },
          "password": {
            "description": "Password for the database user (requires mixed case, letters, and numbers).",
            "type": "string",
            "format": "password",
            "maxLength": 50,
            "minLength": 8,
            "example": "Str0ngP@ssword!"
          },
          "host": {
            "description": "Host the user connects from (IPv4, IPv6, % wildcard, or localhost). Defaults to localhost.",
            "type": "string",
            "maxLength": 40,
            "minLength": 1,
            "example": "localhost",
            "nullable": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.WordPress.ChangeVersionRequest": {
        "required": [
          "version"
        ],
        "properties": {
          "version": {
            "description": "Target WordPress core version to install. Must be one of the available versions.",
            "type": "string",
            "example": "6.5.5"
          }
        },
        "type": "object"
      },
      "Billing.V1.Order.PurchaseRequest": {
        "required": [
          "items"
        ],
        "properties": {
          "payment_method_id": {
            "description": "Payment method ID, default will be used if not provided",
            "type": "integer",
            "example": 1327362
          },
          "items": {
            "description": "Catalog price items to purchase",
            "type": "array",
            "items": {
              "required": [
                "item_id"
              ],
              "properties": {
                "item_id": {
                  "description": "Catalog price item ID",
                  "type": "string",
                  "example": "hostingercom-vps-kvm2-usd-1m"
                },
                "quantity": {
                  "description": "Quantity to purchase",
                  "type": "integer",
                  "default": 1,
                  "example": 1
                }
              },
              "type": "object"
            }
          },
          "coupons": {
            "description": "Discount coupon codes",
            "type": "array",
            "items": {
              "example": [
                "Coupon 3"
              ]
            }
          }
        },
        "type": "object"
      },
      "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,\notherwise resource records' ttl's are updated and new records are appended.\nIf 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.Forwarding.UpdateRequest": {
        "required": [
          "redirect_type",
          "redirect_url"
        ],
        "properties": {
          "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"
      },
      "Ecommerce.V1.Payment.EnableManualPaymentRequest": {
        "properties": {
          "title": {
            "description": "Optional display name shown to customers at checkout.",
            "type": "string",
            "maxLength": 255,
            "example": "Cash on delivery",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Product.CreateDigitalProductRequest": {
        "required": [
          "name",
          "price"
        ],
        "properties": {
          "name": {
            "description": "The product name.",
            "type": "string",
            "maxLength": 255,
            "example": "My eBook"
          },
          "price": {
            "description": "Price in the smallest currency unit (e.g. cents). Must be positive.",
            "type": "integer",
            "minimum": 1,
            "example": 999
          },
          "description": {
            "description": "The product description.",
            "type": "string",
            "maxLength": 5000,
            "example": "A digital download.",
            "nullable": true
          },
          "currency": {
            "description": "ISO 4217 currency code. Defaults to the store's default currency when omitted.",
            "type": "string",
            "maxLength": 3,
            "minLength": 3,
            "example": "usd",
            "nullable": true
          },
          "download_url": {
            "description": "Optional external download link delivered to the customer after purchase.",
            "type": "string",
            "maxLength": 2048,
            "example": "https://example.com/downloads/ebook.pdf",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Product.CreatePhysicalProductRequest": {
        "required": [
          "name",
          "price"
        ],
        "properties": {
          "name": {
            "description": "The product name.",
            "type": "string",
            "maxLength": 255,
            "example": "My Product"
          },
          "price": {
            "description": "Price in the smallest currency unit (e.g. cents). Must be positive.",
            "type": "integer",
            "minimum": 1,
            "example": 1000
          },
          "description": {
            "description": "The product description.",
            "type": "string",
            "maxLength": 5000,
            "example": "A great product.",
            "nullable": true
          },
          "currency": {
            "description": "ISO 4217 currency code. Defaults to the store's default currency when omitted.",
            "type": "string",
            "maxLength": 3,
            "minLength": 3,
            "example": "usd",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.SalesChannel.StoreRequest": {
        "required": [
          "type",
          "name"
        ],
        "properties": {
          "type": {
            "description": "Sales channel type. Only \"custom\" channels can be created via the API.",
            "type": "string",
            "enum": [
              "custom"
            ],
            "example": "custom"
          },
          "name": {
            "description": "Merchant-facing custom name shown in the sales channels list.",
            "type": "string",
            "maxLength": 100,
            "example": "Vintagio Onepager"
          },
          "url": {
            "description": "Optional public address where the custom sales channel lives.",
            "type": "string",
            "maxLength": 2048,
            "example": "https://www.bestshirt.vintagio.com",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.SalesChannel.UpdateRequest": {
        "properties": {
          "name": {
            "description": "Merchant-facing custom name shown in the sales channels list. Pass null to clear it.",
            "type": "string",
            "maxLength": 100,
            "example": "Vintagio Onepager",
            "nullable": true
          },
          "url": {
            "description": "Public address where the custom sales channel lives. Pass null to clear it.",
            "type": "string",
            "maxLength": 2048,
            "example": "https://www.bestshirt.vintagio.com",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Shipping.SetShippingRequest": {
        "required": [
          "price"
        ],
        "properties": {
          "price": {
            "description": "Flat shipping rate in the smallest currency unit (e.g. cents). Use 0 for free shipping.",
            "type": "integer",
            "minimum": 0,
            "example": 500
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Store.StoreRequest": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 255,
            "example": "My Store"
          },
          "country_code": {
            "description": "ISO 3166-1 alpha-2 country code.",
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "example": "us"
          },
          "company_email": {
            "type": "string",
            "example": "owner@example.com"
          },
          "company_name": {
            "type": "string",
            "example": "My Company"
          },
          "language": {
            "description": "ISO 639-1 language code.",
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "example": "en"
          },
          "sales_channel": {
            "properties": {
              "type": {
                "description": "Sales channel type. Only \"custom\" channels can be created via the API.",
                "type": "string",
                "enum": [
                  "custom"
                ],
                "example": "custom"
              },
              "external_id": {
                "description": "External identifier for the sales channel.",
                "type": "string",
                "maxLength": 255,
                "example": null,
                "nullable": true
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Horizons.V1.Websites.CreateWebsiteRequest": {
        "required": [
          "message"
        ],
        "properties": {
          "message": {
            "type": "array",
            "items": {
              "required": [
                "type",
                "text"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "text"
                  ],
                  "example": "text"
                },
                "text": {
                  "description": "Detailed project specification.\nInclude purpose, key features, user flows, data models, and design preferences.\nThe specification should be detailed and comprehensive, covering all aspects of the project.",
                  "type": "string",
                  "maxLength": 20000,
                  "example": "Create a landing page for a coffee shop with a hero section, menu, and contact form"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "Hosting.V1.Cache.ToggleCacheRequest": {
        "required": [
          "enabled"
        ],
        "properties": {
          "enabled": {
            "description": "Turn server-side caching on (true) or off (false) for the website.",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "Hosting.V1.Cache.ToggleCachelessModeRequest": {
        "required": [
          "enabled"
        ],
        "properties": {
          "enabled": {
            "description": "Turn development (cacheless) mode on (true) or off (false) for the website.",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "Hosting.V1.CronJobs.CreateCronJobRequest": {
        "required": [
          "time",
          "command"
        ],
        "properties": {
          "time": {
            "description": "Cron schedule expression (for example \"0 2 * * *\" runs daily at 02:00).",
            "type": "string",
            "example": "0 2 * * *"
          },
          "command": {
            "description": "Command to execute on the schedule.",
            "type": "string",
            "example": "php /home/u123456789/cleanup.php"
          }
        },
        "type": "object"
      },
      "Hosting.V1.Databases.ChangeDatabasePasswordRequest": {
        "required": [
          "password"
        ],
        "properties": {
          "password": {
            "description": "New database user password.",
            "type": "string",
            "format": "password",
            "example": "Secu4ePa$$wor!D"
          }
        },
        "type": "object"
      },
      "Hosting.V1.Databases.CreateDatabaseRequest": {
        "required": [
          "name",
          "user",
          "password",
          "website_domain"
        ],
        "properties": {
          "name": {
            "description": "Database name. If the account username prefix is omitted, it is added automatically.",
            "type": "string",
            "example": "u123456789_test_db"
          },
          "user": {
            "description": "Database user. If the account username prefix is omitted, it is added automatically.",
            "type": "string",
            "example": "u123456789_admin"
          },
          "password": {
            "description": "Database user password.",
            "type": "string",
            "format": "password",
            "example": "Str0ngP@ssword!"
          },
          "website_domain": {
            "description": "Website domain assigned to the database.",
            "type": "string",
            "example": "example.com"
          }
        },
        "type": "object"
      },
      "Hosting.V1.Databases.RemoteConnections.CreateRemoteConnectionRequest": {
        "required": [
          "ip"
        ],
        "properties": {
          "ip": {
            "description": "Remote host to allow: an IPv4/IPv6 address, or \"%\" for any host.",
            "type": "string",
            "example": "192.0.2.10"
          }
        },
        "type": "object"
      },
      "Hosting.V1.Datacenters.ListRequest": {
        "required": [
          "order_id"
        ],
        "properties": {
          "order_id": {
            "type": "integer",
            "example": 12345
          }
        },
        "type": "object"
      },
      "Hosting.V1.Domains.CreateParkedDomainRequest": {
        "required": [
          "parked_domain"
        ],
        "properties": {
          "parked_domain": {
            "description": "Domain name or IP address to park on the selected website",
            "type": "string",
            "example": "parked-domain.com"
          }
        },
        "type": "object"
      },
      "Hosting.V1.Domains.CreateSubdomainRequest": {
        "required": [
          "subdomain"
        ],
        "properties": {
          "subdomain": {
            "description": "Subdomain prefix to create under the selected website",
            "type": "string",
            "example": "blog"
          },
          "directory": {
            "description": "Directory name for the subdomain relative to the website root",
            "type": "string",
            "example": "blog",
            "nullable": true
          },
          "is_using_public_directory": {
            "description": "Use the website public directory as the subdomain root directory",
            "type": "boolean",
            "example": true
          }
        },
        "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.NodeJs.CreateFromArchiveRequest": {
        "required": [
          "archive"
        ],
        "properties": {
          "archive": {
            "description": "Project archive file (.zip, .tar.gz, or .tgz), maximum 50MB",
            "type": "string"
          },
          "node_version": {
            "description": "Node.js version override (auto-detected from package.json if omitted)",
            "type": "integer",
            "enum": [
              18,
              20,
              22,
              24
            ],
            "example": 20,
            "nullable": true
          },
          "app_type": {
            "description": "Node.js application type override",
            "type": "string",
            "enum": [
              "create-react-app",
              "vite",
              "angular",
              "react",
              "vue",
              "parcel",
              "express",
              "fastify",
              "nest"
            ],
            "example": "vite",
            "nullable": true
          },
          "root_directory": {
            "description": "Application root directory override (where package.json is located) relative to public_html",
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "example": "webapp",
            "nullable": true
          },
          "output_directory": {
            "description": "Build output directory override relative to the root directory",
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "example": "dist",
            "nullable": true
          },
          "build_script": {
            "description": "Build script override",
            "type": "string",
            "maxLength": 64,
            "minLength": 1,
            "example": "build",
            "nullable": true
          },
          "entry_file": {
            "description": "Main entry point file override",
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "example": "server.js",
            "nullable": true
          },
          "package_manager": {
            "description": "Package manager override",
            "type": "string",
            "enum": [
              "npm",
              "yarn",
              "pnpm"
            ],
            "example": "npm",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Hosting.V1.NodeJs.PatchVulnerabilitiesRequest": {
        "required": [
          "vulnerability_ids"
        ],
        "properties": {
          "vulnerability_ids": {
            "description": "List of vulnerability IDs to patch, as returned by the list vulnerabilities endpoint.",
            "type": "array",
            "items": {
              "type": "string",
              "example": "GHSA-1111-2222-3333"
            },
            "minItems": 1
          }
        },
        "type": "object"
      },
      "Hosting.V1.Php.UpdatePhpExtensionsRequest": {
        "properties": {
          "enable": {
            "description": "PHP extensions to enable.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "json",
              "yaml"
            ]
          },
          "disable": {
            "description": "PHP extensions to disable.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "imagick"
            ]
          }
        },
        "type": "object"
      },
      "Hosting.V1.Php.UpdatePhpOptionsRequest": {
        "required": [
          "options"
        ],
        "properties": {
          "options": {
            "description": "Map of PHP options to update, keyed by option name. Only include options you want to change.",
            "type": "object",
            "example": {
              "memory_limit": "512M",
              "max_execution_time": 300,
              "upload_max_filesize": "256M"
            },
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            }
          }
        },
        "type": "object"
      },
      "Hosting.V1.Php.UpdatePhpVersionRequest": {
        "required": [
          "version"
        ],
        "properties": {
          "version": {
            "description": "PHP version to switch the website to.",
            "type": "string",
            "example": "8.1"
          }
        },
        "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"
      },
      "Hosting.V1.Websites.DeleteWebsiteRequest": {
        "required": [
          "confirm"
        ],
        "properties": {
          "confirm": {
            "description": "Must be boolean true to confirm the permanent deletion of the website.",
            "type": "boolean",
            "enum": [
              true
            ],
            "example": 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
          },
          "phone": {
            "description": "Phone number in E.164 format (leading \"+\" then 7-15 digits)",
            "type": "string",
            "maxLength": 20,
            "example": "+14155552671",
            "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\n\necho '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.\nPassword 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.\nIf OS does not support panel_password this field will be ignored.\nPassword 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.\nPassword 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"
      },
      "WordPress.V1.HostingerPlugins.UpdateAiOptionStatusRequest": {
        "required": [
          "option",
          "enable"
        ],
        "properties": {
          "option": {
            "description": "AI option name",
            "type": "string",
            "enum": [
              "llmstxt",
              "web2agent"
            ],
            "example": "llmstxt"
          },
          "enable": {
            "description": "Enable (true) or disable (false) the AI option.",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.CheckIsValidRequest": {
        "required": [
          "software_ids"
        ],
        "properties": {
          "software_ids": {
            "description": "WordPress installation (software) identifiers to validate.",
            "type": "array",
            "items": {
              "description": "Software identifier",
              "type": "string",
              "example": "123"
            },
            "maxItems": 100,
            "minItems": 1,
            "example": [
              "123",
              "456"
            ]
          },
          "force": {
            "description": "Force fresh validation without cache. Preferable for troubleshooting purposes.",
            "type": "boolean",
            "default": false,
            "example": false
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.DeleteInstallationRequest": {
        "properties": {
          "delete_files": {
            "description": "Delete installation files from disk.",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "delete_database": {
            "description": "Delete the installation database.",
            "type": "boolean",
            "default": false,
            "example": false
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.InstallWordPressRequest": {
        "required": [
          "domain",
          "site_title",
          "credentials"
        ],
        "properties": {
          "domain": {
            "description": "Domain of the existing website where WordPress will be installed",
            "type": "string",
            "example": "example.com"
          },
          "site_title": {
            "description": "Title of the WordPress site",
            "type": "string",
            "example": "My site"
          },
          "language": {
            "description": "WordPress locale. Defaults to en_US when omitted.",
            "type": "string",
            "example": "en_US",
            "nullable": true
          },
          "directory": {
            "description": "Relative directory to install WordPress into. Defaults to the website root when omitted.",
            "type": "string",
            "example": "public_html",
            "nullable": true
          },
          "overwrite": {
            "description": "When false (default), does not replace an existing installation. If WordPress is already installed on the domain/path, the async install job fails unless true.",
            "type": "boolean",
            "example": false,
            "nullable": true
          },
          "auto_updates": {
            "description": "WordPress core auto-update policy",
            "type": "string",
            "enum": [
              "all",
              "none",
              "minor"
            ],
            "example": "minor",
            "nullable": true
          },
          "version": {
            "description": "WordPress core version to install. If omitted, the latest core version compatible with the account vhost PHP version is selected.",
            "type": "string",
            "example": "6.5.2",
            "nullable": true
          },
          "credentials": {
            "description": "WordPress admin credentials",
            "required": [
              "email",
              "login",
              "password"
            ],
            "properties": {
              "email": {
                "type": "string",
                "example": "owner@example.com"
              },
              "login": {
                "description": "WordPress admin username",
                "type": "string",
                "example": "admin"
              },
              "password": {
                "type": "string",
                "format": "password",
                "example": "********"
              }
            },
            "type": "object"
          },
          "database": {
            "description": "Optional. If the named database already exists, it will be used for this WordPress install. Otherwise a new database is created with a generated name and random credentials.",
            "properties": {
              "name": {
                "description": "Database name (username prefix added if missing)",
                "type": "string",
                "example": "mydb"
              },
              "password": {
                "type": "string",
                "format": "password",
                "example": "********",
                "nullable": true
              }
            },
            "type": "object",
            "nullable": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.UpdateInstallationRequest": {
        "properties": {
          "minor": {
            "description": "Update the minor version only.",
            "type": "boolean",
            "default": false,
            "example": false
          },
          "version": {
            "description": "Update to a specific WordPress core version.",
            "type": "string",
            "example": "6.5.0",
            "nullable": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Maintenance.ToggleMaintenanceRequest": {
        "required": [
          "enabled"
        ],
        "properties": {
          "enabled": {
            "description": "Enable (true) or disable (false) maintenance mode for the WordPress installation.",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Memcached.ToggleMemcachedRequest": {
        "required": [
          "enabled"
        ],
        "properties": {
          "enabled": {
            "description": "Activate (true) or deactivate (false) the Memcached object cache for the WordPress installation.",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.ActivatePluginRequest": {
        "required": [
          "plugin"
        ],
        "properties": {
          "plugin": {
            "description": "Slug of the installed plugin to activate.",
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "example": "akismet"
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.DeactivatePluginRequest": {
        "required": [
          "plugin"
        ],
        "properties": {
          "plugin": {
            "description": "Slug of the installed plugin to deactivate.",
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "example": "akismet"
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.InstallPluginsRequest": {
        "required": [
          "plugins"
        ],
        "properties": {
          "plugins": {
            "description": "Plugin slugs to install. Use GET /api/hosting/v1/wordpress/plugins to discover available slugs.",
            "type": "array",
            "items": {
              "description": "Plugin slug",
              "type": "string",
              "example": "akismet"
            },
            "maxItems": 20,
            "minItems": 1,
            "example": [
              "akismet",
              "hello-dolly"
            ]
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.UninstallPluginsRequest": {
        "required": [
          "plugins"
        ],
        "properties": {
          "plugins": {
            "description": "Slugs of the installed plugins to uninstall.",
            "type": "array",
            "items": {
              "description": "Plugin slug",
              "type": "string",
              "example": "akismet"
            },
            "maxItems": 20,
            "minItems": 1,
            "example": [
              "akismet",
              "hello-dolly"
            ]
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.UpdateHostingerPluginRequest": {
        "required": [
          "slug"
        ],
        "properties": {
          "slug": {
            "description": "Slug of the Hostinger plugin to update to its latest version.",
            "type": "string",
            "enum": [
              "hostinger",
              "hostinger-ai-assistant",
              "hostinger-affiliate-plugin",
              "hostinger-easy-onboarding",
              "hostinger-reach"
            ],
            "example": "hostinger-affiliate-plugin"
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.UpdatePluginsRequest": {
        "required": [
          "plugins"
        ],
        "properties": {
          "plugins": {
            "description": "Slugs of the installed plugins to update to their latest version.",
            "type": "array",
            "items": {
              "description": "Plugin slug",
              "type": "string",
              "example": "akismet"
            },
            "maxItems": 20,
            "minItems": 1,
            "example": [
              "akismet",
              "hello-dolly"
            ]
          }
        },
        "type": "object"
      },
      "WordPress.V1.Themes.ActivateThemeRequest": {
        "required": [
          "theme"
        ],
        "properties": {
          "theme": {
            "description": "Slug of the installed theme to activate.",
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "example": "twentytwentyone"
          }
        },
        "type": "object"
      },
      "WordPress.V1.Themes.InstallThemeRequest": {
        "required": [
          "theme"
        ],
        "properties": {
          "theme": {
            "description": "Slug of the theme to install. Hostinger theme slugs (hostinger-blog, hostinger-affiliate-theme, hostinger-ai-theme) trigger the custom installer and forward the optional palette/layout/font fields; any other WordPress theme slug uses the standard installer and ignores those fields.",
            "type": "string",
            "maxLength": 50,
            "minLength": 1,
            "example": "hostinger-blog"
          },
          "palette": {
            "description": "Palette identifier. Only applied when the theme is a Hostinger theme; the default is used when omitted.",
            "type": "string",
            "default": "palette1",
            "maxLength": 50,
            "minLength": 1,
            "example": "palette1",
            "nullable": true
          },
          "layout": {
            "description": "Layout identifier. Only applied when the theme is a Hostinger theme; the default is used when omitted.",
            "type": "string",
            "default": "layout1",
            "maxLength": 50,
            "minLength": 1,
            "example": "layout1",
            "nullable": true
          },
          "font": {
            "description": "Font identifier. Only applied when the theme is a Hostinger theme; the default is used when omitted.",
            "type": "string",
            "default": "default",
            "enum": [
              "professional",
              "modern",
              "elegant",
              "creative",
              "dynamic",
              "default"
            ],
            "example": "default",
            "nullable": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Themes.UninstallThemesRequest": {
        "required": [
          "themes"
        ],
        "properties": {
          "themes": {
            "description": "Slugs of the installed themes to uninstall.",
            "type": "array",
            "items": {
              "description": "Theme slug",
              "type": "string",
              "example": "twentytwentyone"
            },
            "maxItems": 20,
            "minItems": 1,
            "example": [
              "twentytwenty",
              "twentytwentyone"
            ]
          }
        },
        "type": "object"
      },
      "WordPress.V1.Themes.UpdateThemesRequest": {
        "required": [
          "themes"
        ],
        "properties": {
          "themes": {
            "description": "Slugs of the installed themes to update to their latest version.",
            "type": "array",
            "items": {
              "description": "Theme slug",
              "type": "string",
              "example": "twentytwentyone"
            },
            "maxItems": 20,
            "minItems": 1,
            "example": [
              "twentytwenty",
              "twentytwentyone"
            ]
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Datacenters.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"
      },
      "AgencyHosting.V1.Datacenters.DatacenterCollection": {
        "description": "Array of [`AgencyHosting.V1.Datacenters.DatacenterResource`](#model/agencyhostingv1datacentersdatacenterresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AgencyHosting.V1.Datacenters.DatacenterResource"
        }
      },
      "AgencyHosting.V1.Datacenters.DatacenterResource": {
        "required": [
          "title",
          "code",
          "country",
          "coordinates",
          "pinger_url"
        ],
        "properties": {
          "title": {
            "description": "Datacenter title",
            "type": "string",
            "example": "Europe (Netherlands)"
          },
          "code": {
            "description": "Datacenter code",
            "type": "string",
            "example": "ukfast"
          },
          "country": {
            "description": "Datacenter country code",
            "type": "string",
            "example": "uk"
          },
          "coordinates": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Datacenters.CoordinatesResource"
          },
          "pinger_url": {
            "description": "URL you can ping to measure round-trip latency to this datacenter. Compare the measured latency across datacenters to identify the nearest one (lowest ping) for your website. Null when no online server is currently available to measure against.",
            "type": "string",
            "example": "https://my-website.com/ping.php",
            "nullable": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Domains.DomainCollection": {
        "description": "Array of [`AgencyHosting.V1.Domains.DomainResource`](#model/agencyhostingv1domainsdomainresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AgencyHosting.V1.Domains.DomainResource"
        }
      },
      "AgencyHosting.V1.Domains.DomainResource": {
        "properties": {
          "fqdn": {
            "description": "Domain name",
            "type": "string",
            "example": "example.com"
          },
          "website_uid": {
            "description": "Owner website UID",
            "type": "string",
            "example": "zpwlGlp19"
          },
          "created_at": {
            "description": "Creation date",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Files.UploadUrlResource": {
        "required": [
          "url",
          "auth_key",
          "rest_auth_key"
        ],
        "properties": {
          "url": {
            "description": "The TUS upload endpoint URL to send upload requests to",
            "type": "string",
            "example": "https://h5g12345-fm.hstgr.io/rest/1b2b4e5d5a5f795f/api/tus"
          },
          "auth_key": {
            "description": "Authentication token to pass as the `X-Auth` header in TUS upload requests",
            "type": "string",
            "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoxfX0.O-x6KeHMkNqnbYvbRcdDEQXOSLcqyE7xNrnKvftbG3A"
          },
          "rest_auth_key": {
            "description": "Authentication token to pass as the `X-Auth-Rest` header in TUS upload requests",
            "type": "string",
            "example": "5c3b12fabf3d9652780a23ae705d2feb556c89907d0db50cddb8dffc27c1149d-1b2b4e5d5a5f795f"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Orders.DatacenterResource": {
        "properties": {
          "code": {
            "description": "Datacenter code",
            "type": "string",
            "example": "ukfast"
          },
          "country": {
            "description": "Datacenter country",
            "type": "string",
            "example": "uk"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Orders.OrderCollection": {
        "description": "Array of [`AgencyHosting.V1.Orders.OrderResource`](#model/agencyhostingv1ordersorderresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AgencyHosting.V1.Orders.OrderResource"
        }
      },
      "AgencyHosting.V1.Orders.OrderResource": {
        "properties": {
          "id": {
            "description": "Order ID",
            "type": "integer",
            "example": 123456
          },
          "client_id": {
            "description": "Order client ID",
            "type": "integer",
            "example": 123456
          },
          "status": {
            "description": "Order status",
            "type": "string",
            "example": "active",
            "nullable": true
          },
          "plan": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Orders.PlanResource"
          },
          "datacenter": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AgencyHosting.V1.Orders.DatacenterResource"
              }
            ],
            "nullable": true,
            "description": "Order datacenter"
          },
          "created_at": {
            "description": "Order creation date",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Orders.PlanResource": {
        "properties": {
          "name": {
            "description": "Plan display name",
            "type": "string",
            "example": "Shared Business hosting",
            "nullable": true
          },
          "key": {
            "description": "Plan key",
            "type": "string",
            "example": "shared_business_hosting",
            "nullable": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Setups.WebsiteSetupResource": {
        "properties": {
          "setup_uuid": {
            "description": "UUID tracking the asynchronous website setup process",
            "type": "string",
            "example": "0193b6d4-fabb-70e0-8ea4-cfe060a45898"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Setups.WebsiteSetupStatusResource": {
        "properties": {
          "website_uid": {
            "description": "UID of the website created by the setup, available once provisioning completes",
            "type": "string",
            "example": "zpwlGlp19",
            "nullable": true
          },
          "status": {
            "description": "Website setup status",
            "type": "string",
            "enum": [
              "running",
              "completed"
            ],
            "example": "running"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.CronJobs.CronJobCollection": {
        "description": "Array of [`AgencyHosting.V1.Websites.CronJobs.CronJobResource`](#model/agencyhostingv1websitescronjobscronjobresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AgencyHosting.V1.Websites.CronJobs.CronJobResource"
        }
      },
      "AgencyHosting.V1.Websites.CronJobs.CronJobResource": {
        "properties": {
          "uuid": {
            "description": "Unique identifier of the cron job. Use it to delete the cron job.",
            "type": "string",
            "example": "01931d6f-68f5-7b72-8d9e-09c6e1e6aa0e"
          },
          "time": {
            "description": "Cron schedule expression.",
            "type": "string",
            "example": "*/30 * * * *"
          },
          "command": {
            "description": "Command executed on the configured schedule.",
            "type": "string",
            "example": "php artisan schedule:run"
          },
          "created_at": {
            "description": "Cron job creation timestamp.",
            "type": "string",
            "format": "date-time",
            "example": "2024-10-28T12:00:00+00:00"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.CustomSslCertResource": {
        "properties": {
          "is_expired": {
            "description": "Is the SSL certificate expired",
            "type": "boolean",
            "example": false
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.Databases.DatabaseCollection": {
        "description": "Array of [`AgencyHosting.V1.Websites.Databases.DatabaseResource`](#model/agencyhostingv1websitesdatabasesdatabaseresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AgencyHosting.V1.Websites.Databases.DatabaseResource"
        }
      },
      "AgencyHosting.V1.Websites.Databases.DatabaseResource": {
        "properties": {
          "name": {
            "description": "Database name.",
            "type": "string",
            "example": "my_database"
          },
          "created_at": {
            "description": "Database creation date in ISO 8601 format.",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          },
          "users": {
            "description": "Non-system users that can access the database.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgencyHosting.V1.Websites.Databases.DatabaseUserResource"
            }
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.Databases.DatabaseUserResource": {
        "properties": {
          "name": {
            "description": "Database username.",
            "type": "string",
            "example": "my_user"
          },
          "host": {
            "description": "Database host the user is allowed to connect from.",
            "type": "string",
            "example": "localhost"
          },
          "created_at": {
            "description": "Database user creation date in ISO 8601 format.",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.SslCertResource": {
        "properties": {
          "names": {
            "description": "SSL cert names",
            "type": "array",
            "items": {
              "type": "string",
              "example": "test.com"
            },
            "example": [
              "test.com",
              "www.test.com"
            ]
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteDeletionResource": {
        "properties": {
          "website_uid": {
            "description": "Deleted website UID",
            "type": "string",
            "example": "zpwlGlp19"
          },
          "status": {
            "description": "Deletion status",
            "type": "string",
            "example": "deleted"
          },
          "message": {
            "description": "Human-readable result message",
            "type": "string",
            "example": "Website scheduled for deletion"
          },
          "deleted_at": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          },
          "is_cleanup_scheduled": {
            "description": "Whether background cleanup has been scheduled",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteDomainDetailsCollection": {
        "description": "Array of [`AgencyHosting.V1.Websites.WebsiteDomainDetailsResource`](#model/agencyhostingv1websiteswebsitedomaindetailsresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteDomainDetailsResource"
        }
      },
      "AgencyHosting.V1.Websites.WebsiteDomainDetailsResource": {
        "properties": {
          "fqdn": {
            "description": "Domain name",
            "type": "string",
            "example": "test.com"
          },
          "parent_fqdn": {
            "description": "Parent domain name if the domain is a subdomain",
            "type": "string",
            "example": "test.com",
            "nullable": true
          },
          "ipv6": {
            "description": "IPv6 address",
            "type": "string",
            "example": "2001:db8::1",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          },
          "nameservers": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "a.dns-parking.com"
            },
            "example": [
              "a.dns-parking.com",
              "b.dns-parking.com"
            ]
          },
          "ssl_cert": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.SslCertResource"
              }
            ],
            "nullable": true
          },
          "custom_ssl_cert": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.CustomSslCertResource"
              }
            ],
            "nullable": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteOrderPlanResource": {
        "properties": {
          "name": {
            "description": "Plan name",
            "type": "string",
            "example": "Hosting Single",
            "nullable": true
          },
          "parameters": {
            "description": "Plan parameters",
            "properties": {
              "disk_quota_bytes": {
                "description": "Disk quota in bytes",
                "type": "integer",
                "example": 21474836480
              },
              "inode_quota": {
                "description": "Inode quota",
                "type": "integer",
                "example": 10000
              },
              "cpu_cores": {
                "description": "CPU cores",
                "type": "integer",
                "example": 2
              },
              "memory_quota_bytes": {
                "description": "Memory quota in bytes",
                "type": "integer",
                "example": 1073741824
              },
              "disk_iops_quota": {
                "description": "Disk IOPs quota",
                "type": "integer",
                "example": 100000
              },
              "process_quota": {
                "description": "Process quota",
                "type": "integer",
                "example": 10000
              },
              "website_quota": {
                "description": "Website quota",
                "type": "integer",
                "example": 10
              },
              "max_databases_per_website": {
                "description": "Maximum number of databases per website",
                "type": "integer",
                "example": 5
              },
              "is_cdn_available": {
                "description": "Is CDN available",
                "type": "boolean",
                "example": true
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteOrderResource": {
        "properties": {
          "id": {
            "description": "Order ID",
            "type": "integer",
            "example": 123456
          },
          "status": {
            "description": "Order status",
            "type": "string",
            "example": "active",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          },
          "plan": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteOrderPlanResource"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsitePhpSettingsResource": {
        "properties": {
          "version": {
            "description": "PHP version",
            "type": "string",
            "example": "8.3"
          },
          "workers": {
            "description": "Number of PHP workers",
            "type": "integer",
            "example": 4
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsitePreviewDomainResource": {
        "properties": {
          "fqdn": {
            "description": "Preview domain name",
            "type": "string",
            "example": "plum-bee-184082.hostingersite.com"
          },
          "created_at": {
            "description": "Creation date",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteProcessCollection": {
        "description": "Array of [`AgencyHosting.V1.Websites.WebsiteProcessResource`](#model/agencyhostingv1websiteswebsiteprocessresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteProcessResource"
        }
      },
      "AgencyHosting.V1.Websites.WebsiteProcessResource": {
        "properties": {
          "id": {
            "description": "Process ID",
            "type": "string",
            "example": "0193b6d4-fabb-70e0-8ea4-cfe060a45898"
          },
          "type": {
            "description": "Process type",
            "type": "string",
            "example": "backup_generation"
          },
          "status": {
            "description": "Process status",
            "type": "string",
            "enum": [
              "running",
              "completed",
              "failed"
            ],
            "example": "running"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteRemoteAccessResource": {
        "properties": {
          "mode": {
            "description": "Remote access mode",
            "type": "string",
            "example": "ssh_and_sftp"
          },
          "ssh": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteSshDetailsResource"
          },
          "sftp": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteSftpDetailsResource"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteResource": {
        "properties": {
          "uid": {
            "description": "Website UID",
            "type": "string",
            "example": "zpwlGlp19"
          },
          "ipv4": {
            "description": "IPv4 address",
            "type": "string",
            "example": "192.161.10.1"
          },
          "flavor": {
            "description": "Setup flavor",
            "type": "string",
            "example": "wp-6.2.0"
          },
          "type": {
            "description": "Website type",
            "type": "string",
            "example": "node-static",
            "nullable": true
          },
          "description": {
            "description": "Description",
            "type": "string",
            "example": "Very awesome website",
            "nullable": true
          },
          "state": {
            "description": "Website state",
            "type": "string",
            "enum": [
              "active",
              "suspended"
            ],
            "example": "active"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          },
          "domains": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteDomainDetailsCollection"
          },
          "preview_domain": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsitePreviewDomainResource"
              }
            ],
            "nullable": true
          },
          "settings": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteSettingsResource"
          },
          "wordpress": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WordPressInstallResource"
              }
            ],
            "nullable": true
          },
          "remote_access": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteRemoteAccessResource"
          },
          "server": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteServerResource"
          },
          "order": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteOrderResource"
          },
          "user": {
            "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteUserResource"
          },
          "staging_root": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsiteStagingRootResource"
              }
            ],
            "nullable": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteServerResource": {
        "properties": {
          "hostname": {
            "description": "Server hostname",
            "type": "string",
            "example": "us-west-1.hstgr.io"
          },
          "country_code": {
            "description": "Country code",
            "type": "string",
            "example": "us"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteSettingsResource": {
        "properties": {
          "php": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AgencyHosting.V1.Websites.WebsitePhpSettingsResource"
              }
            ],
            "nullable": true,
            "description": "PHP settings"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteSftpDetailsResource": {
        "properties": {
          "username": {
            "description": "SFTP username",
            "type": "string",
            "example": "u123456789_abcDeFg"
          },
          "host": {
            "description": "SFTP host",
            "type": "string",
            "example": "192.161.10.1"
          },
          "port": {
            "description": "SFTP port",
            "type": "integer",
            "example": 65002
          },
          "is_enabled": {
            "description": "Is SFTP access enabled",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteSshDetailsResource": {
        "properties": {
          "username": {
            "description": "SSH username",
            "type": "string",
            "example": "u123456789_abcDeFg"
          },
          "host": {
            "description": "SSH host",
            "type": "string",
            "example": "192.161.10.1"
          },
          "port": {
            "description": "SSH port",
            "type": "integer",
            "example": 65002
          },
          "is_enabled": {
            "description": "Is SSH access enabled",
            "type": "boolean",
            "example": true
          },
          "is_password_enabled": {
            "description": "Is SSH password access enabled",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteStagingRootResource": {
        "properties": {
          "uid": {
            "description": "UID of the website this is a staging environment of",
            "type": "string",
            "example": "zpwlGlp19"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WebsiteUserResource": {
        "properties": {
          "username": {
            "description": "System username",
            "type": "string",
            "example": "u123456789"
          },
          "state": {
            "description": "User state",
            "type": "string",
            "example": "active"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.Websites.WordPressInstallResource": {
        "properties": {
          "domain": {
            "description": "WordPress domain",
            "type": "string",
            "example": "test.com"
          },
          "title": {
            "description": "WordPress title",
            "type": "string",
            "example": "My Blog"
          },
          "language": {
            "description": "WordPress language",
            "type": "string",
            "example": "en_US"
          },
          "is_config_locked": {
            "description": "WordPress configuration lock status",
            "type": "boolean",
            "example": true
          },
          "created_at": {
            "description": "Creation date",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.WordPress.SettingsResource": {
        "properties": {
          "core_version": {
            "description": "Currently installed WordPress core version, or null when it cannot be determined.",
            "type": "string",
            "example": "6.5.5",
            "nullable": true
          },
          "is_lite_speed_cache_enabled": {
            "description": "Whether the LiteSpeed Cache plugin is active.",
            "type": "boolean",
            "example": true
          },
          "is_object_cache_enabled": {
            "description": "Whether LiteSpeed object cache is enabled.",
            "type": "boolean",
            "example": false
          },
          "is_maintenance_mode_enabled": {
            "description": "Whether WordPress maintenance mode is currently enabled.",
            "type": "boolean",
            "example": false
          }
        },
        "type": "object"
      },
      "AgencyHosting.V1.WordPress.VersionCollection": {
        "description": "Array of [`AgencyHosting.V1.WordPress.VersionResource`](#model/agencyhostingv1wordpressversionresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AgencyHosting.V1.WordPress.VersionResource"
        }
      },
      "AgencyHosting.V1.WordPress.VersionResource": {
        "properties": {
          "version": {
            "description": "WordPress core version.",
            "type": "string",
            "example": "6.5.5"
          }
        },
        "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": "\n            Flexible key-value storage containing category-specific metadata for the catalog item.\n            The structure and available fields vary depending on the item category.\n            ",
            "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.Portfolio.AuthCode.AuthCodeResource": {
        "properties": {
          "auth_code": {
            "description": "Domain authorization code used to transfer the domain to another registrar.",
            "type": "string",
            "example": "RN0000",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Domains.V1.Portfolio.Renewal.RenewalInformationResource": {
        "properties": {
          "domain": {
            "description": "Domain name",
            "type": "string",
            "example": "mydomain.tld"
          },
          "status": {
            "description": "Domain status",
            "type": "string",
            "example": "Active"
          },
          "expires_at": {
            "description": "Domain expiration date",
            "type": "string",
            "format": "date-time",
            "example": "2027-05-25 13:53:04"
          }
        },
        "type": "object"
      },
      "Domains.V1.Transfer.TransferCollection": {
        "description": "Array of [`Domains.V1.Transfer.TransferResource`](#model/domainsv1transfertransferresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Domains.V1.Transfer.TransferResource"
        }
      },
      "Domains.V1.Transfer.TransferResource": {
        "properties": {
          "domain": {
            "description": "Domain name",
            "type": "string",
            "example": "mydomain.tld"
          },
          "status": {
            "description": "Transfer status",
            "type": "string",
            "example": "Completed"
          },
          "initiated_at": {
            "description": "When the transfer was initiated",
            "type": "string",
            "format": "date-time",
            "example": "2026-03-19T08:07:49Z",
            "nullable": true
          },
          "completed_at": {
            "description": "When the transfer completed",
            "type": "string",
            "format": "date-time",
            "example": "2026-03-24T08:15:01Z",
            "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"
        ]
      },
      "Ecommerce.V1.Miscellaneous.CustomStorefrontInstructionsResource": {
        "properties": {
          "instructions": {
            "description": "Markdown setup instructions for connecting a custom sales channel to your store.",
            "type": "string",
            "example": "# Connect your custom storefront\n\nUse the Ecommerce API to sync your store."
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Payment.ManualPaymentResource": {
        "properties": {
          "payment_method": {
            "properties": {
              "id": {
                "description": "Store payment provider ID.",
                "type": "string",
                "example": "spp_01J8Z5F8W9K8M4A7B3C2D1E0FG"
              },
              "provider_id": {
                "description": "The payment provider identifier.",
                "type": "string",
                "example": "manual"
              },
              "is_enabled": {
                "description": "Whether the payment method is shown at checkout.",
                "type": "boolean",
                "example": true
              },
              "title": {
                "description": "Display name shown to customers at checkout.",
                "type": "string",
                "example": "Cash on delivery"
              }
            },
            "type": "object"
          },
          "admin_url": {
            "description": "Admin UI deep-link to manage payment settings.",
            "type": "string",
            "example": "https://admin.example.com/store_01.../store-settings/payment-management"
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Product.ProductCreationResource": {
        "properties": {
          "product": {
            "properties": {
              "id": {
                "description": "Product ID.",
                "type": "string",
                "example": "prod_01J8Z5F8W9K8M4A7B3C2D1E0FG"
              },
              "title": {
                "description": "Product name.",
                "type": "string",
                "example": "My Product"
              },
              "type": {
                "description": "Product type.",
                "type": "string",
                "enum": [
                  "physical",
                  "digital"
                ],
                "example": "physical"
              },
              "status": {
                "description": "Product status.",
                "type": "string",
                "example": "published"
              },
              "price": {
                "description": "Price in the smallest currency unit (e.g. cents).",
                "type": "integer",
                "example": 1000
              },
              "currency_code": {
                "description": "Currency the product is priced in (ISO 4217, lowercase).",
                "type": "string",
                "example": "usd"
              }
            },
            "type": "object"
          },
          "admin_url": {
            "description": "Admin UI deep-link to manage the product.",
            "type": "string",
            "example": "https://admin.example.com/store_01.../products/edit?product=prod_01..."
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.SalesChannel.SalesChannelCreationResource": {
        "properties": {
          "sales_channel": {
            "properties": {
              "id": {
                "description": "Sales channel ID",
                "type": "string",
                "example": "scha_01J8Z5F8W9K8M4A7B3C2D1E0FG"
              },
              "type": {
                "description": "Sales channel type",
                "type": "string",
                "enum": [
                  "builder",
                  "horizons",
                  "tiktok",
                  "custom",
                  "quick-link",
                  "wordpress"
                ],
                "example": "custom"
              },
              "is_primary": {
                "description": "Whether this is the primary sales channel.",
                "type": "boolean",
                "example": false
              },
              "is_active": {
                "description": "Whether the sales channel is active.",
                "type": "boolean",
                "example": true
              },
              "external_id": {
                "description": "External identifier for the sales channel.",
                "type": "string",
                "example": null,
                "nullable": true
              },
              "name": {
                "description": "Merchant-facing custom name.",
                "type": "string",
                "example": "Vintagio Onepager",
                "nullable": true
              },
              "domain": {
                "description": "Public address where the custom sales channel lives.",
                "type": "string",
                "example": "https://www.bestshirt.vintagio.com",
                "nullable": true
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.SalesChannel.SalesChannelListResource": {
        "properties": {
          "sales_channels": {
            "description": "The store's active sales channels.",
            "type": "array",
            "items": {
              "properties": {
                "id": {
                  "description": "Sales channel ID",
                  "type": "string",
                  "example": "scha_01J8Z5F8W9K8M4A7B3C2D1E0FG"
                },
                "type": {
                  "description": "Sales channel type",
                  "type": "string",
                  "enum": [
                    "builder",
                    "horizons",
                    "tiktok",
                    "custom",
                    "quick-link",
                    "wordpress"
                  ],
                  "example": "custom"
                },
                "is_primary": {
                  "description": "Whether this is the primary sales channel.",
                  "type": "boolean",
                  "example": false
                },
                "is_active": {
                  "description": "Whether the sales channel is active.",
                  "type": "boolean",
                  "example": true
                },
                "external_id": {
                  "description": "External identifier for the sales channel.",
                  "type": "string",
                  "example": null,
                  "nullable": true
                },
                "name": {
                  "description": "Merchant-facing custom name.",
                  "type": "string",
                  "example": "Vintagio Onepager",
                  "nullable": true
                },
                "domain": {
                  "description": "Public address where the sales channel lives.",
                  "type": "string",
                  "example": "https://www.bestshirt.vintagio.com",
                  "nullable": true
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.SalesChannel.SalesChannelUpdateResource": {
        "properties": {
          "sales_channel": {
            "properties": {
              "id": {
                "description": "Sales channel ID",
                "type": "string",
                "example": "scha_01J8Z5F8W9K8M4A7B3C2D1E0FG"
              },
              "type": {
                "description": "Sales channel type",
                "type": "string",
                "enum": [
                  "builder",
                  "horizons",
                  "tiktok",
                  "custom",
                  "quick-link",
                  "wordpress"
                ],
                "example": "custom"
              },
              "is_primary": {
                "description": "Whether this is the primary sales channel.",
                "type": "boolean",
                "example": false
              },
              "is_active": {
                "description": "Whether the sales channel is active.",
                "type": "boolean",
                "example": true
              },
              "external_id": {
                "description": "External identifier for the sales channel.",
                "type": "string",
                "example": null,
                "nullable": true
              },
              "name": {
                "description": "Merchant-facing custom name.",
                "type": "string",
                "example": "Vintagio Onepager",
                "nullable": true
              },
              "domain": {
                "description": "Public address where the custom sales channel lives.",
                "type": "string",
                "example": "https://www.bestshirt.vintagio.com",
                "nullable": true
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Shipping.ShippingResource": {
        "properties": {
          "shipping_option": {
            "properties": {
              "id": {
                "description": "Shipping option ID.",
                "type": "string",
                "example": "so_01J8Z5F8W9K8M4A7B3C2D1E0FG"
              },
              "amount": {
                "description": "Flat shipping rate in the smallest currency unit (e.g. cents).",
                "type": "integer",
                "example": 500
              },
              "currency_code": {
                "description": "Currency code the rate is charged in (ISO 4217, lowercase).",
                "type": "string",
                "example": "usd"
              }
            },
            "type": "object"
          },
          "admin_url": {
            "description": "Admin UI deep-link to manage shipping settings.",
            "type": "string",
            "example": "https://admin.example.com/store_01.../store-settings/shipping"
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Store.StoreCollection": {
        "description": "Array of [`Ecommerce.V1.Store.StoreResource`](#model/ecommercev1storestoreresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Ecommerce.V1.Store.StoreResource"
        }
      },
      "Ecommerce.V1.Store.StoreCreationResource": {
        "properties": {
          "store": {
            "properties": {
              "id": {
                "description": "Store ID",
                "type": "string",
                "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
              },
              "name": {
                "description": "Store name",
                "type": "string",
                "example": "My Store",
                "nullable": true
              },
              "company_name": {
                "description": "Company name",
                "type": "string",
                "example": "My Company",
                "nullable": true
              },
              "h_panel_id": {
                "description": "Identifier of the hPanel account that owns the store.",
                "type": "string",
                "example": "1234567"
              },
              "created_at": {
                "description": "Creation date",
                "type": "string",
                "format": "date-time",
                "example": "2026-01-21T07:35:04.000000Z"
              },
              "default_currency_code": {
                "description": "Default currency code (ISO 4217), in lowercase.",
                "type": "string",
                "example": "usd"
              }
            },
            "type": "object"
          },
          "sales_channel": {
            "properties": {
              "id": {
                "description": "Sales channel ID",
                "type": "string",
                "example": "scha_01J8Z5F8W9K8M4A7B3C2D1E0FG"
              },
              "type": {
                "description": "Sales channel type",
                "type": "string",
                "enum": [
                  "builder",
                  "horizons",
                  "tiktok",
                  "custom",
                  "quick-link",
                  "wordpress"
                ],
                "example": "custom"
              },
              "external_id": {
                "description": "External identifier for the sales channel",
                "type": "string",
                "example": null,
                "nullable": true
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Store.StoreDeleteResource": {
        "properties": {
          "id": {
            "description": "The ID of the deleted store.",
            "type": "string",
            "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
          },
          "is_deleted": {
            "description": "Always true when the store was soft-deleted.",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Store.StoreMetadataResource": {
        "properties": {
          "metadata": {
            "properties": {
              "has_payment_methods": {
                "description": "Whether the store has at least one payment method connected.",
                "type": "boolean",
                "example": true
              },
              "has_shipping": {
                "description": "Whether the store has at least one shipping option configured.",
                "type": "boolean",
                "example": true
              },
              "default_currency_code": {
                "description": "The default currency code of the store.",
                "type": "string",
                "example": "eur"
              },
              "default_currency": {
                "description": "The store's default currency, or null when unset.",
                "properties": {
                  "code": {
                    "type": "string",
                    "example": "eur"
                  },
                  "symbol": {
                    "type": "string",
                    "example": "€"
                  },
                  "symbol_native": {
                    "type": "string",
                    "example": "€"
                  },
                  "name": {
                    "type": "string",
                    "example": "Euro"
                  },
                  "name_plural": {
                    "type": "string",
                    "example": "Euros"
                  },
                  "decimal_digits": {
                    "type": "integer",
                    "example": 2
                  },
                  "rounding": {
                    "type": "number",
                    "example": 0
                  },
                  "template": {
                    "type": "string",
                    "example": "€$1",
                    "nullable": true
                  },
                  "min_amount": {
                    "type": "number",
                    "example": 50,
                    "nullable": true
                  }
                },
                "type": "object",
                "nullable": true
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Ecommerce.V1.Store.StoreResource": {
        "properties": {
          "id": {
            "description": "Store ID",
            "type": "string",
            "example": "store_01J8Z5F8W9K8M4A7B3C2D1E0FG"
          },
          "name": {
            "description": "Store name",
            "type": "string",
            "example": "My Store",
            "nullable": true
          },
          "created_at": {
            "description": "Creation date",
            "type": "string",
            "format": "date-time",
            "example": "2026-01-21T07:35:04.000000Z"
          },
          "updated_at": {
            "description": "Last update date",
            "type": "string",
            "format": "date-time",
            "example": "2026-01-21T07:35:04.000000Z"
          },
          "version": {
            "description": "Store platform version identifier (e.g. \"v2_standalone\").",
            "type": "string",
            "example": "v2_standalone"
          },
          "company_name": {
            "description": "Company name",
            "type": "string",
            "example": "My Company",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Horizons.V1.Websites.CreatedWebsiteResource": {
        "required": [
          "website_url",
          "website_id"
        ],
        "properties": {
          "website_url": {
            "description": "The website URL for the user to access their website in Hostinger Horizons interface",
            "type": "string",
            "example": "https://horizons.hostinger.com/123e4567-e89b-12d3-a456-426614174000?location=chatgpt"
          },
          "website_id": {
            "description": "The website ID",
            "type": "string",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          }
        },
        "type": "object"
      },
      "Horizons.V1.Websites.WebsiteUrlResource": {
        "required": [
          "website_url"
        ],
        "properties": {
          "website_url": {
            "description": "The website URL for the user to access their website in Hostinger Horizons interface",
            "type": "string",
            "example": "https://horizons.hostinger.com/123e4567-e89b-12d3-a456-426614174000?location=chatgpt"
          }
        },
        "type": "object"
      },
      "Hosting.V1.CronJobs.CronJobCollection": {
        "description": "Array of [`Hosting.V1.CronJobs.CronJobResource`](#model/hostingv1cronjobscronjobresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Hosting.V1.CronJobs.CronJobResource"
        }
      },
      "Hosting.V1.CronJobs.CronJobOutputResource": {
        "required": [
          "output"
        ],
        "properties": {
          "output": {
            "description": "Output captured from the last cron job execution. Empty when the cron job has not run yet.",
            "type": "string",
            "example": ""
          }
        },
        "type": "object"
      },
      "Hosting.V1.CronJobs.CronJobResource": {
        "properties": {
          "uid": {
            "description": "Unique identifier of the cron job. Use it to delete the cron job or fetch its output.",
            "type": "string",
            "example": "cron_abc123"
          },
          "username": {
            "description": "Username of the account that owns the cron job.",
            "type": "string",
            "example": "u123456789"
          },
          "time": {
            "description": "Cron schedule expression.",
            "type": "string",
            "example": "0 2 * * *"
          },
          "command": {
            "description": "Command executed on the schedule.",
            "type": "string",
            "example": "php /home/u123456789/cleanup.php"
          }
        },
        "type": "object"
      },
      "Hosting.V1.Databases.DatabaseCollection": {
        "description": "Array of [`Hosting.V1.Databases.DatabaseResource`](#model/hostingv1databasesdatabaseresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Hosting.V1.Databases.DatabaseResource"
        }
      },
      "Hosting.V1.Databases.DatabaseResource": {
        "properties": {
          "name": {
            "description": "Database name.",
            "type": "string",
            "example": "u123456789_test_db"
          },
          "user": {
            "description": "Database user.",
            "type": "string",
            "example": "u123456789_admin"
          },
          "domain": {
            "description": "Domain assigned to the database, or null when the database is unassigned.",
            "type": "string",
            "example": "example.com",
            "nullable": true
          },
          "permissions": {
            "description": "Database user permissions keyed by permission name.",
            "type": "object",
            "example": {
              "Alter": 1,
              "Drop": 0
            }
          },
          "created_at": {
            "description": "Database creation date in ISO 8601 format.",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          },
          "updated_at": {
            "description": "Database last update date in ISO 8601 format.",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49+00:00"
          },
          "disk_usage_mb": {
            "description": "Current database disk usage in megabytes.",
            "type": "integer",
            "example": 32,
            "nullable": true
          },
          "max_size_mb": {
            "description": "Maximum allowed database size in megabytes.",
            "type": "integer",
            "example": 3072
          }
        },
        "type": "object"
      },
      "Hosting.V1.Databases.PhpMyAdminLinkResource": {
        "required": [
          "link"
        ],
        "properties": {
          "link": {
            "description": "Direct sign-on URL to phpMyAdmin for the specified database.",
            "type": "string",
            "example": "https://auth-db123.hostinger.com/signon.php?sid=abc123"
          }
        },
        "type": "object"
      },
      "Hosting.V1.Databases.RemoteConnections.RemoteConnectionCollection": {
        "description": "Array of [`Hosting.V1.Databases.RemoteConnections.RemoteConnectionResource`](#model/hostingv1databasesremoteconnectionsremoteconnectionresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Hosting.V1.Databases.RemoteConnections.RemoteConnectionResource"
        }
      },
      "Hosting.V1.Databases.RemoteConnections.RemoteConnectionResource": {
        "properties": {
          "database_name": {
            "description": "Full name of the database the rule applies to.",
            "type": "string",
            "example": "u123456789_shop"
          },
          "database_user": {
            "description": "Database user the rule applies to.",
            "type": "string",
            "example": "u123456789_admin"
          },
          "ip": {
            "description": "Allowed remote host: an IPv4/IPv6 address, or \"%\" for any host.",
            "type": "string",
            "example": "192.0.2.10"
          }
        },
        "type": "object"
      },
      "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.Domains.ParkedDomainCollection": {
        "description": "Array of [`Hosting.V1.Domains.ParkedDomainResource`](#model/hostingv1domainsparkeddomainresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Hosting.V1.Domains.ParkedDomainResource"
        }
      },
      "Hosting.V1.Domains.ParkedDomainResource": {
        "properties": {
          "username": {
            "description": "Website username",
            "type": "string",
            "example": "u123456789"
          },
          "domain": {
            "description": "Parked domain name or IP address",
            "type": "string",
            "example": "parked-domain.com"
          },
          "parent_domain": {
            "description": "Parent website domain",
            "type": "string",
            "example": "example.com"
          },
          "root_directory": {
            "description": "Parked domain root directory",
            "type": "string",
            "example": "/home/u123456789/domains/example.com/public_html"
          },
          "type": {
            "description": "Whether the parked value is a domain name or an IP address (IPv4 or IPv6)",
            "type": "string",
            "enum": [
              "domain",
              "ip"
            ],
            "example": "domain"
          }
        },
        "type": "object"
      },
      "Hosting.V1.Domains.SubdomainCollection": {
        "description": "Array of [`Hosting.V1.Domains.SubdomainResource`](#model/hostingv1domainssubdomainresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Hosting.V1.Domains.SubdomainResource"
        }
      },
      "Hosting.V1.Domains.SubdomainResource": {
        "properties": {
          "username": {
            "description": "Website username",
            "type": "string",
            "example": "u123456789"
          },
          "domain": {
            "description": "Full subdomain",
            "type": "string",
            "example": "blog.example.com"
          },
          "parent_domain": {
            "description": "Parent website domain",
            "type": "string",
            "example": "example.com"
          },
          "root_directory": {
            "description": "Subdomain root directory",
            "type": "string",
            "example": "/home/u123456789/domains/blog.example.com/public_html"
          },
          "subdomain": {
            "description": "Subdomain prefix",
            "type": "string",
            "example": "blog"
          }
        },
        "type": "object"
      },
      "Hosting.V1.NodeJs.BuildCollection": {
        "description": "Array of [`Hosting.V1.NodeJs.BuildResource`](#model/hostingv1nodejsbuildresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Hosting.V1.NodeJs.BuildResource"
        }
      },
      "Hosting.V1.NodeJs.BuildLogsResource": {
        "required": [
          "logs",
          "lines"
        ],
        "properties": {
          "logs": {
            "description": "Logs from the build process, may contain ANSI escape sequences (for colors, etc.)",
            "type": "string",
            "example": "added 10 packages, and audited 11 packages in 8s\n\n3 packages are looking for funding\n  run `npm fund` for details",
            "nullable": true
          },
          "lines": {
            "description": "Number of log lines returned",
            "type": "integer",
            "example": 3
          }
        },
        "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.BuildResource": {
        "properties": {
          "uuid": {
            "description": "Build UUID",
            "type": "string",
            "example": "69f07fe2-197a-4fb3-9dae-606f965ad13d"
          },
          "state": {
            "description": "Build state",
            "type": "string",
            "enum": [
              "pending",
              "running",
              "completed",
              "failed"
            ],
            "example": "pending"
          },
          "options": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Hosting.V1.NodeJs.BuildOptionsResource"
              }
            ],
            "nullable": true,
            "description": "Build options"
          },
          "created_at": {
            "description": "Creation timestamp",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49.067239Z"
          },
          "updated_at": {
            "description": "Last update timestamp",
            "type": "string",
            "format": "date-time",
            "example": "2024-05-29T05:49:49.067239Z"
          }
        },
        "type": "object"
      },
      "Hosting.V1.NodeJs.PatchResultResource": {
        "properties": {
          "pr_url": {
            "description": "URL to the created GitHub pull request",
            "type": "string",
            "example": "https://github.com/owner/repo/pull/42"
          },
          "pr_number": {
            "description": "GitHub pull request number",
            "type": "integer",
            "example": 42
          },
          "head_branch": {
            "description": "The branch created with the fix",
            "type": "string",
            "example": "fix/patch-vulnerabilities-a1b2c3d4"
          },
          "patched_vulnerability_ids": {
            "description": "List of vulnerability IDs that were patched in the pull request",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "GHSA-jf85-cpcp-j695"
            ]
          }
        },
        "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.NodeJs.VulnerabilityCollection": {
        "description": "Array of [`Hosting.V1.NodeJs.VulnerabilityResource`](#model/hostingv1nodejsvulnerabilityresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Hosting.V1.NodeJs.VulnerabilityResource"
        }
      },
      "Hosting.V1.NodeJs.VulnerabilityResource": {
        "properties": {
          "package_name": {
            "description": "Name of the affected npm package",
            "type": "string",
            "example": "lodash"
          },
          "installed_version": {
            "description": "Version of the package currently installed",
            "type": "string",
            "example": "4.17.0"
          },
          "is_direct": {
            "description": "Whether the package is a direct dependency",
            "type": "boolean",
            "example": true
          },
          "is_patchable": {
            "description": "Whether the vulnerability can be auto-patched without a major version bump",
            "type": "boolean",
            "example": true
          },
          "fix_version": {
            "description": "Version that fixes the vulnerability, if known",
            "type": "string",
            "example": "4.17.21",
            "nullable": true
          },
          "vulnerability_id": {
            "description": "Unique vulnerability identifier (e.g. GHSA or CVE)",
            "type": "string",
            "example": "GHSA-jf85-cpcp-j695"
          },
          "severity": {
            "description": "Severity level of the vulnerability",
            "type": "string",
            "enum": [
              "low",
              "moderate",
              "high",
              "critical",
              "unknown"
            ],
            "example": "high"
          },
          "title": {
            "description": "Short human-readable title of the vulnerability",
            "type": "string",
            "example": "Prototype Pollution in lodash"
          },
          "description": {
            "description": "Detailed description of the vulnerability",
            "type": "string",
            "example": "Versions of lodash prior to 4.17.11 are vulnerable to prototype pollution.",
            "nullable": true
          },
          "cvss_score": {
            "description": "CVSS base score (0.0-10.0)",
            "type": "number",
            "format": "float",
            "example": 9.8,
            "nullable": true
          },
          "cve": {
            "description": "CVE identifier, if available",
            "type": "string",
            "example": "CVE-2019-10744",
            "nullable": true
          },
          "cwe": {
            "description": "CWE identifier describing the weakness type",
            "type": "string",
            "example": "CWE-1321",
            "nullable": true
          },
          "url": {
            "description": "URL to the vulnerability advisory",
            "type": "string",
            "example": "https://github.com/advisories/GHSA-jf85-cpcp-j695",
            "nullable": true
          },
          "published_at": {
            "description": "Date the vulnerability was published, in ISO 8601 format",
            "type": "string",
            "format": "date-time",
            "example": "2019-07-26T00:00:00Z",
            "nullable": true
          },
          "is_patching_in_progress": {
            "description": "Whether this vulnerability is included in a currently open patch pull request",
            "type": "boolean",
            "example": false
          }
        },
        "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.Php.PhpDetailsResource": {
        "properties": {
          "php_version": {
            "description": "Current PHP version name",
            "type": "string",
            "example": "8.1"
          },
          "php_version_full": {
            "description": "Full PHP version name",
            "type": "string",
            "example": "8.1.27"
          },
          "php_versions": {
            "$ref": "#/components/schemas/Hosting.V1.Php.PhpVersionsResource"
          },
          "options": {
            "description": "PHP options keyed by option name",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Hosting.V1.Php.PhpOptionResource"
            }
          },
          "extensions": {
            "description": "PHP extensions keyed by extension name",
            "type": "object",
            "example": {
              "yaml": {
                "state": "enabled",
                "description": ""
              }
            }
          },
          "conflicting_extensions": {
            "description": "Groups of extensions that conflict with each other",
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "apc",
                "opcache"
              ]
            }
          }
        },
        "type": "object"
      },
      "Hosting.V1.Php.PhpInfoResource": {
        "properties": {
          "info": {
            "description": "HTML string containing the full phpinfo page",
            "type": "string",
            "example": "<html>...</html>"
          }
        },
        "type": "object"
      },
      "Hosting.V1.Php.PhpOptionResource": {
        "properties": {
          "type": {
            "description": "Declared option type (e.g. bool, string)",
            "type": "string",
            "example": "bool"
          },
          "value": {
            "description": "Current value for this website",
            "type": "string",
            "example": "On"
          },
          "comment": {
            "description": "Human-readable description",
            "type": "string",
            "example": "Allows PHP file functions to retrieve data from remote locations"
          },
          "default": {
            "description": "Default value",
            "type": "string",
            "example": "On"
          },
          "range": {
            "description": "Allowed value range or limits, when applicable",
            "type": "string",
            "example": "8M-512M",
            "nullable": true
          },
          "max": {
            "description": "Maximum value allowed by the account hosting plan, when applicable",
            "type": "string",
            "example": "512M",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Hosting.V1.Php.PhpVersionsResource": {
        "properties": {
          "supported": {
            "description": "Key-value pairs of supported versions",
            "type": "object",
            "example": {
              "8.1": "PHP 8.1"
            }
          },
          "unsupported": {
            "description": "Key-value pairs of unsupported versions",
            "type": "object",
            "example": {
              "5.2": "PHP 5.2"
            }
          }
        },
        "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"
      },
      "Mail.V1.ApiTokens.ApiTokenCollection": {
        "description": "Array of [`Mail.V1.ApiTokens.ApiTokenResource`](#model/mailv1apitokensapitokenresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.ApiTokens.ApiTokenResource"
        }
      },
      "Mail.V1.ApiTokens.ApiTokenCreatedResource": {
        "properties": {
          "id": {
            "description": "Unique API token identifier",
            "type": "string",
            "example": "019683f8-1234-7abc-8def-0123456789ab"
          },
          "token": {
            "description": "Plaintext API token, returned only in this response. Grants access to the [Hostinger Email API](https://api.mail.hostinger.com/) for mailbox provisioning and management.",
            "type": "string",
            "example": "4a6f8b2d1e9c3f7a0b5d8e2c4f1a7b3d9e6c2f8a1b4d7e0c3f6a9b2d5e8c1f4a"
          },
          "name": {
            "description": "Human-readable label for this token",
            "type": "string",
            "example": "CRM integration",
            "nullable": true
          },
          "scope": {
            "$ref": "#/components/schemas/Mail.V1.ApiTokens.ApiTokenScopeResource"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-05-05T12:00:00Z"
          },
          "type": {
            "type": "string",
            "enum": [
              "api_token",
              "oauth"
            ],
            "example": "api_token"
          }
        },
        "type": "object"
      },
      "Mail.V1.ApiTokens.ApiTokenMailboxResource": {
        "properties": {
          "id": {
            "description": "Mailbox resource ID",
            "type": "string",
            "example": "AC1a2b3c4d5e6f7g"
          },
          "address": {
            "type": "string",
            "example": "user@example.com"
          }
        },
        "type": "object"
      },
      "Mail.V1.ApiTokens.ApiTokenResource": {
        "properties": {
          "id": {
            "description": "Unique API token identifier",
            "type": "string",
            "example": "019683f8-1234-7abc-8def-0123456789ab"
          },
          "order_id": {
            "description": "Resource ID of the owning mail order",
            "type": "string",
            "example": "OR1a2b3c4d5e6f7g",
            "nullable": true
          },
          "name": {
            "description": "Human-readable label for this token",
            "type": "string",
            "example": "CRM integration",
            "nullable": true
          },
          "scope": {
            "$ref": "#/components/schemas/Mail.V1.ApiTokens.ApiTokenScopeResource"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-05-05T12:00:00Z"
          },
          "last_used_at": {
            "description": "Last successful authentication using this token",
            "type": "string",
            "format": "date-time",
            "example": "2026-05-15T08:30:00Z",
            "nullable": true
          },
          "type": {
            "type": "string",
            "enum": [
              "api_token",
              "oauth"
            ],
            "example": "api_token"
          }
        },
        "type": "object"
      },
      "Mail.V1.ApiTokens.ApiTokenScopeResource": {
        "properties": {
          "has_all_mailboxes": {
            "description": "Whether the token covers all current and future mailboxes of the order",
            "type": "boolean",
            "example": false
          },
          "mailboxes": {
            "description": "Mailboxes this token grants access to. Empty when `has_all_mailboxes` is true.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Mail.V1.ApiTokens.ApiTokenMailboxResource"
            }
          }
        },
        "type": "object"
      },
      "Mail.V1.Autoreplies.AutoreplyCollection": {
        "description": "Array of [`Mail.V1.Autoreplies.AutoreplyResource`](#model/mailv1autorepliesautoreplyresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Autoreplies.AutoreplyResource"
        }
      },
      "Mail.V1.Autoreplies.AutoreplyMailboxResource": {
        "properties": {
          "id": {
            "description": "Mailbox resource ID",
            "type": "string",
            "example": "AC1a2b3c4d5e6f7g"
          },
          "address": {
            "type": "string",
            "example": "user@example.com"
          }
        },
        "type": "object"
      },
      "Mail.V1.Autoreplies.AutoreplyResource": {
        "properties": {
          "id": {
            "description": "Unique autoreply identifier",
            "type": "string",
            "example": "AR1a2b3c4d5e6f7g"
          },
          "mailbox": {
            "$ref": "#/components/schemas/Mail.V1.Autoreplies.AutoreplyMailboxResource"
          },
          "subject": {
            "description": "Subject of the automatic reply",
            "type": "string",
            "example": "Out of office"
          },
          "body": {
            "description": "Body of the automatic reply",
            "type": "string",
            "example": "I am on vacation until August 1st."
          },
          "display_name": {
            "description": "Sender display name used for the reply",
            "type": "string",
            "example": "John Doe",
            "nullable": true
          },
          "starts_at": {
            "description": "When the autoreply becomes active",
            "type": "string",
            "format": "date-time",
            "example": "2026-08-01T00:00:00Z"
          },
          "ends_at": {
            "description": "When the autoreply stops",
            "type": "string",
            "format": "date-time",
            "example": "2026-09-01T00:00:00Z",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-24T12:00:00Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-24T12:00:00Z"
          }
        },
        "type": "object"
      },
      "Mail.V1.Forwarders.ForwarderCollection": {
        "description": "Array of [`Mail.V1.Forwarders.ForwarderResource`](#model/mailv1forwardersforwarderresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Forwarders.ForwarderResource"
        }
      },
      "Mail.V1.Forwarders.ForwarderMailboxResource": {
        "properties": {
          "id": {
            "description": "Mailbox resource ID",
            "type": "string",
            "example": "AC1a2b3c4d5e6f7g"
          },
          "address": {
            "type": "string",
            "example": "user@example.com"
          }
        },
        "type": "object"
      },
      "Mail.V1.Forwarders.ForwarderResource": {
        "properties": {
          "id": {
            "description": "Unique forwarder identifier",
            "type": "string",
            "example": "FW1a2b3c4d5e6f7g"
          },
          "mailbox": {
            "$ref": "#/components/schemas/Mail.V1.Forwarders.ForwarderMailboxResource"
          },
          "destination": {
            "description": "Email address the messages are forwarded to",
            "type": "string",
            "example": "jane@example.org"
          },
          "is_keep_copy_enabled": {
            "description": "Whether a copy of forwarded messages is kept in the mailbox",
            "type": "boolean",
            "example": true
          },
          "is_active": {
            "description": "Whether the forwarder is active",
            "type": "boolean",
            "example": true
          },
          "is_confirmed": {
            "description": "Whether the destination address has confirmed the forwarding",
            "type": "boolean",
            "example": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-24T12:00:00Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-24T12:00:00Z"
          }
        },
        "type": "object"
      },
      "Mail.V1.Logs.Access.AccessLogCollection": {
        "description": "Array of [`Mail.V1.Logs.Access.AccessLogResource`](#model/mailv1logsaccessaccesslogresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Logs.Access.AccessLogResource"
        }
      },
      "Mail.V1.Logs.Access.AccessLogResource": {
        "properties": {
          "account": {
            "type": "string",
            "example": "user@example.com"
          },
          "domain": {
            "type": "string",
            "example": "example.com"
          },
          "session": {
            "type": "string",
            "example": "nVpwr1XahpcqAkeAAAQAAJjSnW8aYxyM"
          },
          "protocol": {
            "type": "string",
            "example": "imap"
          },
          "remote_ip": {
            "type": "string",
            "example": "192.168.0.1"
          },
          "login_time": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-16T13:13:54Z"
          },
          "in": {
            "description": "Bytes received",
            "type": "integer",
            "example": 421
          },
          "out": {
            "description": "Bytes sent",
            "type": "integer",
            "example": 9381
          },
          "deleted": {
            "type": "integer",
            "example": 0
          },
          "expunged": {
            "type": "integer",
            "example": 0
          },
          "trashed": {
            "type": "integer",
            "example": 0
          },
          "logout_time": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-16T13:13:55Z"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-16T13:13:55Z"
          },
          "app_name": {
            "type": "string",
            "example": "com.google.android.gm"
          },
          "has_deletions": {
            "type": "boolean",
            "example": false
          },
          "result": {
            "type": "string",
            "example": "ok"
          },
          "status": {
            "type": "string",
            "example": "Access"
          },
          "is_important": {
            "description": "True when the session deleted, expunged or trashed messages",
            "type": "boolean",
            "example": false
          }
        },
        "type": "object"
      },
      "Mail.V1.Logs.Action.ActionLogCollection": {
        "description": "Array of [`Mail.V1.Logs.Action.ActionLogResource`](#model/mailv1logsactionactionlogresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Logs.Action.ActionLogResource"
        }
      },
      "Mail.V1.Logs.Action.ActionLogResource": {
        "properties": {
          "action": {
            "type": "string",
            "example": "Account created"
          },
          "extra": {
            "description": "Arbitrary contextual payload",
            "type": "object",
            "example": null,
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-16T12:11:34Z"
          },
          "ip_address": {
            "description": "Only populated for user-role logs",
            "type": "string",
            "example": "127.0.0.1"
          },
          "role": {
            "type": "string",
            "example": "user"
          },
          "action_context": {
            "type": "string",
            "example": "example.com"
          },
          "response_status": {
            "type": "string",
            "enum": [
              "OK",
              "Fail"
            ],
            "example": "OK"
          }
        },
        "type": "object"
      },
      "Mail.V1.Logs.Common.DeliveryLogCollection": {
        "description": "Array of [`Mail.V1.Logs.Common.DeliveryLogResource`](#model/mailv1logscommondeliverylogresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Logs.Common.DeliveryLogResource"
        }
      },
      "Mail.V1.Logs.Common.DeliveryLogRelayEventResource": {
        "properties": {
          "address_to": {
            "type": "string",
            "example": "user@example.com"
          },
          "relay": {
            "type": "string",
            "example": "server.example.com[192.168.0.1]:587"
          },
          "delay": {
            "type": "string",
            "example": "3.1"
          },
          "dsn": {
            "type": "string",
            "example": "2.0.0"
          },
          "status": {
            "type": "string",
            "example": "Sent"
          },
          "response": {
            "type": "string",
            "example": "250 2.0.0 Ok: queued as 6153112091D"
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-16T13:13:55Z"
          }
        },
        "type": "object"
      },
      "Mail.V1.Logs.Common.DeliveryLogResource": {
        "properties": {
          "account": {
            "type": "string",
            "example": "user@example.com"
          },
          "rcpt": {
            "type": "string",
            "example": "recipient@example.com"
          },
          "rcpts": {
            "type": "string",
            "example": "recipient@example.com"
          },
          "client_ip": {
            "type": "string",
            "example": "192.168.0.1"
          },
          "from": {
            "type": "string",
            "example": "user@example.com"
          },
          "nrcpt": {
            "type": "string",
            "example": "1"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-16T13:13:55Z"
          },
          "relay_events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Mail.V1.Logs.Common.DeliveryLogRelayEventResource"
            }
          },
          "status": {
            "type": "string",
            "example": "Delivered"
          },
          "is_spam": {
            "type": "boolean",
            "example": false
          }
        },
        "type": "object"
      },
      "Mail.V1.Logs.MailboxActions.MailboxActionLogCollection": {
        "description": "Array of [`Mail.V1.Logs.MailboxActions.MailboxActionLogResource`](#model/mailv1logsmailboxactionsmailboxactionlogresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Logs.MailboxActions.MailboxActionLogResource"
        }
      },
      "Mail.V1.Logs.MailboxActions.MailboxActionLogResource": {
        "properties": {
          "folder": {
            "type": "string",
            "example": "INBOX.Sent"
          },
          "time": {
            "description": "Unix timestamp of the event",
            "type": "integer",
            "example": 1773906125
          },
          "event": {
            "type": "string",
            "enum": [
              "MessageNew",
              "MessageRead",
              "MessageAppend",
              "MessageExpunge",
              "MailboxCreate",
              "MailboxDelete",
              "MailboxRename"
            ],
            "example": "MessageNew"
          },
          "mailbox": {
            "description": "Mailbox email address",
            "type": "string",
            "example": "user@example.com"
          },
          "hostname": {
            "type": "string",
            "example": "de-fra-mailstorage71.hostinger.io"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "example": "2026-03-16T13:13:55Z"
          }
        },
        "type": "object"
      },
      "Mail.V1.Mailboxes.MailboxCollection": {
        "description": "Array of [`Mail.V1.Mailboxes.MailboxResource`](#model/mailv1mailboxesmailboxresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Mailboxes.MailboxResource"
        }
      },
      "Mail.V1.Mailboxes.MailboxCountsResource": {
        "properties": {
          "forwarders": {
            "description": "Number of attached forwarders",
            "type": "integer",
            "example": 2
          },
          "aliases": {
            "description": "Number of attached aliases",
            "type": "integer",
            "example": 1
          },
          "autoreplies": {
            "description": "Number of attached auto-replies",
            "type": "integer",
            "example": 0
          }
        },
        "type": "object"
      },
      "Mail.V1.Mailboxes.MailboxProtocolsResource": {
        "properties": {
          "is_imap_enabled": {
            "type": "boolean",
            "example": true
          },
          "is_pop3_enabled": {
            "type": "boolean",
            "example": true
          },
          "is_smtp_in_enabled": {
            "type": "boolean",
            "example": true
          },
          "is_smtp_out_enabled": {
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "Mail.V1.Mailboxes.MailboxResource": {
        "properties": {
          "id": {
            "description": "Mailbox resource ID",
            "type": "string",
            "example": "AC1a2b3c4d5e6f7g"
          },
          "address": {
            "description": "Email address of the mailbox",
            "type": "string",
            "example": "info@example.com"
          },
          "status": {
            "description": "Mailbox status",
            "type": "string",
            "enum": [
              "active",
              "suspended"
            ],
            "example": "active"
          },
          "status_reason": {
            "description": "Reason the mailbox was suspended",
            "type": "string",
            "example": "abuse",
            "nullable": true
          },
          "protocols": {
            "$ref": "#/components/schemas/Mail.V1.Mailboxes.MailboxProtocolsResource"
          },
          "counts": {
            "$ref": "#/components/schemas/Mail.V1.Mailboxes.MailboxCountsResource"
          },
          "is_catchall": {
            "description": "Whether the mailbox is the catch-all destination for its domain",
            "type": "boolean",
            "example": false
          },
          "usage": {
            "$ref": "#/components/schemas/Mail.V1.Mailboxes.MailboxUsageResource"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2025-03-01T10:00:00Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-20T14:30:00Z"
          }
        },
        "type": "object"
      },
      "Mail.V1.Mailboxes.MailboxUsageResource": {
        "description": "Periodically synced usage numbers (may lag behind live values)",
        "properties": {
          "storage_used": {
            "description": "Storage used in kilobytes",
            "type": "integer",
            "example": 512000
          },
          "storage_quota": {
            "description": "Storage quota in kilobytes",
            "type": "integer",
            "example": 10485760
          },
          "messages_used": {
            "type": "integer",
            "example": 1240
          },
          "messages_quota": {
            "type": "integer",
            "example": 50000
          },
          "synced_at": {
            "description": "When the usage numbers were last synced; null if never synced",
            "type": "string",
            "format": "date-time",
            "example": "2026-07-22T08:12:00Z",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Mail.V1.Orders.OrderCollection": {
        "description": "Array of [`Mail.V1.Orders.OrderResource`](#model/mailv1ordersorderresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Orders.OrderResource"
        }
      },
      "Mail.V1.Orders.OrderDomainResource": {
        "properties": {
          "id": {
            "description": "Domain resource ID",
            "type": "string",
            "example": "DO1a2b3c4d5e6f7g"
          },
          "name": {
            "description": "Domain name",
            "type": "string",
            "example": "example.com"
          }
        },
        "type": "object"
      },
      "Mail.V1.Orders.OrderPlanResource": {
        "properties": {
          "name": {
            "description": "Plan name",
            "type": "string",
            "example": "hostinger_free"
          },
          "title": {
            "description": "Plan title",
            "type": "string",
            "example": "Free Email"
          }
        },
        "type": "object"
      },
      "Mail.V1.Orders.OrderResource": {
        "properties": {
          "id": {
            "description": "Order resource ID",
            "type": "string",
            "example": "OR1a2b3c4d5e6f7g"
          },
          "status": {
            "description": "Order status",
            "type": "string",
            "enum": [
              "pending_setup",
              "active",
              "suspended"
            ],
            "example": "active"
          },
          "is_trial": {
            "description": "Whether the order is currently in a trial period",
            "type": "boolean",
            "example": false
          },
          "seats": {
            "description": "Number of mailbox seats purchased with the order",
            "type": "integer",
            "example": 5
          },
          "domain": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Mail.V1.Orders.OrderDomainResource"
              }
            ],
            "nullable": true,
            "description": "Domain the order is attached to"
          },
          "plan": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Mail.V1.Orders.OrderPlanResource"
              }
            ],
            "nullable": true,
            "description": "Plan the order was purchased with"
          },
          "has_pending_upgrade": {
            "description": "Whether an upgrade is currently pending for the order",
            "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": "2026-02-27T11:54:22Z",
            "nullable": true
          }
        },
        "type": "object"
      },
      "Mail.V1.Orders.PlanDomainResource": {
        "properties": {
          "mailbox_quota": {
            "description": "Maximum number of mailboxes per domain",
            "type": "integer",
            "example": 1
          },
          "forwarder_quota": {
            "description": "Maximum number of forwarders per domain",
            "type": "integer",
            "example": 10
          },
          "alias_quota": {
            "description": "Maximum number of aliases per domain",
            "type": "integer",
            "example": 5
          },
          "is_catchall_enabled": {
            "description": "Whether catch-all mailboxes are available",
            "type": "boolean",
            "example": true
          },
          "is_imap_enabled": {
            "description": "Whether IMAP access is available",
            "type": "boolean",
            "example": true
          },
          "is_pop3_enabled": {
            "description": "Whether POP3 access is available",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "Mail.V1.Orders.PlanMailboxResource": {
        "properties": {
          "storage_quota": {
            "description": "Storage quota per mailbox in megabytes",
            "type": "integer",
            "example": 10240
          },
          "messages_quota": {
            "description": "Maximum number of stored messages per mailbox",
            "type": "integer",
            "example": 10000
          },
          "forwarder_quota": {
            "description": "Maximum number of forwarders per mailbox",
            "type": "integer",
            "example": 10
          },
          "alias_quota": {
            "description": "Maximum number of aliases per mailbox",
            "type": "integer",
            "example": 5
          },
          "max_outbound_message_size": {
            "description": "Maximum outbound message size in bytes",
            "type": "integer",
            "example": 25000000
          },
          "max_outbound_attachment_size": {
            "description": "Maximum outbound attachment size in bytes",
            "type": "integer",
            "example": 20000000
          },
          "max_outbound_recipient_limit": {
            "description": "Maximum number of recipients per outbound message",
            "type": "integer",
            "example": 50
          },
          "rate_limit_inbound": {
            "description": "Inbound message rate limit as `messages/seconds`",
            "type": "string",
            "example": "100/86400"
          },
          "rate_limit_outbound": {
            "description": "Outbound message rate limit as `messages/seconds`",
            "type": "string",
            "example": "100/86400"
          }
        },
        "type": "object"
      },
      "Mail.V1.Orders.PlanResource": {
        "properties": {
          "name": {
            "description": "Machine name of the plan",
            "type": "string",
            "example": "hostinger_free"
          },
          "title": {
            "description": "Human-readable plan title",
            "type": "string",
            "example": "Free Email"
          },
          "domain": {
            "$ref": "#/components/schemas/Mail.V1.Orders.PlanDomainResource"
          },
          "mailbox": {
            "$ref": "#/components/schemas/Mail.V1.Orders.PlanMailboxResource"
          }
        },
        "type": "object"
      },
      "Mail.V1.Webhooks.WebhookCollection": {
        "description": "Array of [`Mail.V1.Webhooks.WebhookResource`](#model/mailv1webhookswebhookresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookResource"
        }
      },
      "Mail.V1.Webhooks.WebhookCreatedResource": {
        "properties": {
          "id": {
            "description": "Unique webhook identifier",
            "type": "string",
            "example": "019683f8-1234-7abc-8def-0123456789ab"
          },
          "mailbox": {
            "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookMailboxResource"
          },
          "name": {
            "description": "Human-readable name for this webhook",
            "type": "string",
            "example": "New message notifier"
          },
          "description": {
            "description": "Optional description of the webhook's purpose",
            "type": "string",
            "example": "Notifies our CRM when a new email arrives",
            "nullable": true
          },
          "events": {
            "description": "Events that trigger this webhook",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "message.received"
              ],
              "example": "message.received"
            }
          },
          "status": {
            "description": "Current status of the webhook",
            "type": "string",
            "enum": [
              "active",
              "disabled",
              "paused"
            ],
            "example": "active"
          },
          "url": {
            "description": "URL that receives webhook POST requests",
            "type": "string",
            "example": "https://example.com/webhooks/incoming"
          },
          "secret": {
            "description": "One-time webhook secret, returned only on creation. Sent as `Authorization: Bearer <secret>` with every delivery.",
            "type": "string",
            "example": "4a6f8b2d1e9c3f7a0b5d8e2c4f1a7b3d9e6c2f8a1b4d7e0c3f6a9b2d5e8c1f4"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-23T12:00:00Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-23T12:00:00Z"
          }
        },
        "type": "object"
      },
      "Mail.V1.Webhooks.WebhookDeliveryLogCollection": {
        "description": "Array of [`Mail.V1.Webhooks.WebhookDeliveryLogResource`](#model/mailv1webhookswebhookdeliverylogresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookDeliveryLogResource"
        }
      },
      "Mail.V1.Webhooks.WebhookDeliveryLogResource": {
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-23T12:00:00Z"
          },
          "mailbox_address": {
            "description": "Email address of the mailbox this delivery is attached to",
            "type": "string",
            "example": "user@example.com"
          },
          "webhook_url": {
            "description": "URL that received the webhook POST request",
            "type": "string",
            "example": "https://example.com/webhooks/incoming"
          },
          "is_successful": {
            "description": "Whether the delivery was successful",
            "type": "boolean",
            "example": true
          },
          "duration": {
            "description": "Webhook request duration in milliseconds",
            "type": "integer",
            "example": 42
          },
          "retry_count": {
            "description": "Number of delivery attempts made",
            "type": "integer",
            "example": 1
          },
          "max_retry_count": {
            "description": "Maximum number of delivery attempts allowed",
            "type": "integer",
            "example": 5
          }
        },
        "type": "object"
      },
      "Mail.V1.Webhooks.WebhookMailboxResource": {
        "properties": {
          "id": {
            "type": "string",
            "example": "AC1a2b3c4d5e6f7g"
          },
          "address": {
            "type": "string",
            "example": "user@example.com"
          }
        },
        "type": "object"
      },
      "Mail.V1.Webhooks.WebhookResource": {
        "properties": {
          "id": {
            "description": "Unique webhook identifier",
            "type": "string",
            "example": "019683f8-1234-7abc-8def-0123456789ab"
          },
          "mailbox": {
            "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookMailboxResource"
          },
          "name": {
            "description": "Human-readable name for this webhook",
            "type": "string",
            "example": "New message notifier"
          },
          "description": {
            "description": "Optional description of the webhook's purpose",
            "type": "string",
            "example": "Notifies our CRM when a new email arrives",
            "nullable": true
          },
          "events": {
            "description": "Events that trigger this webhook",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "message.received"
              ],
              "example": "message.received"
            }
          },
          "status": {
            "description": "Current status of the webhook",
            "type": "string",
            "enum": [
              "active",
              "disabled",
              "paused"
            ],
            "example": "active"
          },
          "url": {
            "description": "URL that receives webhook POST requests",
            "type": "string",
            "example": "https://example.com/webhooks/incoming"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-23T12:00:00Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-23T12:00:00Z"
          }
        },
        "type": "object"
      },
      "Mail.V1.Webhooks.WebhookSecretResource": {
        "properties": {
          "id": {
            "description": "Unique webhook identifier",
            "type": "string",
            "example": "019683f8-1234-7abc-8def-0123456789ab"
          },
          "mailbox": {
            "$ref": "#/components/schemas/Mail.V1.Webhooks.WebhookMailboxResource"
          },
          "name": {
            "description": "Human-readable name for this webhook",
            "type": "string",
            "example": "New message notifier"
          },
          "description": {
            "description": "Optional description of the webhook's purpose",
            "type": "string",
            "example": "Notifies our CRM when a new email arrives",
            "nullable": true
          },
          "events": {
            "description": "Events that trigger this webhook",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "message.received"
              ],
              "example": "message.received"
            }
          },
          "status": {
            "description": "Current status of the webhook",
            "type": "string",
            "enum": [
              "active",
              "disabled",
              "paused"
            ],
            "example": "active"
          },
          "url": {
            "description": "URL that receives webhook POST requests",
            "type": "string",
            "example": "https://example.com/webhooks/incoming"
          },
          "secret": {
            "description": "New webhook secret, sent as `Authorization: Bearer <secret>` with every delivery. The previous secret is immediately invalidated and the new one is not returned again.",
            "type": "string",
            "example": "4a6f8b2d1e9c3f7a0b5d8e2c4f1a7b3d9e6c2f8a1b4d7e0c3f6a9b2d5e8c1f4"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-23T12:00:00Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "example": "2026-07-23T12:00:00Z"
          }
        },
        "type": "object"
      },
      "Mail.V1.Webhooks.WebhookTestResultResource": {
        "properties": {
          "http_status": {
            "description": "HTTP status code returned by the webhook endpoint",
            "type": "integer",
            "example": 200
          },
          "is_successful": {
            "description": "Whether the test delivery was successful",
            "type": "boolean",
            "example": true
          },
          "error": {
            "description": "Error message returned by the webhook endpoint in case of failure",
            "type": "string",
            "example": "Something bad happened",
            "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.SegmentationContactResource"
        }
      },
      "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.Domains.DnsRecordStatus": {
        "properties": {
          "actual": {
            "type": "array",
            "items": {
              "properties": {
                "type": {
                  "type": "string",
                  "example": "MX"
                },
                "value": {
                  "type": "string",
                  "example": "mx1.example.com"
                }
              },
              "type": "object"
            }
          },
          "suggested": {
            "type": "array",
            "items": {
              "properties": {
                "name": {
                  "type": "string",
                  "example": "@"
                },
                "type": {
                  "type": "string",
                  "example": "MX"
                },
                "value": {
                  "type": "string",
                  "example": "mx1.example.com"
                }
              },
              "type": "object"
            }
          },
          "is_valid": {
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "Reach.V1.Profiles.Domains.DnsStatusResource": {
        "properties": {
          "domain": {
            "type": "string",
            "example": "example.com"
          },
          "mx": {
            "$ref": "#/components/schemas/Reach.V1.Profiles.Domains.DnsRecordStatus"
          },
          "spf": {
            "$ref": "#/components/schemas/Reach.V1.Profiles.Domains.DnsRecordStatus"
          },
          "dkim": {
            "$ref": "#/components/schemas/Reach.V1.Profiles.Domains.DnsRecordStatus"
          },
          "dmarc": {
            "$ref": "#/components/schemas/Reach.V1.Profiles.Domains.DnsRecordStatus"
          }
        },
        "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": "\n            A single port mapped from the host to the container (e.g., host:8080 -> container:80)\n        ",
              "published_range": "\n            A range of ports mapped from the host to the container\n            (e.g., host:8000-8010 -> container:3000-3010)\n        ",
              "exposed": "\n            A single port made available for inter-container communication within Docker networks\n        ",
              "exposed_range": "\n            A range of ports made available for inter-container communication within Docker networks\n        "
            }
          },
          "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": "\n            Container's processes have been paused, but container is still allocated\n        ",
              "dead": "\n            Container that the daemon tried and failed to stop\n            (usually due to the busy device or resource used by the container)\n        ",
              "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": {
              "": "\n            No health check is configured for the container\n            (this is the default when no HEALTHCHECK is defined)\n        ",
              "healthy": "\n            The container has passed its health checks and is operating normally\n        ",
              "unhealthy": "\n            The container has failed its health checks (exceeded the failure threshold)\n        ",
              "starting": "\n            The container is still within its startup period (health checks are running but\n            haven't passed the required number of consecutive checks yet)\n        "
            }
          },
          "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:\n    my-app:\n        image: nginx\n        ports:\n            - \"80:80\"\n    my-db:\n        image: mysql"
          },
          "environment": {
            "description": "Project environment variables",
            "type": "string",
            "example": "VARIABLE1=value1\nVARIABLE2=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"
      },
      "WordPress.V1.Common.VulnerabilityResource": {
        "properties": {
          "title": {
            "description": "Short title of the vulnerability",
            "type": "string",
            "example": "Cross-Site Scripting (XSS)"
          },
          "description": {
            "description": "Details about the vulnerability",
            "type": "string",
            "example": "A stored XSS vulnerability affecting older versions."
          },
          "affected_in": {
            "description": "Version in which the vulnerability was introduced or is present",
            "type": "string",
            "example": "4.7.0"
          },
          "fixed_in": {
            "description": "Version in which the vulnerability was fixed",
            "type": "string",
            "example": "4.7.1"
          },
          "direct_url": {
            "description": "Link to the vulnerability advisory",
            "type": "string",
            "example": "https://www.wordfence.com/threat-intel/vulnerabilities/id/example"
          }
        },
        "type": "object"
      },
      "WordPress.V1.HostingerPlugins.AiOptionStatusResource": {
        "properties": {
          "is_llmstxt_enabled": {
            "description": "Whether the llms.txt AI option is enabled.\nPresent when the option is requested or when no specific option filter is provided.",
            "type": "boolean",
            "example": true,
            "nullable": true
          },
          "is_web2agent_enabled": {
            "description": "Whether the Web2Agent AI option is enabled.\nPresent when the option is requested or when no specific option filter is provided.",
            "type": "boolean",
            "example": false,
            "nullable": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.CheckIsValidResultCollection": {
        "description": "Array of [`WordPress.V1.Installations.CheckIsValidResultResource`](#model/wordpressv1installationscheckisvalidresultresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Installations.CheckIsValidResultResource"
        }
      },
      "WordPress.V1.Installations.CheckIsValidResultResource": {
        "properties": {
          "software_id": {
            "description": "WordPress installation (software) identifier",
            "type": "string",
            "example": "123"
          },
          "is_valid": {
            "description": "Whether the WordPress installation is valid and working correctly",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.JwtTokenResource": {
        "properties": {
          "token": {
            "description": "Signed JWT used to authenticate requests against the WordPress installation",
            "type": "string",
            "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
          },
          "expires_in": {
            "description": "Token lifetime in seconds from the moment it was issued",
            "type": "integer",
            "example": 3600
          },
          "expires_at": {
            "description": "Date-time at which the token expires, or null when not provided",
            "type": "string",
            "format": "date-time",
            "example": "2024-06-05T12:08:00Z",
            "nullable": true
          },
          "mcp_url": {
            "description": "MCP (Model Context Protocol) endpoint URL for the WordPress installation, or null when not provided",
            "type": "string",
            "example": "https://example.com/wp-json/hostinger/mcp",
            "nullable": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.UpdateCollection": {
        "description": "Array of [`WordPress.V1.Installations.UpdateResource`](#model/wordpressv1installationsupdateresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Installations.UpdateResource"
        }
      },
      "WordPress.V1.Installations.UpdateResource": {
        "properties": {
          "version": {
            "description": "Available WordPress core version",
            "type": "string",
            "example": "6.5.2"
          },
          "type": {
            "description": "Update type",
            "type": "string",
            "enum": [
              "major",
              "minor"
            ],
            "example": "minor"
          },
          "url": {
            "description": "Download URL for the update package",
            "type": "string",
            "example": "https://wordpress.org/wordpress-6.5.2.zip"
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.VersionResource": {
        "properties": {
          "version": {
            "description": "Installed WordPress core version",
            "type": "string",
            "example": "6.5.2"
          },
          "vulnerabilities": {
            "description": "Known vulnerabilities affecting the installed core version",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WordPress.V1.Common.VulnerabilityResource"
            }
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.WordPressInstallationCollection": {
        "description": "Array of [`WordPress.V1.Installations.WordPressInstallationResource`](#model/wordpressv1installationswordpressinstallationresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Installations.WordPressInstallationResource"
        }
      },
      "WordPress.V1.Installations.WordPressInstallationResource": {
        "properties": {
          "id": {
            "description": "WordPress installation (software) id",
            "type": "string",
            "example": "123"
          },
          "username": {
            "description": "Hosting account username",
            "type": "string",
            "example": "u123456789"
          },
          "domain": {
            "description": "Domain the installation belongs to",
            "type": "string",
            "example": "example.com"
          },
          "site_title": {
            "description": "WordPress site title",
            "type": "string",
            "example": "My site"
          },
          "url": {
            "description": "WordPress site URL",
            "type": "string",
            "example": "https://example.com"
          },
          "directory": {
            "description": "Installation directory",
            "type": "string",
            "example": "public_html"
          },
          "language": {
            "description": "WordPress locale",
            "type": "string",
            "example": "en_US"
          },
          "login": {
            "description": "WordPress admin username",
            "type": "string",
            "example": "admin"
          },
          "email": {
            "description": "WordPress admin email",
            "type": "string",
            "example": "owner@example.com"
          },
          "is_valid": {
            "description": "Whether the installation is considered valid",
            "type": "boolean",
            "example": true
          },
          "validation_error": {
            "description": "Reason the installation is invalid, if any",
            "type": "string",
            "example": "Invalid domain",
            "nullable": true
          },
          "created_at": {
            "description": "Installation creation timestamp",
            "type": "string",
            "format": "date-time",
            "example": "2022-01-01T00:00:00Z"
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.WordPressMcpDetailsResource": {
        "properties": {
          "token": {
            "description": "JWT used to authenticate against the installation MCP server",
            "type": "string",
            "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
          },
          "mcp_url": {
            "description": "MCP (Model Context Protocol) endpoint URL for the WordPress installation",
            "type": "string",
            "example": "https://example.com/wp-json/hostinger/mcp"
          },
          "expires_in": {
            "description": "Token lifetime in seconds from the moment it was issued",
            "type": "integer",
            "example": 3600
          },
          "expires_at": {
            "description": "Date-time at which the token expires",
            "type": "string",
            "format": "date-time",
            "example": "2024-06-05T12:08:00Z",
            "nullable": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Installations.WordPressMcpInstallationCollection": {
        "description": "Array of [`WordPress.V1.Installations.WordPressMcpInstallationResource`](#model/wordpressv1installationswordpressmcpinstallationresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Installations.WordPressMcpInstallationResource"
        }
      },
      "WordPress.V1.Installations.WordPressMcpInstallationResource": {
        "properties": {
          "id": {
            "description": "WordPress installation (software) id",
            "type": "string",
            "example": "123"
          },
          "username": {
            "description": "Hosting account username",
            "type": "string",
            "example": "u123456789"
          },
          "domain": {
            "description": "Domain the installation belongs to",
            "type": "string",
            "example": "example.com"
          },
          "directory": {
            "description": "Installation directory on the server",
            "type": "string",
            "example": "/home/u123456789/domains/example.com/public_html"
          },
          "mcp_details": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/WordPress.V1.Installations.WordPressMcpDetailsResource"
              }
            ],
            "nullable": true,
            "description": "MCP connection details, or null when the installation has no MCP endpoint or the details could not be retrieved"
          }
        },
        "type": "object"
      },
      "WordPress.V1.Litespeed.LitespeedCacheStatusResource": {
        "properties": {
          "is_installed": {
            "description": "Whether the LiteSpeed Cache plugin is installed on the WordPress installation",
            "type": "boolean",
            "example": true
          },
          "is_active": {
            "description": "Whether the LiteSpeed Cache plugin is active on the WordPress installation",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Login.LoginLinksResource": {
        "properties": {
          "login": {
            "description": "Primary auto-login URL for the WordPress installation",
            "type": "string",
            "example": "https://example.com/create_autologin_qs1s121s.php",
            "nullable": true
          },
          "fallback": {
            "description": "Fallback auto-login URL using the temporary Hostinger domain",
            "type": "string",
            "example": "https://xyz.hostingersite.com/create_autologin_qs1s121s.php",
            "nullable": true
          },
          "default": {
            "description": "Default WordPress admin URL used when auto-login is unavailable",
            "type": "string",
            "example": "https://example.com/wp-admin/",
            "nullable": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Maintenance.MaintenanceStatusResource": {
        "properties": {
          "status": {
            "description": "Current maintenance mode status for the WordPress installation",
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ],
            "example": "enabled"
          }
        },
        "type": "object"
      },
      "WordPress.V1.Memcached.MemcachedStatusResource": {
        "properties": {
          "status": {
            "description": "Current Memcached object cache status for the WordPress installation",
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ],
            "example": "active"
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.AvailablePluginCollection": {
        "description": "Array of [`WordPress.V1.Plugins.AvailablePluginResource`](#model/wordpressv1pluginsavailablepluginresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Plugins.AvailablePluginResource"
        }
      },
      "WordPress.V1.Plugins.AvailablePluginResource": {
        "properties": {
          "slug": {
            "description": "Plugin slug used when installing the plugin",
            "type": "string",
            "example": "akismet"
          },
          "title": {
            "description": "Human readable plugin name",
            "type": "string",
            "example": "Akismet Anti-Spam"
          },
          "description": {
            "description": "Short plugin description",
            "type": "string",
            "example": "Protect your site from spam."
          },
          "onboarding_description_slug": {
            "description": "Translation slug for the onboarding description",
            "type": "string",
            "example": "akismet_onboarding_description",
            "nullable": true
          },
          "recommended_description_slug": {
            "description": "Translation slug for the recommended description",
            "type": "string",
            "example": "akismet_recommended_description",
            "nullable": true
          },
          "link": {
            "description": "Link to the plugin page on WordPress.org",
            "type": "string",
            "example": "https://wordpress.org/plugins/akismet/"
          },
          "version": {
            "description": "Latest available plugin version",
            "type": "string",
            "example": "5.3"
          },
          "required_wordpress_version": {
            "description": "Minimum WordPress version required by the plugin",
            "type": "string",
            "example": "5.8"
          },
          "required_php_version": {
            "description": "Minimum PHP version required by the plugin",
            "type": "string",
            "example": "7.2"
          },
          "is_plan_upgrade_needed": {
            "description": "Whether a hosting plan upgrade is required to use the plugin",
            "type": "boolean",
            "example": false
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.InstalledPluginCollection": {
        "description": "Array of [`WordPress.V1.Plugins.InstalledPluginResource`](#model/wordpressv1pluginsinstalledpluginresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Plugins.InstalledPluginResource"
        }
      },
      "WordPress.V1.Plugins.InstalledPluginResource": {
        "properties": {
          "name": {
            "description": "Plugin slug",
            "type": "string",
            "example": "akismet"
          },
          "title": {
            "description": "Human readable plugin name",
            "type": "string",
            "example": "Akismet Anti-Spam"
          },
          "version": {
            "description": "Installed plugin version",
            "type": "string",
            "example": "5.3"
          },
          "status": {
            "description": "Whether the plugin is active or inactive",
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ],
            "example": "active"
          },
          "update": {
            "description": "Available update version, or \"none\" when up to date",
            "type": "string",
            "example": "none"
          },
          "vulnerabilities": {
            "description": "Known vulnerabilities affecting the installed version",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WordPress.V1.Common.VulnerabilityResource"
            }
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.PluginCollection": {
        "description": "Array of [`WordPress.V1.Plugins.PluginResource`](#model/wordpressv1pluginspluginresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Plugins.PluginResource"
        }
      },
      "WordPress.V1.Plugins.PluginResource": {
        "properties": {
          "slug": {
            "description": "Plugin slug used when installing the plugin",
            "type": "string",
            "example": "akismet"
          },
          "title": {
            "description": "Human readable plugin name",
            "type": "string",
            "example": "Akismet Anti-Spam"
          },
          "icons": {
            "description": "Plugin icon URLs keyed by resolution",
            "properties": {
              "1x": {
                "type": "string",
                "example": "https://ps.w.org/akismet/assets/icon-128x128.png"
              },
              "2x": {
                "type": "string",
                "example": "https://ps.w.org/akismet/assets/icon-256x256.png"
              }
            },
            "type": "object",
            "nullable": true
          },
          "description": {
            "description": "Short plugin description",
            "type": "string",
            "example": "Used by millions, Akismet is quite possibly the best way to protect your site from spam."
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.SuggestedPluginGroupCollection": {
        "description": "Array of [`WordPress.V1.Plugins.SuggestedPluginGroupResource`](#model/wordpressv1pluginssuggestedplugingroupresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Plugins.SuggestedPluginGroupResource"
        }
      },
      "WordPress.V1.Plugins.SuggestedPluginGroupResource": {
        "properties": {
          "website_type": {
            "description": "Website type the suggested plugins are grouped by",
            "type": "string",
            "enum": [
              "business",
              "online-store",
              "blog",
              "portfolio",
              "affiliate-marketing",
              "other",
              "default"
            ],
            "example": "blog"
          },
          "plugins": {
            "description": "Plugins suggested for the website type",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WordPress.V1.Plugins.SuggestedPluginResource"
            }
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.SuggestedPluginResource": {
        "properties": {
          "slug": {
            "description": "Plugin slug used when installing the plugin",
            "type": "string",
            "example": "akismet"
          },
          "title": {
            "description": "Human readable plugin name",
            "type": "string",
            "example": "Akismet Anti-Spam"
          },
          "description": {
            "description": "Short plugin description",
            "type": "string",
            "example": "Protect your site from spam."
          },
          "onboarding_description_slug": {
            "description": "Translation slug for the onboarding description",
            "type": "string",
            "example": "akismet_onboarding_description",
            "nullable": true
          },
          "recommended_description_slug": {
            "description": "Translation slug for the recommended description",
            "type": "string",
            "example": "akismet_recommended_description",
            "nullable": true
          },
          "link": {
            "description": "Link to the plugin page on WordPress.org",
            "type": "string",
            "example": "https://wordpress.org/plugins/akismet/"
          },
          "version": {
            "description": "Latest available plugin version",
            "type": "string",
            "example": "5.3"
          },
          "required_wordpress_version": {
            "description": "Minimum WordPress version required by the plugin",
            "type": "string",
            "example": "5.8"
          },
          "required_php_version": {
            "description": "Minimum PHP version required by the plugin",
            "type": "string",
            "example": "7.2"
          },
          "is_preselected": {
            "description": "Whether the plugin is preselected during onboarding",
            "type": "boolean",
            "example": true
          },
          "is_plan_upgrade_needed": {
            "description": "Whether a hosting plan upgrade is required to use the plugin",
            "type": "boolean",
            "example": false
          }
        },
        "type": "object"
      },
      "WordPress.V1.Plugins.WoocommerceInstalledResource": {
        "properties": {
          "is_installed": {
            "description": "Whether WooCommerce is installed on any WordPress installation of the domain",
            "type": "boolean",
            "example": true
          }
        },
        "type": "object"
      },
      "WordPress.V1.Themes.InstalledThemeCollection": {
        "description": "Array of [`WordPress.V1.Themes.InstalledThemeResource`](#model/wordpressv1themesinstalledthemeresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Themes.InstalledThemeResource"
        }
      },
      "WordPress.V1.Themes.InstalledThemeResource": {
        "properties": {
          "name": {
            "description": "Theme slug",
            "type": "string",
            "example": "twentytwentyone"
          },
          "title": {
            "description": "Human readable theme name",
            "type": "string",
            "example": "Twenty Twenty-One"
          },
          "version": {
            "description": "Installed theme version",
            "type": "string",
            "example": "2.2"
          },
          "status": {
            "description": "Whether the theme is active or inactive",
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ],
            "example": "active"
          },
          "update": {
            "description": "Available update version, or \"none\" when up to date",
            "type": "string",
            "example": "none"
          },
          "vulnerabilities": {
            "description": "Known vulnerabilities affecting the installed version",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WordPress.V1.Common.VulnerabilityResource"
            }
          }
        },
        "type": "object"
      },
      "WordPress.V1.Themes.ThemeCollection": {
        "description": "Array of [`WordPress.V1.Themes.ThemeResource`](#model/wordpressv1themesthemeresource)",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordPress.V1.Themes.ThemeResource"
        }
      },
      "WordPress.V1.Themes.ThemeResource": {
        "properties": {
          "slug": {
            "description": "Theme slug used when installing the theme",
            "type": "string",
            "example": "twentytwentyone"
          },
          "title": {
            "description": "Human readable theme name",
            "type": "string",
            "example": "Twenty Twenty-One"
          },
          "url": {
            "description": "Link to the theme page on WordPress.org",
            "type": "string",
            "example": "https://wordpress.org/themes/twentytwentyone/"
          },
          "featured_image_url": {
            "description": "URL of the theme preview thumbnail",
            "type": "string",
            "example": "https://ts.w.org/wp-content/themes/twentytwentyone/screenshot.png",
            "nullable": true
          },
          "full_image_url": {
            "description": "URL of the full-size theme preview image",
            "type": "string",
            "example": "https://ts.w.org/wp-content/themes/twentytwentyone/screenshot.png",
            "nullable": true
          },
          "description": {
            "description": "Short theme description",
            "type": "string",
            "example": "A blank canvas for your ideas.",
            "nullable": true
          },
          "logo_url": {
            "description": "URL of the theme logo",
            "type": "string",
            "example": "https://ts.w.org/wp-content/themes/twentytwentyone/logo.png",
            "nullable": true
          },
          "is_plan_upgrade_needed": {
            "description": "Whether a hosting plan upgrade is required to use the theme",
            "type": "boolean",
            "example": false
          }
        },
        "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": {
      "agency_cron_job_uuid_path": {
        "name": "uuid",
        "in": "path",
        "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint.",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid",
          "example": "01931d6f-68f5-7b72-8d9e-09c6e1e6aa0e"
        }
      },
      "agency_database_name_path": {
        "name": "database_name",
        "in": "path",
        "description": "Full database name as returned by the list databases endpoint.",
        "required": true,
        "schema": {
          "type": "string",
          "example": "my_database"
        }
      },
      "agency_database_user_name_path": {
        "name": "database_user_name",
        "in": "path",
        "description": "Database username as returned by the list databases endpoint.",
        "required": true,
        "schema": {
          "type": "string",
          "example": "my_user"
        }
      },
      "from_domain": {
        "name": "from_domain",
        "in": "path",
        "description": "Current domain name to change from",
        "required": true,
        "schema": {
          "type": "string",
          "example": "old.example.com"
        }
      },
      "order_id_path": {
        "name": "order_id",
        "in": "path",
        "description": "Agency Plan order ID",
        "required": true,
        "schema": {
          "type": "integer",
          "example": 123456
        }
      },
      "setup_uuid": {
        "name": "setup_uuid",
        "in": "path",
        "description": "Website setup UUID",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid",
          "example": "0193b6d4-fabb-70e0-8ea4-cfe060a45898"
        }
      },
      "website_uid": {
        "name": "website_uid",
        "in": "path",
        "description": "Agency Plan website UID",
        "required": true,
        "schema": {
          "type": "string",
          "example": "zpwlGlp19"
        }
      },
      "website_uuids": {
        "name": "website_uuids",
        "in": "query",
        "description": "Filter by website UIDs",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "zpwlGlp19"
          ],
          "nullable": true
        }
      },
      "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
        }
      },
      "website_id_path": {
        "name": "websiteId",
        "in": "path",
        "description": "The website ID",
        "required": true,
        "schema": {
          "type": "string",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        }
      },
      "build_uuid_path": {
        "name": "uuid",
        "in": "path",
        "description": "Build UUID",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        }
      },
      "cron_job_uid_path": {
        "name": "uid",
        "in": "path",
        "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint.",
        "required": true,
        "schema": {
          "type": "string",
          "example": "cron_abc123"
        }
      },
      "database_is_assigned": {
        "name": "is_assigned",
        "in": "query",
        "description": "When used with domain, return only databases assigned to that domain.",
        "required": false,
        "schema": {
          "type": "boolean",
          "example": true,
          "nullable": true
        }
      },
      "database_name_path": {
        "name": "name",
        "in": "path",
        "description": "Full database name as returned by the list databases endpoint.",
        "required": true,
        "schema": {
          "type": "string",
          "example": "u123456789_test_db"
        }
      },
      "database_search": {
        "name": "search",
        "in": "query",
        "description": "Search databases by name, user, or creation date.",
        "required": false,
        "schema": {
          "type": "string",
          "maxLength": 512,
          "example": "test_db",
          "nullable": true
        }
      },
      "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
        }
      },
      "parked_domain_path": {
        "name": "parkedDomain",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "parked-domain.com"
        }
      },
      "order_id_required": {
        "name": "order_id",
        "in": "query",
        "description": "Order ID",
        "required": true,
        "schema": {
          "type": "integer",
          "example": 123,
          "nullable": false
        }
      },
      "subdomain_path": {
        "name": "subdomain",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "blog"
        }
      },
      "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"
        }
      },
      "mail_access_log_has_deletions": {
        "name": "has_deletions",
        "in": "query",
        "description": "Filter access log entries by whether the session had deletions",
        "required": false,
        "schema": {
          "type": "boolean",
          "example": false,
          "nullable": true
        }
      },
      "mail_access_log_protocol": {
        "name": "protocol",
        "in": "query",
        "description": "Filter access log entries by protocol",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "imap",
            "pop3",
            "smtp"
          ],
          "example": "imap",
          "nullable": true
        }
      },
      "mail_api_token_id_path": {
        "name": "tokenId",
        "in": "path",
        "description": "API token ID (returned when the token was created)",
        "required": true,
        "schema": {
          "type": "string",
          "example": "019683f8-1234-7abc-8def-0123456789ab"
        }
      },
      "mail_api_token_order_filter": {
        "name": "order_id",
        "in": "query",
        "description": "Filter tokens by order resource ID. Single value or comma-separated list.",
        "required": false,
        "schema": {
          "type": "string",
          "example": "OR1a2b3c4d5e6f7g,OR9z8y7x6w5v4u3t",
          "nullable": true
        }
      },
      "mail_autoreply_id_path": {
        "name": "autoreplyId",
        "in": "path",
        "description": "Autoreply resource ID",
        "required": true,
        "schema": {
          "type": "string",
          "example": "AR1a2b3c4d5e6f7g"
        }
      },
      "mail_order_domain_filter": {
        "name": "domain",
        "in": "query",
        "description": "Filter orders by domain name (exact match)",
        "required": false,
        "schema": {
          "type": "string",
          "example": "example.com",
          "nullable": true
        }
      },
      "mail_forwarder_id_path": {
        "name": "forwarderId",
        "in": "path",
        "description": "Forwarder resource ID",
        "required": true,
        "schema": {
          "type": "string",
          "example": "FW1a2b3c4d5e6f7g"
        }
      },
      "mail_log_account": {
        "name": "account",
        "in": "query",
        "description": "Filter log entries by a specific email account",
        "required": false,
        "schema": {
          "type": "string",
          "format": "email",
          "example": "user@example.com",
          "nullable": true
        }
      },
      "mail_log_date": {
        "name": "date",
        "in": "query",
        "description": "Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given.",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date",
          "example": "2026-03-16",
          "nullable": true
        }
      },
      "mail_log_from_date": {
        "name": "from_date",
        "in": "query",
        "description": "Date range start (RFC 3339)",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time",
          "example": "2026-03-01T00:00:00Z",
          "nullable": true
        }
      },
      "mail_log_recipient": {
        "name": "recipient",
        "in": "query",
        "description": "Filter log entries by recipient. Accepts a full email address or a domain.",
        "required": false,
        "schema": {
          "type": "string",
          "example": "recipient.com",
          "nullable": true
        }
      },
      "mail_log_sender": {
        "name": "sender",
        "in": "query",
        "description": "Filter log entries by sender. Accepts a full email address or a domain.",
        "required": false,
        "schema": {
          "type": "string",
          "example": "user@example.com",
          "nullable": true
        }
      },
      "mail_log_status": {
        "name": "status",
        "in": "query",
        "description": "Filter log entries by status",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "Successful",
            "Failed"
          ],
          "example": "Successful",
          "nullable": true
        }
      },
      "mail_log_to_date": {
        "name": "to_date",
        "in": "query",
        "description": "Date range end (RFC 3339)",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time",
          "example": "2026-03-31T23:59:59Z",
          "nullable": true
        }
      },
      "mail_mailbox_action_event": {
        "name": "event",
        "in": "query",
        "description": "Filter mailbox action log entries by event type",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "MessageNew",
            "MessageRead",
            "MessageAppend",
            "MessageExpunge",
            "MailboxCreate",
            "MailboxDelete",
            "MailboxRename"
          ],
          "example": "MessageNew",
          "nullable": true
        }
      },
      "mail_mailbox_email": {
        "name": "email",
        "in": "query",
        "description": "Mailbox email address. Must belong to the order's domain.",
        "required": true,
        "schema": {
          "type": "string",
          "format": "email",
          "example": "user@example.com"
        }
      },
      "mail_mailbox_id_path": {
        "name": "mailboxId",
        "in": "path",
        "description": "Mailbox resource ID",
        "required": true,
        "schema": {
          "type": "string",
          "example": "AC1a2b3c4d5e6f7g"
        }
      },
      "mail_mailbox_search": {
        "name": "search",
        "in": "query",
        "description": "Filter mailboxes whose email address contains the given string",
        "required": false,
        "schema": {
          "type": "string",
          "maxLength": 255,
          "example": "info",
          "nullable": true
        }
      },
      "mail_mailbox_sort": {
        "name": "sort",
        "in": "query",
        "description": "Sort mailboxes by field. Prefix with `-` for descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "default": "address",
          "enum": [
            "address",
            "-address"
          ],
          "example": "address",
          "nullable": true
        }
      },
      "mail_order_id_path": {
        "name": "orderId",
        "in": "path",
        "description": "Order resource ID",
        "required": true,
        "schema": {
          "type": "string",
          "example": "OR1a2b3c4d5e6f7g"
        }
      },
      "mail_order_sort": {
        "name": "sort",
        "in": "query",
        "description": "Sort orders by field. Prefix with `-` for descending order.",
        "required": false,
        "schema": {
          "type": "string",
          "default": "-created_at",
          "enum": [
            "created_at",
            "-created_at",
            "expires_at",
            "-expires_at"
          ],
          "example": "-created_at",
          "nullable": true
        }
      },
      "mail_order_status": {
        "name": "status",
        "in": "query",
        "description": "Filter orders by status",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "pending_setup",
            "active",
            "suspended"
          ],
          "example": "active",
          "nullable": true
        }
      },
      "mail_order_is_trial": {
        "name": "is_trial",
        "in": "query",
        "description": "Filter orders by trial state",
        "required": false,
        "schema": {
          "type": "boolean",
          "example": false,
          "nullable": true
        }
      },
      "mail_webhook_id_path": {
        "name": "webhookId",
        "in": "path",
        "description": "Webhook ID (returned when the webhook was created)",
        "required": true,
        "schema": {
          "type": "string",
          "example": "019683f8-1234-7abc-8def-0123456789ab"
        }
      },
      "mail_webhook_mailbox_filter": {
        "name": "mailbox_id",
        "in": "query",
        "description": "Filter by the mailbox resource ID the webhooks are attached to",
        "required": false,
        "schema": {
          "type": "string",
          "example": "AC1a2b3c4d5e6f7g",
          "nullable": true
        }
      },
      "mail_webhook_status": {
        "name": "status",
        "in": "query",
        "description": "Filter webhooks by status",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "active",
            "disabled",
            "paused"
          ],
          "example": "active",
          "nullable": true
        }
      },
      "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
        }
      },
      "software_path": {
        "name": "software",
        "in": "path",
        "description": "WordPress installation (software) identifier",
        "required": true,
        "schema": {
          "type": "string",
          "pattern": "^[0-9]+$",
          "example": "1232456789"
        }
      }
    },
    "securitySchemes": {
      "apiToken": {
        "type": "http",
        "description": "API Token authentication",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "apiToken": []
    }
  ],
  "tags": [
    {
      "name": "Agency Hosting: Datacenters",
      "description": "Agency Hosting: Datacenters",
      "x-displayName": "Datacenters"
    },
    {
      "name": "Agency Hosting: Domains",
      "description": "Agency Hosting: Domains",
      "x-displayName": "Domains"
    },
    {
      "name": "Agency Hosting: Files",
      "description": "Agency Hosting: Files",
      "x-displayName": "Files"
    },
    {
      "name": "Agency Hosting: Orders",
      "description": "Agency Hosting: Orders",
      "x-displayName": "Orders"
    },
    {
      "name": "Agency Hosting: Website Setups",
      "description": "Agency Hosting: Website Setups",
      "x-displayName": "Website Setups"
    },
    {
      "name": "Agency Hosting: Websites",
      "description": "Agency Hosting: Websites",
      "x-displayName": "Websites"
    },
    {
      "name": "Agency Hosting: Cache",
      "description": "Agency Hosting: Cache",
      "x-displayName": "Cache"
    },
    {
      "name": "Agency Hosting: Cron Jobs",
      "description": "Agency Hosting: Cron Jobs",
      "x-displayName": "Cron Jobs"
    },
    {
      "name": "Agency Hosting: Databases",
      "description": "Agency Hosting: Databases",
      "x-displayName": "Databases"
    },
    {
      "name": "Agency Hosting: WordPress",
      "description": "Agency Hosting: WordPress",
      "x-displayName": "WordPress"
    },
    {
      "name": "Billing: Catalog",
      "description": "Access a comprehensive catalog of service plans and\nsubscription options, complete with detailed pricing\nand features.",
      "x-displayName": "Catalog"
    },
    {
      "name": "Billing: Orders",
      "description": "Initiate and track new service orders seamlessly. This\ncategory streamlines the process of purchasing Hostinger\nservices, enabling efficient management of order details.",
      "x-displayName": "Orders"
    },
    {
      "name": "Billing: Payment methods",
      "description": "Review and manage the payment methods linked to your\nHostinger account. Enjoy a secure and convenient overview\nfor handling billing and transactions.",
      "x-displayName": "Payment methods"
    },
    {
      "name": "Billing: Subscriptions",
      "description": "Manage your account's subscriptions by retrieving lists of\nactive and expired plans along with details such as\nactivation and expiration dates.",
      "x-displayName": "Subscriptions"
    },
    {
      "name": "DNS: Snapshot",
      "description": "Manage DNS snapshots for your domains.\nThis category includes endpoints for viewing and restoring\nsnapshots of your domain DNS zone.\nSnapshot is a point-in-time copy of your DNS zone, allowing you\nto 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\nincludes endpoints for retrieving, updating, deleting DNS zone\nand it's associated records.\nThe DNS zone will be created once you purchase new domain\nat Hostinger.",
      "x-displayName": "Zone"
    },
    {
      "name": "Domain Access Verifier: Verifications",
      "description": "Manage domain verifications.\nThis category includes endpoints for retrieving active domain\nverifications, including verification status, records, and\nattempt dates.\nDomain verification allows you to prove ownership of domains\nthrough nameserver or TXT record verification methods.",
      "x-displayName": "Verifications"
    },
    {
      "name": "Domains: Availability",
      "description": "Check the availability of domain names across multiple TLDs.\nThis category allows you to verify if a specific domain name\nis available for registration.",
      "x-displayName": "Availability"
    },
    {
      "name": "Domains: Forwarding",
      "description": "Domain forwarding or redirect is an easy way to direct your\nwebsite visitors to another site or page, making it simple to\nmaintain your brand and keep your visitors engaged.",
      "x-displayName": "Forwarding"
    },
    {
      "name": "Domains: Portfolio",
      "description": "Retrieve and manage your domain portfolio. This category lets\nyou list all domains linked to your account, including their\ncreation and expiration details.",
      "x-displayName": "Portfolio"
    },
    {
      "name": "Domains: Transfer",
      "description": "Domains: Transfer",
      "x-displayName": "Transfer"
    },
    {
      "name": "Domains: WHOIS",
      "description": "Manage WHOIS contact profiles for your domains. This category\nincludes endpoints for creating, updating, deleting, and\nretrieving WHOIS profiles.\nWHOIS profile stores registration data for domain names and\nis required for domain registration.",
      "x-displayName": "WHOIS"
    },
    {
      "name": "Ecommerce: Miscellaneous",
      "description": "Ecommerce: Miscellaneous",
      "x-displayName": "Miscellaneous"
    },
    {
      "name": "Ecommerce: Payments",
      "description": "Manage payment methods for your online store. This category\nincludes endpoints for enabling payment options such as manual\n(cash on delivery) payment at checkout.",
      "x-displayName": "Payments"
    },
    {
      "name": "Ecommerce: Products",
      "description": "Manage products in your online store. This category includes\nendpoints for creating physical and digital products with\npricing and optional descriptions.",
      "x-displayName": "Products"
    },
    {
      "name": "Ecommerce: Sales channels",
      "description": "Ecommerce: Sales channels",
      "x-displayName": "Sales channels"
    },
    {
      "name": "Ecommerce: Shipping",
      "description": "Configure shipping options for your online store. This\ncategory includes endpoints for setting the flat-rate\nshipping price applied to customer orders.",
      "x-displayName": "Shipping"
    },
    {
      "name": "Ecommerce: Stores",
      "description": "Manage your online stores. This category includes endpoints\nfor listing and creating stores associated with your account,\nand deleting stores you no longer need.",
      "x-displayName": "Stores"
    },
    {
      "name": "Horizons: Websites",
      "description": "Create and access Hostinger Horizons websites. This category\nincludes endpoints for creating new AI-generated websites from\na text prompt and retrieving links to edit existing websites\nin the Hostinger Horizons interface.",
      "x-displayName": "Websites"
    },
    {
      "name": "Hosting: Cache",
      "description": "Hosting: Cache",
      "x-displayName": "Cache"
    },
    {
      "name": "Hosting: Cron Jobs",
      "description": "Hosting: Cron Jobs",
      "x-displayName": "Cron Jobs"
    },
    {
      "name": "Hosting: Databases",
      "description": "Hosting: Databases",
      "x-displayName": "Databases"
    },
    {
      "name": "Hosting: Datacenters",
      "description": "Access information about available datacenters for hosting\nservices. This category provides details about data center\nlocations and capabilities to help you choose the optimal\nregion for your hosting needs.",
      "x-displayName": "Datacenters"
    },
    {
      "name": "Hosting: Domains",
      "description": "Manage domain-related hosting services and configurations.\nThis category includes endpoints for domain management,\nverification, 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\ncategory provides access to order information, status\ntracking, and order management capabilities for hosting\nservices.",
      "x-displayName": "Orders"
    },
    {
      "name": "Hosting: PHP",
      "description": "Hosting: PHP",
      "x-displayName": "PHP"
    },
    {
      "name": "Hosting: Websites",
      "description": "Manage hosted websites and web applications. This category\nincludes endpoints for website deployment, configuration,\nmonitoring, and management of hosting resources.",
      "x-displayName": "Websites"
    },
    {
      "name": "Mail: API Tokens",
      "description": "Manage API tokens for the\n[Hostinger Email API](https://api.mail.hostinger.com/). Tokens are\nscoped to mailboxes of a mail order and grant access to mailbox\nprovisioning and management through the Email API.",
      "x-displayName": "API Tokens"
    },
    {
      "name": "Mail: Autoreplies",
      "description": "Manage automatic replies of your mailboxes. This category includes\nendpoints for creating, updating, listing, and deleting autoreplies\nsuch as out-of-office messages. A mailbox can have one autoreply.",
      "x-displayName": "Autoreplies"
    },
    {
      "name": "Mail: Forwarders",
      "description": "Manage forwarders of your mailboxes. This category includes endpoints\nfor creating, listing, and deleting forwarders that redirect incoming\nmessages to another email address. The destination address must\nconfirm the forwarding before it becomes active.",
      "x-displayName": "Forwarders"
    },
    {
      "name": "Mail: Logs",
      "description": "Inspect activity logs of your mail orders. This category includes\nendpoints for access logs, inbound and outbound delivery logs,\nmailbox action logs, and account action logs.",
      "x-displayName": "Logs"
    },
    {
      "name": "Mail: Mailboxes",
      "description": "Manage mailboxes of your mail orders. This category includes\nendpoints for listing mailboxes with their status, enabled\nprotocols, attached resource counts, and usage numbers.",
      "x-displayName": "Mailboxes"
    },
    {
      "name": "Mail: Orders",
      "description": "Manage your mail service orders. This category includes\nendpoints for listing mail orders associated with your\naccount, along with their status, plan, domain, and\nexpiration details.",
      "x-displayName": "Orders"
    },
    {
      "name": "Mail: Webhooks",
      "description": "Manage webhooks of your mailboxes. This category includes endpoints\nfor creating webhooks that notify your systems about mailbox events\nsuch as received messages.",
      "x-displayName": "Webhooks"
    },
    {
      "name": "Reach: Contacts",
      "description": "Manage your email contacts and contact groups. This category\nincludes endpoints for creating, deleting, and listing\ncontacts, as well as managing contact groups.",
      "x-displayName": "Contacts"
    },
    {
      "name": "Reach: Segments",
      "description": "Filter and segment your email contacts using various\ncriteria. This category includes endpoints for filtering\ncontacts by attributes, tags, and email addresses, as well\nas listing all available segments and retrieving contacts\nthat 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\nlocation details, so you can choose the optimal region for\ndeploying your virtual machines.",
      "x-displayName": "Data centers"
    },
    {
      "name": "VPS: Docker Manager",
      "description": "Manage Docker Compose projects directly on your VPS\ninstances. This feature is only available for VPS instances\nusing Docker OS templates and is currently experimental -\nbreaking changes may occur in future updates.\nIt enables you to programmatically deploy projects from\ndocker-compose.yml files by providing either a URL (including\nGitHub repositories) or the compose file contents directly.\nControl project lifecycle (start/stop/restart/update/delete)\nand retrieve runtime information including container lists,\nproject details, and aggregated logs.\nAll operations are scoped to a specific virtual machine for\nmulti-tenant management.",
      "x-displayName": "Docker Manager"
    },
    {
      "name": "VPS: Firewall",
      "description": "Enhance network security with endpoints for creating,\nactivating, deactivating, syncing, updating, and deleting\nfirewalls and firewall rules for your virtual machines.\nThis firewall applies rules at the network level, so it will\ntake precedence over the virtual machine's internal firewall.\n\n**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\nretrieve scripts that can be used for automated tasks after\nthe operating system installation. Use case includes setting\nup 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\nadding new public keys, attaching them to virtual machines,\nretrieving key lists, and deleting keys.",
      "x-displayName": "Public Keys"
    },
    {
      "name": "VPS: OS Templates",
      "description": "Retrieve details of operating system templates or list all\navailable templates to choose the right configuration when\ndeploying or recreating virtual machines.",
      "x-displayName": "OS Templates"
    },
    {
      "name": "VPS: Actions",
      "description": "Track and review operations performed on your virtual\nmachines. These endpoints provide details about specific\nactions—such as start, stop, or restart—including\ntimestamps and statuses.",
      "x-displayName": "Actions"
    },
    {
      "name": "VPS: Virtual machine",
      "description": "Core virtual machine management functionality. Endpoints in\nthis category let you retrieve machine details, configure\nsettings (hostname, nameservers, passwords), and perform\noperations like start, stop, restart, or recreate.",
      "x-displayName": "Virtual machine"
    },
    {
      "name": "VPS: Backups",
      "description": "Safeguard your data by managing backups. You can list\navailable 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\nmalware scanner. Retrieve scan metrics or install/uninstall\nthe 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\nrecords for your virtual machines, ensuring that IP addresses\ncorrectly resolve to hostnames.",
      "x-displayName": "PTR records"
    },
    {
      "name": "VPS: Recovery",
      "description": "Initiate or stop recovery mode to perform system rescue\noperations. This category enables you to boot a virtual\nmachine into a state suitable for repairing file systems\nor recovering data.",
      "x-displayName": "Recovery"
    },
    {
      "name": "VPS: Snapshots",
      "description": "Create, restore, or delete snapshots that capture the state\nof your virtual machines at a given point, allowing you to\nquickly recover or test changes without affecting current\noperations.",
      "x-displayName": "Snapshots"
    },
    {
      "name": "WordPress: AI Tools",
      "description": "WordPress: AI Tools",
      "x-displayName": "AI Tools"
    },
    {
      "name": "WordPress: Installations",
      "description": "Manage WordPress installations on your hosting websites. This\ncategory includes endpoints for installing WordPress, listing\nexisting installations along with their validation status, and\nimporting a WordPress site from previously uploaded archive and\ndatabase files.",
      "x-displayName": "Installations"
    },
    {
      "name": "WordPress: LiteSpeed Cache",
      "description": "WordPress: LiteSpeed Cache",
      "x-displayName": "LiteSpeed Cache"
    },
    {
      "name": "WordPress: Login",
      "description": "WordPress: Login",
      "x-displayName": "Login"
    },
    {
      "name": "WordPress: Maintenance",
      "description": "WordPress: Maintenance",
      "x-displayName": "Maintenance"
    },
    {
      "name": "WordPress: Object Cache",
      "description": "WordPress: Object Cache",
      "x-displayName": "Object Cache"
    },
    {
      "name": "WordPress: Plugins",
      "description": "Manage WordPress plugins on your installations. This category\nincludes endpoints for installing, activating, updating,\nlisting, and deleting plugins.",
      "x-displayName": "Plugins"
    },
    {
      "name": "WordPress: Themes",
      "description": "Manage WordPress themes on your installations. This category\nincludes endpoints for installing, activating, updating,\nlisting, and deleting themes.",
      "x-displayName": "Themes"
    }
  ],
  "x-tagGroups": [
    {
      "name": "Billing",
      "tags": [
        "Billing: Catalog",
        "Billing: Orders",
        "Billing: Payment methods",
        "Billing: Subscriptions"
      ]
    },
    {
      "name": "Domains",
      "tags": [
        "Domains: Availability",
        "Domains: Forwarding",
        "Domains: Portfolio",
        "Domains: Transfer",
        "Domains: WHOIS"
      ]
    },
    {
      "name": "DNS",
      "tags": [
        "DNS: Snapshot",
        "DNS: Zone"
      ]
    },
    {
      "name": "Domain Access Verifier",
      "tags": [
        "Domain Access Verifier: Verifications"
      ]
    },
    {
      "name": "Mail",
      "tags": [
        "Mail: Orders",
        "Mail: Mailboxes",
        "Mail: Autoreplies",
        "Mail: Forwarders",
        "Mail: Webhooks",
        "Mail: API Tokens",
        "Mail: Logs"
      ]
    },
    {
      "name": "Hosting",
      "tags": [
        "Hosting: Cache",
        "Hosting: Cron Jobs",
        "Hosting: Datacenters",
        "Hosting: Databases",
        "Hosting: Domains",
        "Hosting: Files",
        "Hosting: NodeJS",
        "Hosting: Orders",
        "Hosting: PHP",
        "Hosting: Websites"
      ]
    },
    {
      "name": "Agency Hosting",
      "tags": [
        "Agency Hosting: Cache",
        "Agency Hosting: Cron Jobs",
        "Agency Hosting: Databases",
        "Agency Hosting: Datacenters",
        "Agency Hosting: Domains",
        "Agency Hosting: Files",
        "Agency Hosting: Orders",
        "Agency Hosting: Website Setups",
        "Agency Hosting: Websites",
        "Agency Hosting: WordPress"
      ]
    },
    {
      "name": "WordPress",
      "tags": [
        "WordPress: Installations",
        "WordPress: Plugins",
        "WordPress: Themes",
        "WordPress: Object Cache",
        "WordPress: LiteSpeed Cache",
        "WordPress: Maintenance",
        "WordPress: Login",
        "WordPress: AI Tools"
      ]
    },
    {
      "name": "Horizons",
      "tags": [
        "Horizons: Websites"
      ]
    },
    {
      "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": "Ecommerce",
      "tags": [
        "Ecommerce: Stores",
        "Ecommerce: Sales channels",
        "Ecommerce: Products",
        "Ecommerce: Shipping",
        "Ecommerce: Payments",
        "Ecommerce: Miscellaneous"
      ]
    },
    {
      "name": "Miscellaneous",
      "tags": [
        "Models"
      ]
    }
  ]
}