hostinger-api-mcp 1.49.0 → 1.51.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 (55) hide show
  1. package/README.md +13 -2
  2. package/gemini-extension.json +1 -1
  3. package/package.json +1 -1
  4. package/server.json +2 -2
  5. package/src/core/runtime.js +3 -1
  6. package/src/core/runtime.ts +3 -1
  7. package/src/core/tools/agency-hosting.js +239 -0
  8. package/src/core/tools/agency-hosting.ts +239 -0
  9. package/src/core/tools/all.js +2367 -0
  10. package/src/core/tools/all.ts +2367 -0
  11. package/src/core/tools/billing.js +57 -0
  12. package/src/core/tools/billing.ts +57 -0
  13. package/src/core/tools/dns.js +50 -0
  14. package/src/core/tools/dns.ts +50 -0
  15. package/src/core/tools/domains.js +255 -0
  16. package/src/core/tools/domains.ts +255 -0
  17. package/src/core/tools/ecommerce.js +180 -0
  18. package/src/core/tools/ecommerce.ts +180 -0
  19. package/src/core/tools/horizons.js +12 -0
  20. package/src/core/tools/horizons.ts +12 -0
  21. package/src/core/tools/hosting.js +365 -0
  22. package/src/core/tools/hosting.ts +365 -0
  23. package/src/core/tools/mail.js +239 -0
  24. package/src/core/tools/mail.ts +239 -0
  25. package/src/core/tools/reach.js +306 -0
  26. package/src/core/tools/reach.ts +306 -0
  27. package/src/core/tools/vps.js +432 -0
  28. package/src/core/tools/vps.ts +432 -0
  29. package/src/core/tools/wordpress.js +232 -0
  30. package/src/core/tools/wordpress.ts +232 -0
  31. package/src/servers/agency-hosting.js +1 -1
  32. package/src/servers/agency-hosting.ts +1 -1
  33. package/src/servers/all.js +1 -1
  34. package/src/servers/all.ts +1 -1
  35. package/src/servers/billing.js +1 -1
  36. package/src/servers/billing.ts +1 -1
  37. package/src/servers/dns.js +1 -1
  38. package/src/servers/dns.ts +1 -1
  39. package/src/servers/domains.js +1 -1
  40. package/src/servers/domains.ts +1 -1
  41. package/src/servers/ecommerce.js +1 -1
  42. package/src/servers/ecommerce.ts +1 -1
  43. package/src/servers/horizons.js +1 -1
  44. package/src/servers/horizons.ts +1 -1
  45. package/src/servers/hosting.js +1 -1
  46. package/src/servers/hosting.ts +1 -1
  47. package/src/servers/mail.js +1 -1
  48. package/src/servers/mail.ts +1 -1
  49. package/src/servers/reach.js +1 -1
  50. package/src/servers/reach.ts +1 -1
  51. package/src/servers/vps.js +1 -1
  52. package/src/servers/vps.ts +1 -1
  53. package/src/servers/wordpress.js +1 -1
  54. package/src/servers/wordpress.ts +1 -1
  55. package/types.d.ts +25 -0
package/README.md CHANGED
@@ -69,7 +69,7 @@ pnpm update -g hostinger-api-mcp
69
69
 
70
70
  This package installs the following MCP server commands:
71
71
 
72
- - `hostinger-api-mcp` — unified server with every tool (371 total)
72
+ - `hostinger-api-mcp` — unified server with every tool (372 total)
73
73
  - `hostinger-agency-hosting-mcp` — 38 tools for agency-hosting
74
74
  - `hostinger-billing-mcp` — 9 tools for billing
75
75
  - `hostinger-dns-mcp` — 8 tools for dns
@@ -79,7 +79,7 @@ This package installs the following MCP server commands:
79
79
  - `hostinger-hosting-mcp` — 58 tools for hosting
80
80
  - `hostinger-mail-mcp` — 38 tools for mail
81
81
  - `hostinger-reach-mcp` — 49 tools for reach
82
- - `hostinger-vps-mcp` — 62 tools for vps
82
+ - `hostinger-vps-mcp` — 63 tools for vps
83
83
  - `hostinger-wordpress-mcp` — 38 tools for wordpress
84
84
 
85
85
  Pick the binary that matches your agent's scope. `hostinger-api-mcp` remains the backwards-compatible default.
@@ -3374,6 +3374,17 @@ Use this endpoint to remove specific firewall rules.
3374
3374
  - **Method**: `DELETE`
3375
3375
  - **Path**: `/api/vps/v1/firewall/{firewallId}/rules/{ruleId}`
3376
3376
 
3377
+ #### VPS_replaceAllFirewallRulesInGroupV1
3378
+
3379
+ Replaces all firewall rules within a specified firewall group with the provided set of rules
3380
+ in a single atomic operation, instead of creating or deleting rules one by one.
3381
+
3382
+ Any virtual machine using this firewall group will need to be synchronized after replacing rules;
3383
+ pass the "sync" query parameter to trigger synchronization immediately.
3384
+
3385
+ - **Method**: `PUT`
3386
+ - **Path**: `/api/vps/v1/firewall/{firewallId}/rules`
3387
+
3377
3388
  #### VPS_createFirewallRuleV1
3378
3389
 
3379
3390
  Create new firewall rule for a specified firewall.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.49.0",
3
+ "version": "1.51.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.49.0",
3
+ "version": "1.51.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.49.0",
9
+ "version": "1.51.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "hostinger-api-mcp",
14
- "version": "1.49.0",
14
+ "version": "1.51.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.45.0
32
+ * Generated from OpenAPI spec version 1.46.0
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -102,8 +102,10 @@ class MCPServer {
102
102
  for (const tool of this.toolList) {
103
103
  this.tools.set(tool.name, {
104
104
  name: tool.name,
105
+ title: tool.title,
105
106
  description: tool.description,
106
107
  inputSchema: tool.inputSchema,
108
+ annotations: tool.annotations,
107
109
  // Don't include security at the tool level
108
110
  });
109
111
  }
@@ -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.45.0
55
+ * Generated from OpenAPI spec version 1.46.0
56
56
  */
57
57
  class MCPServer {
58
58
  private readonly name: string;
@@ -133,8 +133,10 @@ class MCPServer {
133
133
  for (const tool of this.toolList) {
134
134
  this.tools.set(tool.name, {
135
135
  name: tool.name,
136
+ title: tool.title,
136
137
  description: tool.description,
137
138
  inputSchema: tool.inputSchema,
139
+ annotations: tool.annotations,
138
140
  // Don't include security at the tool level
139
141
  });
140
142
  }
@@ -2,6 +2,12 @@
2
2
  export default [
3
3
  {
4
4
  "name": "agency-hosting_deployNodeStaticWebsite",
5
+ "title": "Deploy node-static website",
6
+ "annotations": {
7
+ "title": "Deploy node-static website",
8
+ "readOnlyHint": false,
9
+ "destructiveHint": true
10
+ },
5
11
  "topic": "agency-hosting",
6
12
  "description": "Deploy a node-static Agency Plan (h5g) website from an archive file. WARNING: this overwrites the website's existing contents and cannot be undone — always confirm with the user before proceeding. Use this for Agency Plan websites of type node-static (a Node.js-built static site that requires a build step or a plain simple static site). The tool resolves the website from its domain, uploads the archive to the website's file browser over TUS, and triggers the build-assets process which builds the site and deploys the result to public_html. This operation is synchronous: the build and deployment complete before the tool returns, so the website is live as soon as the tool finishes successfully — there is no separate asynchronous build to wait for or poll. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the archive yourself, this tool does it end-to-end. For plain PHP applications that should be extracted as-is, use agencyHosting_deployPhpApplication instead. The website UID is automatically resolved from the domain.",
7
13
  "method": "",
@@ -36,6 +42,12 @@ export default [
36
42
  },
37
43
  {
38
44
  "name": "agency-hosting_deployPhpApplication",
45
+ "title": "Deploy PHP application",
46
+ "annotations": {
47
+ "title": "Deploy PHP application",
48
+ "readOnlyHint": false,
49
+ "destructiveHint": true
50
+ },
39
51
  "topic": "agency-hosting",
40
52
  "description": "Deploy a PHP (or other non-build) Agency Plan (h5g) website from an archive file. WARNING: this overwrites the website's existing contents and cannot be undone — always confirm with the user before proceeding. Use this for Agency Plan websites where the archive contents should be extracted and served as-is with no build step (e.g., PHP applications). The tool resolves the website from its domain, uploads the archive to the website's file browser over TUS, and triggers the import-archive process which overwrites the website contents with the archive contents. This operation is synchronous: the archive is extracted and deployed before the tool returns, so the website is live as soon as the tool finishes successfully — there is no separate asynchronous build to wait for or poll. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the archive yourself, this tool does it end-to-end. For node-static websites that require a build step, use agencyHosting_deployNodeStaticWebsite instead. The website UID is automatically resolved from the domain.",
41
53
  "method": "",
@@ -70,6 +82,12 @@ export default [
70
82
  },
71
83
  {
72
84
  "name": "agency-hosting_listAvailableDatacentersV1",
85
+ "title": "List available datacenters",
86
+ "annotations": {
87
+ "title": "List available datacenters",
88
+ "readOnlyHint": true,
89
+ "destructiveHint": false
90
+ },
73
91
  "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.",
74
92
  "method": "GET",
75
93
  "path": "/api/agency-hosting/v1/orders/{order_id}/datacenters",
@@ -94,6 +112,13 @@ export default [
94
112
  },
95
113
  {
96
114
  "name": "agency-hosting_changeWebsiteDomainV1",
115
+ "title": "Change website domain",
116
+ "annotations": {
117
+ "title": "Change website domain",
118
+ "readOnlyHint": false,
119
+ "destructiveHint": true,
120
+ "idempotentHint": true
121
+ },
97
122
  "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.",
98
123
  "method": "PUT",
99
124
  "path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{from_domain}",
@@ -128,6 +153,12 @@ export default [
128
153
  },
129
154
  {
130
155
  "name": "agency-hosting_linkDomainToWebsiteV1",
156
+ "title": "Link domain to website",
157
+ "annotations": {
158
+ "title": "Link domain to website",
159
+ "readOnlyHint": false,
160
+ "destructiveHint": false
161
+ },
131
162
  "description": "Links a domain to the specified Agency Plan website so it can serve traffic for that domain.",
132
163
  "method": "POST",
133
164
  "path": "/api/agency-hosting/v1/websites/{website_uid}/domains",
@@ -157,6 +188,12 @@ export default [
157
188
  },
158
189
  {
159
190
  "name": "agency-hosting_listDomainsV1",
191
+ "title": "List domains",
192
+ "annotations": {
193
+ "title": "List domains",
194
+ "readOnlyHint": true,
195
+ "destructiveHint": false
196
+ },
160
197
  "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.",
161
198
  "method": "GET",
162
199
  "path": "/api/agency-hosting/v1/domains",
@@ -191,6 +228,13 @@ export default [
191
228
  },
192
229
  {
193
230
  "name": "agency-hosting_unlinkDomainFromWebsiteV1",
231
+ "title": "Unlink domain from website",
232
+ "annotations": {
233
+ "title": "Unlink domain from website",
234
+ "readOnlyHint": false,
235
+ "destructiveHint": true,
236
+ "idempotentHint": true
237
+ },
194
238
  "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.",
195
239
  "method": "DELETE",
196
240
  "path": "/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}",
@@ -220,6 +264,12 @@ export default [
220
264
  },
221
265
  {
222
266
  "name": "agency-hosting_generateUploadURLV1",
267
+ "title": "Generate upload URL",
268
+ "annotations": {
269
+ "title": "Generate upload URL",
270
+ "readOnlyHint": false,
271
+ "destructiveHint": false
272
+ },
223
273
  "description": "Generate a file browser upload URL with authentication credentials for uploading files\nto an Agency Plan website's file storage.\n\nReturns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the\nwebsite's file storage via the TUS resumable upload protocol (TUS 1.0.0). Send\n`X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below.\n\n1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers\n `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`.\n2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or\n `PATCH` requests with an `upload-offset` header tracking progress) until complete.\n\n`relative_file_path` is the destination path inside the website's file storage, e.g.\n`app.zip`.\n\nInstead of a TUS client, plain `curl` also works:\n```\nFILE=app.zip\nSIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux\n\ncurl -i -X POST \"{url}/${FILE}?override=true\" \\\n -H \"X-Auth: {auth_key}\" \\\n -H \"X-Auth-Rest: {rest_auth_key}\" \\\n -H \"Tus-Resumable: 1.0.0\" \\\n -H \"Upload-Length: ${SIZE}\" \\\n -H \"Upload-Offset: 0\"\n# -> 201 Created\n\ncurl -i -X PATCH \"{url}/${FILE}?override=true\" \\\n -H \"X-Auth: {auth_key}\" \\\n -H \"X-Auth-Rest: {rest_auth_key}\" \\\n -H \"Tus-Resumable: 1.0.0\" \\\n -H \"Content-Type: application/offset+octet-stream\" \\\n -H \"Upload-Offset: 0\" \\\n --data-binary \"@${FILE}\"\n# -> 204 No Content, Upload-Offset response header equals SIZE when done\n```",
224
274
  "method": "POST",
225
275
  "path": "/api/agency-hosting/v1/websites/{website_uid}/files/upload-urls",
@@ -244,6 +294,12 @@ export default [
244
294
  },
245
295
  {
246
296
  "name": "agency-hosting_importWebsiteFromArchiveV1",
297
+ "title": "Import website from archive",
298
+ "annotations": {
299
+ "title": "Import website from archive",
300
+ "readOnlyHint": false,
301
+ "destructiveHint": true
302
+ },
247
303
  "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.",
248
304
  "method": "POST",
249
305
  "path": "/api/agency-hosting/v1/websites/{website_uid}/files/import-archive",
@@ -273,6 +329,12 @@ export default [
273
329
  },
274
330
  {
275
331
  "name": "agency-hosting_listAgencyPlanOrderDiskUsageMetricsV1",
332
+ "title": "List Agency Plan order disk usage metrics",
333
+ "annotations": {
334
+ "title": "List Agency Plan order disk usage metrics",
335
+ "readOnlyHint": true,
336
+ "destructiveHint": false
337
+ },
276
338
  "description": "Returns aggregated disk and inode usage for the Agency Plan order over the\nselected time frame, plus the plan quotas. Figures cover the whole order\naccount. Values may be up to one hour stale. CPU, memory, and process usage\nare on the resource-usage-metrics endpoint.",
277
339
  "method": "GET",
278
340
  "path": "/api/agency-hosting/v1/orders/{order_id}/disk-usage-metrics",
@@ -307,6 +369,12 @@ export default [
307
369
  },
308
370
  {
309
371
  "name": "agency-hosting_listOrdersV1",
372
+ "title": "List orders",
373
+ "annotations": {
374
+ "title": "List orders",
375
+ "readOnlyHint": true,
376
+ "destructiveHint": false
377
+ },
310
378
  "description": "Returns a paginated list of Agency Plan orders accessible to the authenticated client.",
311
379
  "method": "GET",
312
380
  "path": "/api/agency-hosting/v1/orders",
@@ -333,6 +401,12 @@ export default [
333
401
  },
334
402
  {
335
403
  "name": "agency-hosting_listOrderResourceUsageMetricsV1",
404
+ "title": "List order resource usage metrics",
405
+ "annotations": {
406
+ "title": "List order resource usage metrics",
407
+ "readOnlyHint": true,
408
+ "destructiveHint": false
409
+ },
336
410
  "description": "Returns aggregated CPU, memory, and process usage for the Agency Plan order\nover the selected time frame, plus the plan quotas and a per-website\nbreakdown. Each website is identified by uid. Suspended and deleted websites\nare excluded from both the order totals and the per-website breakdown.\nValues may be up to one hour stale. Disk and inode usage are on the\ndisk-usage-metrics endpoint.",
337
411
  "method": "GET",
338
412
  "path": "/api/agency-hosting/v1/orders/{order_id}/resource-usage-metrics",
@@ -368,6 +442,12 @@ export default [
368
442
  },
369
443
  {
370
444
  "name": "agency-hosting_listPHPExtensionsForAWebsiteV1",
445
+ "title": "List PHP extensions for a website",
446
+ "annotations": {
447
+ "title": "List PHP extensions for a website",
448
+ "readOnlyHint": true,
449
+ "destructiveHint": false
450
+ },
371
451
  "description": "Lists every PHP extension available to an Agency Plan website and whether it is currently enabled.",
372
452
  "method": "GET",
373
453
  "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/extensions",
@@ -392,6 +472,13 @@ export default [
392
472
  },
393
473
  {
394
474
  "name": "agency-hosting_replaceWebsitePHPExtensionsV1",
475
+ "title": "Replace website PHP extensions",
476
+ "annotations": {
477
+ "title": "Replace website PHP extensions",
478
+ "readOnlyHint": false,
479
+ "destructiveHint": true,
480
+ "idempotentHint": true
481
+ },
395
482
  "description": "Replaces the set of PHP extensions enabled on an Agency Plan website with the ones provided. Any toggleable extension not in the request is disabled, so call the extensions endpoint first and send the full desired set. Extensions compiled into PHP, reported with the \"built-in\" state, are always active and are unaffected.",
396
483
  "method": "PUT",
397
484
  "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/extensions",
@@ -425,6 +512,12 @@ export default [
425
512
  },
426
513
  {
427
514
  "name": "agency-hosting_listPHPOptionsForAWebsiteV1",
515
+ "title": "List PHP options for a website",
516
+ "annotations": {
517
+ "title": "List PHP options for a website",
518
+ "readOnlyHint": true,
519
+ "destructiveHint": false
520
+ },
428
521
  "description": "Lists the php.ini directives that can be configured for an Agency Plan website, each with its default, the value currently in effect, and the values it accepts.",
429
522
  "method": "GET",
430
523
  "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/options",
@@ -449,6 +542,13 @@ export default [
449
542
  },
450
543
  {
451
544
  "name": "agency-hosting_replaceWebsitePHPOptionsV1",
545
+ "title": "Replace website PHP options",
546
+ "annotations": {
547
+ "title": "Replace website PHP options",
548
+ "readOnlyHint": false,
549
+ "destructiveHint": true,
550
+ "idempotentHint": true
551
+ },
452
552
  "description": "Replaces the custom php.ini values on an Agency Plan website with the ones provided. Any option not in the request is reset to its default, so call the options endpoint first and send the full desired set. Sending an empty array resets every option to its default.",
453
553
  "method": "PUT",
454
554
  "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/options",
@@ -496,6 +596,12 @@ export default [
496
596
  },
497
597
  {
498
598
  "name": "agency-hosting_listAvailablePHPVersionsForAnOrderV1",
599
+ "title": "List available PHP versions for an order",
600
+ "annotations": {
601
+ "title": "List available PHP versions for an order",
602
+ "readOnlyHint": true,
603
+ "destructiveHint": false
604
+ },
499
605
  "description": "Lists the PHP versions available to websites created under an Agency Plan order, determined by the server the order is hosted on. Use this before creating a website; for a website that already exists, call the website-scoped versions endpoint instead.",
500
606
  "method": "GET",
501
607
  "path": "/api/agency-hosting/v1/orders/{order_id}/websites/php-settings/versions",
@@ -520,6 +626,12 @@ export default [
520
626
  },
521
627
  {
522
628
  "name": "agency-hosting_listAvailablePHPVersionsForAWebsiteV1",
629
+ "title": "List available PHP versions for a website",
630
+ "annotations": {
631
+ "title": "List available PHP versions for a website",
632
+ "readOnlyHint": true,
633
+ "destructiveHint": false
634
+ },
523
635
  "description": "Lists the PHP versions an Agency Plan website can be switched to. The version the website is currently running is returned as settings.php.version by the website details endpoint.",
524
636
  "method": "GET",
525
637
  "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/versions",
@@ -544,6 +656,13 @@ export default [
544
656
  },
545
657
  {
546
658
  "name": "agency-hosting_updateWebsitePHPVersionV1",
659
+ "title": "Update website PHP version",
660
+ "annotations": {
661
+ "title": "Update website PHP version",
662
+ "readOnlyHint": false,
663
+ "destructiveHint": true,
664
+ "idempotentHint": true
665
+ },
547
666
  "description": "Switches an Agency Plan website to a different PHP version. Call the available versions endpoint first to see which versions can be selected. The website restarts on the new version, so requests served during the switch may fail and code that is incompatible with the target version will break.",
548
667
  "method": "PATCH",
549
668
  "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/version",
@@ -573,6 +692,12 @@ export default [
573
692
  },
574
693
  {
575
694
  "name": "agency-hosting_createANewWebsiteV1",
695
+ "title": "Create a new website",
696
+ "annotations": {
697
+ "title": "Create a new website",
698
+ "readOnlyHint": false,
699
+ "destructiveHint": false
700
+ },
576
701
  "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.",
577
702
  "method": "POST",
578
703
  "path": "/api/agency-hosting/v1/orders/{order_id}/websites/setups",
@@ -724,6 +849,12 @@ export default [
724
849
  },
725
850
  {
726
851
  "name": "agency-hosting_getWebsiteSetupStatusV1",
852
+ "title": "Get website setup status",
853
+ "annotations": {
854
+ "title": "Get website setup status",
855
+ "readOnlyHint": true,
856
+ "destructiveHint": false
857
+ },
727
858
  "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.",
728
859
  "method": "GET",
729
860
  "path": "/api/agency-hosting/v1/orders/{order_id}/websites/setups/{setup_uuid}",
@@ -753,6 +884,12 @@ export default [
753
884
  },
754
885
  {
755
886
  "name": "agency-hosting_buildWebsiteNodeJSAssetsV1",
887
+ "title": "Build website NodeJS assets",
888
+ "annotations": {
889
+ "title": "Build website NodeJS assets",
890
+ "readOnlyHint": false,
891
+ "destructiveHint": false
892
+ },
756
893
  "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.",
757
894
  "method": "POST",
758
895
  "path": "/api/agency-hosting/v1/websites/{website_uid}/build-assets",
@@ -782,6 +919,13 @@ export default [
782
919
  },
783
920
  {
784
921
  "name": "agency-hosting_clearWebsiteCacheV1",
922
+ "title": "Clear website cache",
923
+ "annotations": {
924
+ "title": "Clear website cache",
925
+ "readOnlyHint": false,
926
+ "destructiveHint": true,
927
+ "idempotentHint": true
928
+ },
785
929
  "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.",
786
930
  "method": "DELETE",
787
931
  "path": "/api/agency-hosting/v1/websites/{website_uid}/cache",
@@ -806,6 +950,12 @@ export default [
806
950
  },
807
951
  {
808
952
  "name": "agency-hosting_listWebsiteCronJobsV1",
953
+ "title": "List website cron jobs",
954
+ "annotations": {
955
+ "title": "List website cron jobs",
956
+ "readOnlyHint": true,
957
+ "destructiveHint": false
958
+ },
809
959
  "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.",
810
960
  "method": "GET",
811
961
  "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
@@ -838,6 +988,12 @@ export default [
838
988
  },
839
989
  {
840
990
  "name": "agency-hosting_createWebsiteCronJobV1",
991
+ "title": "Create website cron job",
992
+ "annotations": {
993
+ "title": "Create website cron job",
994
+ "readOnlyHint": false,
995
+ "destructiveHint": false
996
+ },
841
997
  "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.",
842
998
  "method": "POST",
843
999
  "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
@@ -872,6 +1028,13 @@ export default [
872
1028
  },
873
1029
  {
874
1030
  "name": "agency-hosting_deleteWebsiteCronJobV1",
1031
+ "title": "Delete website cron job",
1032
+ "annotations": {
1033
+ "title": "Delete website cron job",
1034
+ "readOnlyHint": false,
1035
+ "destructiveHint": true,
1036
+ "idempotentHint": true
1037
+ },
875
1038
  "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.",
876
1039
  "method": "DELETE",
877
1040
  "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs/{uuid}",
@@ -901,6 +1064,12 @@ export default [
901
1064
  },
902
1065
  {
903
1066
  "name": "agency-hosting_listWebsiteDatabasesV1",
1067
+ "title": "List website databases",
1068
+ "annotations": {
1069
+ "title": "List website databases",
1070
+ "readOnlyHint": true,
1071
+ "destructiveHint": false
1072
+ },
904
1073
  "description": "Returns a paginated list of MySQL databases created for an Agency Plan website.\n\nEach entry includes the database's non-system users.",
905
1074
  "method": "GET",
906
1075
  "path": "/api/agency-hosting/v1/websites/{website_uid}/databases",
@@ -933,6 +1102,12 @@ export default [
933
1102
  },
934
1103
  {
935
1104
  "name": "agency-hosting_createWebsiteDatabaseV1",
1105
+ "title": "Create website database",
1106
+ "annotations": {
1107
+ "title": "Create website database",
1108
+ "readOnlyHint": false,
1109
+ "destructiveHint": false
1110
+ },
936
1111
  "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.",
937
1112
  "method": "POST",
938
1113
  "path": "/api/agency-hosting/v1/websites/{website_uid}/databases",
@@ -972,6 +1147,13 @@ export default [
972
1147
  },
973
1148
  {
974
1149
  "name": "agency-hosting_deleteWebsiteDatabaseV1",
1150
+ "title": "Delete website database",
1151
+ "annotations": {
1152
+ "title": "Delete website database",
1153
+ "readOnlyHint": false,
1154
+ "destructiveHint": true,
1155
+ "idempotentHint": true
1156
+ },
975
1157
  "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.",
976
1158
  "method": "DELETE",
977
1159
  "path": "/api/agency-hosting/v1/websites/{website_uid}/databases/{database_name}",
@@ -1001,6 +1183,12 @@ export default [
1001
1183
  },
1002
1184
  {
1003
1185
  "name": "agency-hosting_createWebsiteDatabaseUserV1",
1186
+ "title": "Create website database user",
1187
+ "annotations": {
1188
+ "title": "Create website database user",
1189
+ "readOnlyHint": false,
1190
+ "destructiveHint": false
1191
+ },
1004
1192
  "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.",
1005
1193
  "method": "POST",
1006
1194
  "path": "/api/agency-hosting/v1/websites/{website_uid}/databases/{database_name}/users",
@@ -1044,6 +1232,13 @@ export default [
1044
1232
  },
1045
1233
  {
1046
1234
  "name": "agency-hosting_deleteWebsiteDatabaseUserV1",
1235
+ "title": "Delete website database user",
1236
+ "annotations": {
1237
+ "title": "Delete website database user",
1238
+ "readOnlyHint": false,
1239
+ "destructiveHint": true,
1240
+ "idempotentHint": true
1241
+ },
1047
1242
  "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.",
1048
1243
  "method": "DELETE",
1049
1244
  "path": "/api/agency-hosting/v1/websites/{website_uid}/databases/{database_name}/users/{database_user_name}",
@@ -1078,6 +1273,12 @@ export default [
1078
1273
  },
1079
1274
  {
1080
1275
  "name": "agency-hosting_getWebsiteDetailsV1",
1276
+ "title": "Get website details",
1277
+ "annotations": {
1278
+ "title": "Get website details",
1279
+ "readOnlyHint": true,
1280
+ "destructiveHint": false
1281
+ },
1081
1282
  "description": "Retrieves detailed information about a specific Agency Plan website, including configuration,\nstatus, metadata, hosting plan details, and resource quotas.",
1082
1283
  "method": "GET",
1083
1284
  "path": "/api/agency-hosting/v1/websites/{website_uid}",
@@ -1102,6 +1303,13 @@ export default [
1102
1303
  },
1103
1304
  {
1104
1305
  "name": "agency-hosting_deleteWebsiteV1",
1306
+ "title": "Delete website",
1307
+ "annotations": {
1308
+ "title": "Delete website",
1309
+ "readOnlyHint": false,
1310
+ "destructiveHint": true,
1311
+ "idempotentHint": true
1312
+ },
1105
1313
  "description": "Permanently deletes an Agency Plan website. Deletion is processed asynchronously: the\nwebsite is immediately transitioned to a deleting state and the underlying server\nresources are removed in the background.",
1106
1314
  "method": "DELETE",
1107
1315
  "path": "/api/agency-hosting/v1/websites/{website_uid}",
@@ -1126,6 +1334,12 @@ export default [
1126
1334
  },
1127
1335
  {
1128
1336
  "name": "agency-hosting_listAgencyPlanWebsitesV1",
1337
+ "title": "List Agency Plan websites",
1338
+ "annotations": {
1339
+ "title": "List Agency Plan websites",
1340
+ "readOnlyHint": true,
1341
+ "destructiveHint": false
1342
+ },
1129
1343
  "description": "Retrieve a paginated list of Agency Plan websites (H5G, Builder, and Horizons) accessible to\nthe 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\nThe response shape differs per platform — see the `platform` field on each item.\n\nUse `website_types` to list only websites of a given detected type, e.g. only\nWordPress websites (`website_types=wordpress`) or only Node.js websites\n(`website_types=nodejs`). Combine with `order_ids`, `states`, or `domain` for more\ntargeted results.",
1130
1344
  "method": "GET",
1131
1345
  "path": "/api/agency-hosting/v1/websites",
@@ -1194,6 +1408,12 @@ export default [
1194
1408
  },
1195
1409
  {
1196
1410
  "name": "agency-hosting_listWebsiteProcessesV1",
1411
+ "title": "List website processes",
1412
+ "annotations": {
1413
+ "title": "List website processes",
1414
+ "readOnlyHint": true,
1415
+ "destructiveHint": false
1416
+ },
1197
1417
  "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.",
1198
1418
  "method": "GET",
1199
1419
  "path": "/api/agency-hosting/v1/websites/{website_uid}/processes",
@@ -1218,6 +1438,13 @@ export default [
1218
1438
  },
1219
1439
  {
1220
1440
  "name": "agency-hosting_changeWordPressVersionV1",
1441
+ "title": "Change WordPress version",
1442
+ "annotations": {
1443
+ "title": "Change WordPress version",
1444
+ "readOnlyHint": false,
1445
+ "destructiveHint": true,
1446
+ "idempotentHint": true
1447
+ },
1221
1448
  "description": "Changes the installed WordPress core version on an Agency Plan website to one of the versions available for installation.",
1222
1449
  "method": "PATCH",
1223
1450
  "path": "/api/agency-hosting/v1/websites/{website_uid}/wordpress/settings/version",
@@ -1247,6 +1474,12 @@ export default [
1247
1474
  },
1248
1475
  {
1249
1476
  "name": "agency-hosting_getWordPressSettingsV1",
1477
+ "title": "Get WordPress settings",
1478
+ "annotations": {
1479
+ "title": "Get WordPress settings",
1480
+ "readOnlyHint": true,
1481
+ "destructiveHint": false
1482
+ },
1250
1483
  "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.",
1251
1484
  "method": "GET",
1252
1485
  "path": "/api/agency-hosting/v1/websites/{website_uid}/wordpress/settings",
@@ -1271,6 +1504,12 @@ export default [
1271
1504
  },
1272
1505
  {
1273
1506
  "name": "agency-hosting_listAvailableWordPressVersionsV1",
1507
+ "title": "List available WordPress versions",
1508
+ "annotations": {
1509
+ "title": "List available WordPress versions",
1510
+ "readOnlyHint": true,
1511
+ "destructiveHint": false
1512
+ },
1274
1513
  "description": "Lists the WordPress core versions available for installation on an Agency Plan website.",
1275
1514
  "method": "GET",
1276
1515
  "path": "/api/agency-hosting/v1/websites/{website_uid}/wordpress/settings/versions",