hostinger-api-mcp 1.57.3 → 1.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +18 -2
  3. package/gemini-extension.json +1 -1
  4. package/package.json +1 -1
  5. package/server.json +2 -2
  6. package/src/core/runtime.js +1 -1
  7. package/src/core/runtime.ts +1 -1
  8. package/src/core/tools/all.js +6 -6
  9. package/src/core/tools/all.ts +6 -6
  10. package/src/core/tools/billing.js +2 -2
  11. package/src/core/tools/billing.ts +2 -2
  12. package/src/core/tools/domains.js +1 -1
  13. package/src/core/tools/domains.ts +1 -1
  14. package/src/core/tools/ecommerce.js +2 -2
  15. package/src/core/tools/ecommerce.ts +2 -2
  16. package/src/core/tools/vps.js +1 -1
  17. package/src/core/tools/vps.ts +1 -1
  18. package/src/servers/agency-hosting.js +1 -1
  19. package/src/servers/agency-hosting.ts +1 -1
  20. package/src/servers/all.js +1 -1
  21. package/src/servers/all.ts +1 -1
  22. package/src/servers/billing.js +1 -1
  23. package/src/servers/billing.ts +1 -1
  24. package/src/servers/dns.js +1 -1
  25. package/src/servers/dns.ts +1 -1
  26. package/src/servers/domains.js +1 -1
  27. package/src/servers/domains.ts +1 -1
  28. package/src/servers/ecommerce.js +1 -1
  29. package/src/servers/ecommerce.ts +1 -1
  30. package/src/servers/horizons.js +1 -1
  31. package/src/servers/horizons.ts +1 -1
  32. package/src/servers/hosting.js +1 -1
  33. package/src/servers/hosting.ts +1 -1
  34. package/src/servers/mail.js +1 -1
  35. package/src/servers/mail.ts +1 -1
  36. package/src/servers/reach.js +1 -1
  37. package/src/servers/reach.ts +1 -1
  38. package/src/servers/vps.js +1 -1
  39. package/src/servers/vps.ts +1 -1
  40. package/src/servers/wordpress.js +1 -1
  41. package/src/servers/wordpress.ts +1 -1
  42. package/types.d.ts +24 -5
package/CHANGELOG.md CHANGED
@@ -4,6 +4,33 @@ Generated at release time from the diff between the previous and current
4
4
  build. Tool changes are listed individually; everything else is summarised
5
5
  by area.
6
6
 
7
+ ## v1.58.0 — 2026-09-09
8
+
9
+ ### Tools
10
+
11
+ - Changed the description of `billing_createPurchaseOrderV1`
12
+ - Changed the description of `billing_renewSubscriptionV1`
13
+ - Changed the description of `domains_purchaseNewDomainV1`
14
+ - Changed the description of `VPS_purchaseNewVirtualMachineV1`
15
+
16
+ ### Also in this release
17
+
18
+ - Documentation: `README.md`
19
+ - Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
20
+ - Build and packaging: `types.d.ts`
21
+
22
+ ## v1.57.4 — 2026-09-09
23
+
24
+ ### Tools
25
+
26
+ - Changed the description and input schema of `ecommerce_uploadAndAttachAProductImageV1`
27
+
28
+ ### Also in this release
29
+
30
+ - Documentation: `README.md`
31
+ - Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
32
+ - Build and packaging: `types.d.ts`
33
+
7
34
  ## v1.57.3 — 2026-09-09
8
35
 
9
36
  ### Tools
package/README.md CHANGED
@@ -639,6 +639,9 @@ up the `item_id` values available for purchase.
639
639
 
640
640
  If no payment method is provided, your default payment method will be used automatically.
641
641
 
642
+ If the response is `202 Accepted`, the payment is still being processed and the order will
643
+ complete asynchronously once the payment is confirmed.
644
+
642
645
  This endpoint only places the order. Product-specific provisioning
643
646
  (e.g. VPS setup or domain registration) is not performed here — once the
644
647
  order completes, use the relevant product endpoints or
@@ -717,6 +720,9 @@ the existing billing infrastructure. Use the
717
720
 
718
721
  If no payment method is provided, your default payment method will be used automatically.
719
722
 
723
+ If the response is `202 Accepted`, the payment is still being processed and the renewal will
724
+ complete asynchronously once the payment is confirmed.
725
+
720
726
  Use this endpoint to renew any subscription available in your account.
721
727
 
722
728
  - **Method**: `POST`
@@ -1106,6 +1112,10 @@ If registration fails, login to [hPanel](https://hpanel.hostinger.com/) and chec
1106
1112
 
1107
1113
  If no payment method is provided, your default payment method will be used automatically.
1108
1114
 
1115
+ If the response is `202 Accepted`, the payment is still being processed and the domain was
1116
+ **not** registered. Once the order completes, register the domain from
1117
+ [hPanel](https://hpanel.hostinger.com/).
1118
+
1109
1119
  If no WHOIS information is provided, default contact information for that TLD will be used.
1110
1120
  Before making request, ensure WHOIS information for desired TLD exists in your account.
1111
1121
 
@@ -1422,8 +1432,10 @@ Create a published physical product with a single variant priced in the store cu
1422
1432
  #### ecommerce_uploadAndAttachAProductImageV1
1423
1433
 
1424
1434
  Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a
1425
- single call. The image is virus-scanned and validated by content, then stored on the CDN. Set
1426
- is_thumbnail to make it the product's primary image.
1435
+ single call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect
1436
+ is allowed, and its destination must meet the same requirements. Private or reserved network
1437
+ destinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned
1438
+ and validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.
1427
1439
 
1428
1440
  - **Method**: `POST`
1429
1441
  - **Path**: `/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images`
@@ -3804,6 +3816,10 @@ If virtual machine setup fails for any reason, login to
3804
3816
 
3805
3817
  If no payment method is provided, your default payment method will be used automatically.
3806
3818
 
3819
+ If the response is `202 Accepted`, the payment is still being processed and the virtual machine
3820
+ was not set up. Login to
3821
+ [hPanel](https://hpanel.hostinger.com/) and complete the setup manually.
3822
+
3807
3823
  Use this endpoint to create new VPS instances.
3808
3824
 
3809
3825
  - **Method**: `POST`
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.57.3",
3
+ "version": "1.58.0",
4
4
  "description": "Hostinger API — manage domains, DNS, hosting, VPS, billing and more from Gemini CLI.",
5
5
  "mcpServers": {
6
6
  "hostinger": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.57.3",
3
+ "version": "1.58.0",
4
4
  "mcpName": "io.github.hostinger/hostinger-api-mcp",
5
5
  "description": "MCP server for Hostinger API",
6
6
  "repository": {
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/hostinger/api-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "1.57.3",
9
+ "version": "1.58.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@hostinger/mcp",
14
- "version": "1.57.3",
14
+ "version": "1.58.0",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -29,7 +29,7 @@ const SECURITY_SCHEMES = {
29
29
 
30
30
  /**
31
31
  * MCP Server for Hostinger API
32
- * Generated from OpenAPI spec version 1.49.3
32
+ * Generated from OpenAPI spec version 1.50.0
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -52,7 +52,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
52
52
 
53
53
  /**
54
54
  * MCP Server for Hostinger API
55
- * Generated from OpenAPI spec version 1.49.3
55
+ * Generated from OpenAPI spec version 1.50.0
56
56
  */
57
57
  class MCPServer {
58
58
  private readonly name: string;
@@ -1835,7 +1835,7 @@ export default [
1835
1835
  "readOnlyHint": false,
1836
1836
  "destructiveHint": false
1837
1837
  },
1838
- "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.",
1838
+ "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\nIf the response is `202 Accepted`, the payment is still being processed and the order will\ncomplete asynchronously once the payment is confirmed.\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.",
1839
1839
  "method": "POST",
1840
1840
  "path": "/api/billing/v1/orders",
1841
1841
  "inputSchema": {
@@ -2063,7 +2063,7 @@ export default [
2063
2063
  "readOnlyHint": false,
2064
2064
  "destructiveHint": false
2065
2065
  },
2066
- "description": "Create a renewal order for an existing Hostinger subscription.\n\nThis endpoint places a renewal order for a single subscription, leveraging\nthe existing billing infrastructure. Use the\n[subscriptions endpoint](#tag/billing-subscriptions) to look up the\n`subscriptionId` values available for renewal.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nUse this endpoint to renew any subscription available in your account.",
2066
+ "description": "Create a renewal order for an existing Hostinger subscription.\n\nThis endpoint places a renewal order for a single subscription, leveraging\nthe existing billing infrastructure. Use the\n[subscriptions endpoint](#tag/billing-subscriptions) to look up the\n`subscriptionId` values available for renewal.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nIf the response is `202 Accepted`, the payment is still being processed and the renewal will\ncomplete asynchronously once the payment is confirmed.\n\nUse this endpoint to renew any subscription available in your account.",
2067
2067
  "method": "POST",
2068
2068
  "path": "/api/billing/v1/subscriptions/{subscriptionId}/renew",
2069
2069
  "inputSchema": {
@@ -3311,7 +3311,7 @@ export default [
3311
3311
  "readOnlyHint": false,
3312
3312
  "destructiveHint": false
3313
3313
  },
3314
- "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.",
3314
+ "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 the response is `202 Accepted`, the payment is still being processed and the domain was\n**not** registered. Once the order completes, register the domain from\n[hPanel](https://hpanel.hostinger.com/).\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.",
3315
3315
  "method": "POST",
3316
3316
  "path": "/api/domains/v1/portfolio",
3317
3317
  "inputSchema": {
@@ -4727,7 +4727,7 @@ export default [
4727
4727
  "readOnlyHint": false,
4728
4728
  "destructiveHint": false
4729
4729
  },
4730
- "description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. The image is virus-scanned and validated by content, then stored on the CDN. Set\nis_thumbnail to make it the product's primary image.",
4730
+ "description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed, and its destination must meet the same requirements. Private or reserved network\ndestinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned\nand validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.",
4731
4731
  "method": "POST",
4732
4732
  "path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images",
4733
4733
  "inputSchema": {
@@ -4743,7 +4743,7 @@ export default [
4743
4743
  },
4744
4744
  "image_url": {
4745
4745
  "type": "string",
4746
- "description": "Publicly reachable URL of the raster image (JPEG, PNG, GIF or WebP), maximum 15MB. The image is\nfetched, virus-scanned and validated by content, then stored on the CDN. SVG is not accepted.\nProvide either this or object_name."
4746
+ "description": "Publicly reachable URL of a raster image (JPEG, PNG, GIF or WebP), maximum 15MB. Fetching\nthe image requires HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed; its destination must meet the same URL requirements. Private or reserved\nnetwork destinations, unsupported URLs and longer redirect chains are rejected. The image\nis fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not\naccepted. Provide either this or object_name."
4747
4747
  },
4748
4748
  "object_name": {
4749
4749
  "type": "string",
@@ -13603,7 +13603,7 @@ export default [
13603
13603
  "readOnlyHint": false,
13604
13604
  "destructiveHint": false
13605
13605
  },
13606
- "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.",
13606
+ "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\nIf the response is `202 Accepted`, the payment is still being processed and the virtual machine\nwas not set up. Login to\n[hPanel](https://hpanel.hostinger.com/) and complete the setup manually.\n\nUse this endpoint to create new VPS instances.",
13607
13607
  "method": "POST",
13608
13608
  "path": "/api/vps/v1/virtual-machines",
13609
13609
  "inputSchema": {
@@ -1849,7 +1849,7 @@ const tools: OpenApiTool[] = [
1849
1849
  "readOnlyHint": false,
1850
1850
  "destructiveHint": false
1851
1851
  },
1852
- "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.",
1852
+ "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\nIf the response is `202 Accepted`, the payment is still being processed and the order will\ncomplete asynchronously once the payment is confirmed.\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.",
1853
1853
  "method": "POST",
1854
1854
  "path": "/api/billing/v1/orders",
1855
1855
  "inputSchema": {
@@ -2077,7 +2077,7 @@ const tools: OpenApiTool[] = [
2077
2077
  "readOnlyHint": false,
2078
2078
  "destructiveHint": false
2079
2079
  },
2080
- "description": "Create a renewal order for an existing Hostinger subscription.\n\nThis endpoint places a renewal order for a single subscription, leveraging\nthe existing billing infrastructure. Use the\n[subscriptions endpoint](#tag/billing-subscriptions) to look up the\n`subscriptionId` values available for renewal.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nUse this endpoint to renew any subscription available in your account.",
2080
+ "description": "Create a renewal order for an existing Hostinger subscription.\n\nThis endpoint places a renewal order for a single subscription, leveraging\nthe existing billing infrastructure. Use the\n[subscriptions endpoint](#tag/billing-subscriptions) to look up the\n`subscriptionId` values available for renewal.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nIf the response is `202 Accepted`, the payment is still being processed and the renewal will\ncomplete asynchronously once the payment is confirmed.\n\nUse this endpoint to renew any subscription available in your account.",
2081
2081
  "method": "POST",
2082
2082
  "path": "/api/billing/v1/subscriptions/{subscriptionId}/renew",
2083
2083
  "inputSchema": {
@@ -3325,7 +3325,7 @@ const tools: OpenApiTool[] = [
3325
3325
  "readOnlyHint": false,
3326
3326
  "destructiveHint": false
3327
3327
  },
3328
- "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.",
3328
+ "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 the response is `202 Accepted`, the payment is still being processed and the domain was\n**not** registered. Once the order completes, register the domain from\n[hPanel](https://hpanel.hostinger.com/).\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.",
3329
3329
  "method": "POST",
3330
3330
  "path": "/api/domains/v1/portfolio",
3331
3331
  "inputSchema": {
@@ -4741,7 +4741,7 @@ const tools: OpenApiTool[] = [
4741
4741
  "readOnlyHint": false,
4742
4742
  "destructiveHint": false
4743
4743
  },
4744
- "description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. The image is virus-scanned and validated by content, then stored on the CDN. Set\nis_thumbnail to make it the product's primary image.",
4744
+ "description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed, and its destination must meet the same requirements. Private or reserved network\ndestinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned\nand validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.",
4745
4745
  "method": "POST",
4746
4746
  "path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images",
4747
4747
  "inputSchema": {
@@ -4757,7 +4757,7 @@ const tools: OpenApiTool[] = [
4757
4757
  },
4758
4758
  "image_url": {
4759
4759
  "type": "string",
4760
- "description": "Publicly reachable URL of the raster image (JPEG, PNG, GIF or WebP), maximum 15MB. The image is\nfetched, virus-scanned and validated by content, then stored on the CDN. SVG is not accepted.\nProvide either this or object_name."
4760
+ "description": "Publicly reachable URL of a raster image (JPEG, PNG, GIF or WebP), maximum 15MB. Fetching\nthe image requires HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed; its destination must meet the same URL requirements. Private or reserved\nnetwork destinations, unsupported URLs and longer redirect chains are rejected. The image\nis fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not\naccepted. Provide either this or object_name."
4761
4761
  },
4762
4762
  "object_name": {
4763
4763
  "type": "string",
@@ -13617,7 +13617,7 @@ const tools: OpenApiTool[] = [
13617
13617
  "readOnlyHint": false,
13618
13618
  "destructiveHint": false
13619
13619
  },
13620
- "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.",
13620
+ "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\nIf the response is `202 Accepted`, the payment is still being processed and the virtual machine\nwas not set up. Login to\n[hPanel](https://hpanel.hostinger.com/) and complete the setup manually.\n\nUse this endpoint to create new VPS instances.",
13621
13621
  "method": "POST",
13622
13622
  "path": "/api/vps/v1/virtual-machines",
13623
13623
  "inputSchema": {
@@ -45,7 +45,7 @@ export default [
45
45
  "readOnlyHint": false,
46
46
  "destructiveHint": false
47
47
  },
48
- "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.",
48
+ "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\nIf the response is `202 Accepted`, the payment is still being processed and the order will\ncomplete asynchronously once the payment is confirmed.\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.",
49
49
  "method": "POST",
50
50
  "path": "/api/billing/v1/orders",
51
51
  "inputSchema": {
@@ -273,7 +273,7 @@ export default [
273
273
  "readOnlyHint": false,
274
274
  "destructiveHint": false
275
275
  },
276
- "description": "Create a renewal order for an existing Hostinger subscription.\n\nThis endpoint places a renewal order for a single subscription, leveraging\nthe existing billing infrastructure. Use the\n[subscriptions endpoint](#tag/billing-subscriptions) to look up the\n`subscriptionId` values available for renewal.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nUse this endpoint to renew any subscription available in your account.",
276
+ "description": "Create a renewal order for an existing Hostinger subscription.\n\nThis endpoint places a renewal order for a single subscription, leveraging\nthe existing billing infrastructure. Use the\n[subscriptions endpoint](#tag/billing-subscriptions) to look up the\n`subscriptionId` values available for renewal.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nIf the response is `202 Accepted`, the payment is still being processed and the renewal will\ncomplete asynchronously once the payment is confirmed.\n\nUse this endpoint to renew any subscription available in your account.",
277
277
  "method": "POST",
278
278
  "path": "/api/billing/v1/subscriptions/{subscriptionId}/renew",
279
279
  "inputSchema": {
@@ -59,7 +59,7 @@ const tools: OpenApiTool[] = [
59
59
  "readOnlyHint": false,
60
60
  "destructiveHint": false
61
61
  },
62
- "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.",
62
+ "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\nIf the response is `202 Accepted`, the payment is still being processed and the order will\ncomplete asynchronously once the payment is confirmed.\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.",
63
63
  "method": "POST",
64
64
  "path": "/api/billing/v1/orders",
65
65
  "inputSchema": {
@@ -287,7 +287,7 @@ const tools: OpenApiTool[] = [
287
287
  "readOnlyHint": false,
288
288
  "destructiveHint": false
289
289
  },
290
- "description": "Create a renewal order for an existing Hostinger subscription.\n\nThis endpoint places a renewal order for a single subscription, leveraging\nthe existing billing infrastructure. Use the\n[subscriptions endpoint](#tag/billing-subscriptions) to look up the\n`subscriptionId` values available for renewal.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nUse this endpoint to renew any subscription available in your account.",
290
+ "description": "Create a renewal order for an existing Hostinger subscription.\n\nThis endpoint places a renewal order for a single subscription, leveraging\nthe existing billing infrastructure. Use the\n[subscriptions endpoint](#tag/billing-subscriptions) to look up the\n`subscriptionId` values available for renewal.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nIf the response is `202 Accepted`, the payment is still being processed and the renewal will\ncomplete asynchronously once the payment is confirmed.\n\nUse this endpoint to renew any subscription available in your account.",
291
291
  "method": "POST",
292
292
  "path": "/api/billing/v1/subscriptions/{subscriptionId}/renew",
293
293
  "inputSchema": {
@@ -824,7 +824,7 @@ export default [
824
824
  "readOnlyHint": false,
825
825
  "destructiveHint": false
826
826
  },
827
- "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.",
827
+ "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 the response is `202 Accepted`, the payment is still being processed and the domain was\n**not** registered. Once the order completes, register the domain from\n[hPanel](https://hpanel.hostinger.com/).\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.",
828
828
  "method": "POST",
829
829
  "path": "/api/domains/v1/portfolio",
830
830
  "inputSchema": {
@@ -838,7 +838,7 @@ const tools: OpenApiTool[] = [
838
838
  "readOnlyHint": false,
839
839
  "destructiveHint": false
840
840
  },
841
- "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.",
841
+ "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 the response is `202 Accepted`, the payment is still being processed and the domain was\n**not** registered. Once the order completes, register the domain from\n[hPanel](https://hpanel.hostinger.com/).\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.",
842
842
  "method": "POST",
843
843
  "path": "/api/domains/v1/portfolio",
844
844
  "inputSchema": {
@@ -808,7 +808,7 @@ export default [
808
808
  "readOnlyHint": false,
809
809
  "destructiveHint": false
810
810
  },
811
- "description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. The image is virus-scanned and validated by content, then stored on the CDN. Set\nis_thumbnail to make it the product's primary image.",
811
+ "description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed, and its destination must meet the same requirements. Private or reserved network\ndestinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned\nand validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.",
812
812
  "method": "POST",
813
813
  "path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images",
814
814
  "inputSchema": {
@@ -824,7 +824,7 @@ export default [
824
824
  },
825
825
  "image_url": {
826
826
  "type": "string",
827
- "description": "Publicly reachable URL of the raster image (JPEG, PNG, GIF or WebP), maximum 15MB. The image is\nfetched, virus-scanned and validated by content, then stored on the CDN. SVG is not accepted.\nProvide either this or object_name."
827
+ "description": "Publicly reachable URL of a raster image (JPEG, PNG, GIF or WebP), maximum 15MB. Fetching\nthe image requires HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed; its destination must meet the same URL requirements. Private or reserved\nnetwork destinations, unsupported URLs and longer redirect chains are rejected. The image\nis fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not\naccepted. Provide either this or object_name."
828
828
  },
829
829
  "object_name": {
830
830
  "type": "string",
@@ -822,7 +822,7 @@ const tools: OpenApiTool[] = [
822
822
  "readOnlyHint": false,
823
823
  "destructiveHint": false
824
824
  },
825
- "description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. The image is virus-scanned and validated by content, then stored on the CDN. Set\nis_thumbnail to make it the product's primary image.",
825
+ "description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed, and its destination must meet the same requirements. Private or reserved network\ndestinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned\nand validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.",
826
826
  "method": "POST",
827
827
  "path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images",
828
828
  "inputSchema": {
@@ -838,7 +838,7 @@ const tools: OpenApiTool[] = [
838
838
  },
839
839
  "image_url": {
840
840
  "type": "string",
841
- "description": "Publicly reachable URL of the raster image (JPEG, PNG, GIF or WebP), maximum 15MB. The image is\nfetched, virus-scanned and validated by content, then stored on the CDN. SVG is not accepted.\nProvide either this or object_name."
841
+ "description": "Publicly reachable URL of a raster image (JPEG, PNG, GIF or WebP), maximum 15MB. Fetching\nthe image requires HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed; its destination must meet the same URL requirements. Private or reserved\nnetwork destinations, unsupported URLs and longer redirect chains are rejected. The image\nis fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not\naccepted. Provide either this or object_name."
842
842
  },
843
843
  "object_name": {
844
844
  "type": "string",
@@ -1507,7 +1507,7 @@ export default [
1507
1507
  "readOnlyHint": false,
1508
1508
  "destructiveHint": false
1509
1509
  },
1510
- "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.",
1510
+ "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\nIf the response is `202 Accepted`, the payment is still being processed and the virtual machine\nwas not set up. Login to\n[hPanel](https://hpanel.hostinger.com/) and complete the setup manually.\n\nUse this endpoint to create new VPS instances.",
1511
1511
  "method": "POST",
1512
1512
  "path": "/api/vps/v1/virtual-machines",
1513
1513
  "inputSchema": {
@@ -1521,7 +1521,7 @@ const tools: OpenApiTool[] = [
1521
1521
  "readOnlyHint": false,
1522
1522
  "destructiveHint": false
1523
1523
  },
1524
- "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.",
1524
+ "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\nIf the response is `202 Accepted`, the payment is still being processed and the virtual machine\nwas not set up. Login to\n[hPanel](https://hpanel.hostinger.com/) and complete the setup manually.\n\nUse this endpoint to create new VPS instances.",
1525
1525
  "method": "POST",
1526
1526
  "path": "/api/vps/v1/virtual-machines",
1527
1527
  "inputSchema": {
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.58.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.57.3', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.58.0', tools });
package/types.d.ts CHANGED
@@ -1001,6 +1001,9 @@ up the `item_id` values available for purchase.
1001
1001
 
1002
1002
  If no payment method is provided, your default payment method will be used automatically.
1003
1003
 
1004
+ If the response is `202 Accepted`, the payment is still being processed and the order will
1005
+ complete asynchronously once the payment is confirmed.
1006
+
1004
1007
  This endpoint only places the order. Product-specific provisioning
1005
1008
  (e.g. VPS setup or domain registration) is not performed here — once the
1006
1009
  order completes, use the relevant product endpoints or
@@ -1123,6 +1126,9 @@ the existing billing infrastructure. Use the
1123
1126
 
1124
1127
  If no payment method is provided, your default payment method will be used automatically.
1125
1128
 
1129
+ If the response is `202 Accepted`, the payment is still being processed and the renewal will
1130
+ complete asynchronously once the payment is confirmed.
1131
+
1126
1132
  Use this endpoint to renew any subscription available in your account.
1127
1133
  */
1128
1134
  "billing_renewSubscriptionV1": {
@@ -1794,6 +1800,10 @@ If registration fails, login to [hPanel](https://hpanel.hostinger.com/) and chec
1794
1800
 
1795
1801
  If no payment method is provided, your default payment method will be used automatically.
1796
1802
 
1803
+ If the response is `202 Accepted`, the payment is still being processed and the domain was
1804
+ **not** registered. Once the order completes, register the domain from
1805
+ [hPanel](https://hpanel.hostinger.com/).
1806
+
1797
1807
  If no WHOIS information is provided, default contact information for that TLD will be used.
1798
1808
  Before making request, ensure WHOIS information for desired TLD exists in your account.
1799
1809
 
@@ -2578,8 +2588,10 @@ embed each product's variants with prices and inventory, and include=media to em
2578
2588
 
2579
2589
  /**
2580
2590
  * Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a
2581
- single call. The image is virus-scanned and validated by content, then stored on the CDN. Set
2582
- is_thumbnail to make it the product's primary image.
2591
+ single call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect
2592
+ is allowed, and its destination must meet the same requirements. Private or reserved network
2593
+ destinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned
2594
+ and validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.
2583
2595
  */
2584
2596
  "ecommerce_uploadAndAttachAProductImageV1": {
2585
2597
  params: {
@@ -2592,9 +2604,12 @@ is_thumbnail to make it the product's primary image.
2592
2604
  */
2593
2605
  product_id: string;
2594
2606
  /**
2595
- * Publicly reachable URL of the raster image (JPEG, PNG, GIF or WebP), maximum 15MB. The image is
2596
- fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not accepted.
2597
- Provide either this or object_name.
2607
+ * Publicly reachable URL of a raster image (JPEG, PNG, GIF or WebP), maximum 15MB. Fetching
2608
+ the image requires HTTPS on port 443 without embedded credentials. At most one redirect
2609
+ is allowed; its destination must meet the same URL requirements. Private or reserved
2610
+ network destinations, unsupported URLs and longer redirect chains are rejected. The image
2611
+ is fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not
2612
+ accepted. Provide either this or object_name.
2598
2613
  */
2599
2614
  image_url?: string;
2600
2615
  /**
@@ -7733,6 +7748,10 @@ If virtual machine setup fails for any reason, login to
7733
7748
 
7734
7749
  If no payment method is provided, your default payment method will be used automatically.
7735
7750
 
7751
+ If the response is `202 Accepted`, the payment is still being processed and the virtual machine
7752
+ was not set up. Login to
7753
+ [hPanel](https://hpanel.hostinger.com/) and complete the setup manually.
7754
+
7736
7755
  Use this endpoint to create new VPS instances.
7737
7756
  */
7738
7757
  "VPS_purchaseNewVirtualMachineV1": {