@hostinger/mcp 3.1.0 → 3.2.1

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 (64) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +47 -301
  3. package/gemini-extension.json +1 -1
  4. package/package.json +2 -1
  5. package/server.json +2 -2
  6. package/skills/audit-hosting/SKILL.md +1 -1
  7. package/skills/deploy-to-hosting/SKILL.md +32 -15
  8. package/skills/headless/references/DATABASE.md +3 -3
  9. package/skills/headless/references/DEPLOYMENT.md +10 -12
  10. package/skills/migrate-to-hosting/SKILL.md +3 -3
  11. package/skills/troubleshoot-website/SKILL.md +2 -2
  12. package/src/core/catalog.js +4 -0
  13. package/src/core/catalog.ts +6 -1
  14. package/src/core/instructions.agency-hosting.js +2 -0
  15. package/src/core/instructions.agency-hosting.ts +3 -0
  16. package/src/core/instructions.js +1 -1
  17. package/src/core/instructions.ts +1 -1
  18. package/src/core/runtime.js +1925 -1228
  19. package/src/core/runtime.ts +1891 -1193
  20. package/src/core/skills.js +18 -18
  21. package/src/core/skills.ts +18 -18
  22. package/src/core/tools/agency-hosting.ts +2 -0
  23. package/src/core/tools/agent-readiness.ts +2 -0
  24. package/src/core/tools/all.js +223 -30
  25. package/src/core/tools/all.ts +225 -30
  26. package/src/core/tools/billing.ts +2 -0
  27. package/src/core/tools/dns.ts +2 -0
  28. package/src/core/tools/domains.ts +2 -0
  29. package/src/core/tools/ecommerce.ts +2 -0
  30. package/src/core/tools/horizons.ts +2 -0
  31. package/src/core/tools/hosting.js +207 -25
  32. package/src/core/tools/hosting.ts +209 -25
  33. package/src/core/tools/mail.ts +2 -0
  34. package/src/core/tools/reach.ts +2 -0
  35. package/src/core/tools/vps.ts +2 -0
  36. package/src/core/tools/wordpress.js +10 -2
  37. package/src/core/tools/wordpress.ts +12 -2
  38. package/src/servers/agency-hosting.js +2 -2
  39. package/src/servers/agency-hosting.ts +2 -2
  40. package/src/servers/agent-readiness.js +1 -1
  41. package/src/servers/agent-readiness.ts +1 -1
  42. package/src/servers/all.js +1 -1
  43. package/src/servers/all.ts +1 -1
  44. package/src/servers/billing.js +1 -1
  45. package/src/servers/billing.ts +1 -1
  46. package/src/servers/dns.js +1 -1
  47. package/src/servers/dns.ts +1 -1
  48. package/src/servers/domains.js +1 -1
  49. package/src/servers/domains.ts +1 -1
  50. package/src/servers/ecommerce.js +1 -1
  51. package/src/servers/ecommerce.ts +1 -1
  52. package/src/servers/horizons.js +1 -1
  53. package/src/servers/horizons.ts +1 -1
  54. package/src/servers/hosting.js +1 -1
  55. package/src/servers/hosting.ts +1 -1
  56. package/src/servers/mail.js +1 -1
  57. package/src/servers/mail.ts +1 -1
  58. package/src/servers/reach.js +1 -1
  59. package/src/servers/reach.ts +1 -1
  60. package/src/servers/vps.js +1 -1
  61. package/src/servers/vps.ts +1 -1
  62. package/src/servers/wordpress.js +1 -1
  63. package/src/servers/wordpress.ts +1 -1
  64. package/types.d.ts +131 -22
@@ -1,5 +1,165 @@
1
1
  // Auto-generated tool list for group: hosting
2
2
  export default [
3
+ {
4
+ "name": "hosting_deploy",
5
+ "title": "Deploy website, nodejs app, WordPress plugin or theme",
6
+ "annotations": {
7
+ "title": "Deploy website, nodejs app, WordPress plugin or theme",
8
+ "readOnlyHint": false,
9
+ "destructiveHint": true
10
+ },
11
+ "topic": "hosting",
12
+ "description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
13
+ "method": "",
14
+ "path": "",
15
+ "inputSchema": {
16
+ "type": "object",
17
+ "properties": {
18
+ "domain": {
19
+ "type": "string",
20
+ "description": "Domain name of the website to deploy to (e.g., example.com)"
21
+ },
22
+ "path": {
23
+ "type": "string",
24
+ "description": "Local directory (preferred; it is archived for you, skipping node_modules, .git and .env files, but not reading .gitignore, so keep build output out) or archive (zip, tar, tar.gz, tgz, 7z, gz, gzip). Not together with git."
25
+ },
26
+ "git": {
27
+ "type": "object",
28
+ "description": "Deploy a repository branch instead of local files. Not together with path.",
29
+ "properties": {
30
+ "repository": {
31
+ "type": "string",
32
+ "description": "owner/name, e.g. hostinger/my-site (GitLab group paths may have more slashes)"
33
+ },
34
+ "branch": {
35
+ "type": "string",
36
+ "description": "Branch to deploy, e.g. main"
37
+ },
38
+ "directory": {
39
+ "type": "string",
40
+ "description": "Folder under the website's document root to deploy into (static deploys only; default the document root), e.g. my-api"
41
+ }
42
+ },
43
+ "required": [
44
+ "repository",
45
+ "branch"
46
+ ]
47
+ },
48
+ "type": {
49
+ "type": "string",
50
+ "enum": [
51
+ "static",
52
+ "nodejs",
53
+ "wordpress-site",
54
+ "wordpress-plugin",
55
+ "wordpress-theme"
56
+ ],
57
+ "description": "What is deployed. Detected for a directory (a Plugin Name: or Theme Name: header, wp-config.php or wp-content, a package.json with a build or start script); required for an archive, when detection reports ambiguity, and for a Git deploy unless the site already runs a Node.js app or Node.js settings are passed. static also covers PHP."
58
+ },
59
+ "slug": {
60
+ "type": "string",
61
+ "description": "WordPress plugin or theme slug: lower-case letters, digits, - and _ (default: the directory name)"
62
+ },
63
+ "activate": {
64
+ "type": "boolean",
65
+ "description": "Activate the theme after deployment (WordPress themes only, default: false)"
66
+ },
67
+ "databaseDump": {
68
+ "type": "string",
69
+ "description": "Path to a .sql dump; required for a WordPress site import"
70
+ },
71
+ "nodeVersion": {
72
+ "type": "integer",
73
+ "enum": [
74
+ 18,
75
+ 20,
76
+ 22,
77
+ 24
78
+ ],
79
+ "description": "Node.js major version (default: detected from an archive, or stored for the site, else 22; set it from the project's engines for a Git deploy)"
80
+ },
81
+ "appType": {
82
+ "type": "string",
83
+ "description": "Node.js framework, e.g. next, nuxt, vite, express, react, vue, astro; overrides detection or stored settings"
84
+ },
85
+ "rootDirectory": {
86
+ "type": "string",
87
+ "description": "Directory with the package.json, relative to the site root (default .)"
88
+ },
89
+ "outputDirectory": {
90
+ "type": "string",
91
+ "description": "Build output directory relative to the root directory, e.g. dist"
92
+ },
93
+ "buildScript": {
94
+ "type": "string",
95
+ "description": "The package.json script that builds the app, e.g. build"
96
+ },
97
+ "entryFile": {
98
+ "type": "string",
99
+ "description": "Entry file of a server app. Relative to the root directory for express, fastify, hono, react-router and other; for a compiled (TypeScript) app give the built file, e.g. dist/server.js, because detection guesses a root-level file. Relative to the output directory for nest, nuxt, nitro, astro and svelte-kit (main.js, not dist/main.js). Ignored for next."
100
+ },
101
+ "packageManager": {
102
+ "type": "string",
103
+ "enum": [
104
+ "npm",
105
+ "yarn",
106
+ "pnpm"
107
+ ],
108
+ "description": "Package manager used to install dependencies"
109
+ }
110
+ },
111
+ "required": [
112
+ "domain"
113
+ ]
114
+ },
115
+ "security": [],
116
+ "custom": true,
117
+ "replacesHidden": true,
118
+ "templateFile": "deploy.template.js",
119
+ "templateFileTS": "deploy.template.ts",
120
+ "handlerMethod": "handleHostingDeploy",
121
+ "group": "hosting"
122
+ },
123
+ {
124
+ "name": "hosting_get-deployment",
125
+ "title": "Get deployment status, build status, build logs and failure analysis",
126
+ "annotations": {
127
+ "title": "Get deployment status, build status, build logs and failure analysis",
128
+ "readOnlyHint": true,
129
+ "destructiveHint": false
130
+ },
131
+ "topic": "hosting",
132
+ "description": "Check deployment status, build status, build logs and why a build failed (failure analysis) for a website's nodejs (Node.js) deployment: the state of its latest build (or of buildUuid), the end of the build log, the failure analysis when the build failed, and the build settings and Git auto-deployment settings stored for the site. Use it after hosting_deploy starts a Node.js build, and to find out why a deployment failed. Poll until the build state is completed or failed, with growing pauses. The log comes back in full; pass fromLine (the lines count from the previous call) to read only new output. A website without Node.js builds returns build: null with an explanation, because static, PHP, plugin and theme deploys are complete when hosting_deploy returns, and a WordPress site import is ready a few minutes after it starts.",
133
+ "method": "",
134
+ "path": "",
135
+ "inputSchema": {
136
+ "type": "object",
137
+ "properties": {
138
+ "domain": {
139
+ "type": "string",
140
+ "description": "Domain name of the website (e.g., example.com)"
141
+ },
142
+ "buildUuid": {
143
+ "type": "string",
144
+ "description": "Build to inspect, as returned by hosting_deploy (default: the latest build)"
145
+ },
146
+ "fromLine": {
147
+ "type": "integer",
148
+ "description": "Read the build log from this line on (default 0, the whole log). Pass the lines count returned by the previous call to get only new output."
149
+ }
150
+ },
151
+ "required": [
152
+ "domain"
153
+ ]
154
+ },
155
+ "security": [],
156
+ "custom": true,
157
+ "replacesHidden": true,
158
+ "templateFile": "get-deployment.template.js",
159
+ "templateFileTS": "get-deployment.template.ts",
160
+ "handlerMethod": "handleHostingGetDeployment",
161
+ "group": "hosting"
162
+ },
3
163
  {
4
164
  "name": "hosting_import-wordpress-website",
5
165
  "title": "Import WordPress website",
@@ -39,7 +199,8 @@ export default [
39
199
  "templateFile": "import-wordpress.template.js",
40
200
  "templateFileTS": "import-wordpress.template.ts",
41
201
  "handlerMethod": "handleWordpressWebsiteImport",
42
- "group": "hosting"
202
+ "group": "hosting",
203
+ "hidden": true
43
204
  },
44
205
  {
45
206
  "name": "hosting_deploy-wordpress-plugin",
@@ -80,7 +241,8 @@ export default [
80
241
  "templateFile": "deploy-wordpress-plugin.template.js",
81
242
  "templateFileTS": "deploy-wordpress-plugin.template.ts",
82
243
  "handlerMethod": "handleWordpressPluginDeploy",
83
- "group": "hosting"
244
+ "group": "hosting",
245
+ "hidden": true
84
246
  },
85
247
  {
86
248
  "name": "hosting_deploy-wordpress-theme",
@@ -125,7 +287,8 @@ export default [
125
287
  "templateFile": "deploy-wordpress-theme.template.js",
126
288
  "templateFileTS": "deploy-wordpress-theme.template.ts",
127
289
  "handlerMethod": "handleWordpressThemeDeploy",
128
- "group": "hosting"
290
+ "group": "hosting",
291
+ "hidden": true
129
292
  },
130
293
  {
131
294
  "name": "hosting_deploy-js-application",
@@ -165,7 +328,8 @@ export default [
165
328
  "templateFile": "deploy-javascript-app.template.js",
166
329
  "templateFileTS": "deploy-javascript-app.template.ts",
167
330
  "handlerMethod": "handleJavascriptApplicationDeploy",
168
- "group": "hosting"
331
+ "group": "hosting",
332
+ "hidden": true
169
333
  },
170
334
  {
171
335
  "name": "hosting_deploy-static-website",
@@ -205,7 +369,8 @@ export default [
205
369
  "templateFile": "deploy-static-website.template.js",
206
370
  "templateFileTS": "deploy-static-website.template.ts",
207
371
  "handlerMethod": "handleStaticWebsiteDeploy",
208
- "group": "hosting"
372
+ "group": "hosting",
373
+ "hidden": true
209
374
  },
210
375
  {
211
376
  "name": "hosting_list-js-deployments",
@@ -257,7 +422,8 @@ export default [
257
422
  "templateFile": "list-javascript-deployments.template.js",
258
423
  "templateFileTS": "list-javascript-deployments.template.ts",
259
424
  "handlerMethod": "handleListJavascriptDeployments",
260
- "group": "hosting"
425
+ "group": "hosting",
426
+ "hidden": true
261
427
  },
262
428
  {
263
429
  "name": "hosting_show-js-deployment-logs",
@@ -297,7 +463,8 @@ export default [
297
463
  "templateFile": "show-javascript-deployment-logs.template.js",
298
464
  "templateFileTS": "show-javascript-deployment-logs.template.ts",
299
465
  "handlerMethod": "handleShowJsDeploymentLogs",
300
- "group": "hosting"
466
+ "group": "hosting",
467
+ "hidden": true
301
468
  },
302
469
  {
303
470
  "name": "hosting_cache_clear-website",
@@ -1324,7 +1491,8 @@ export default [
1324
1491
  "apiToken": []
1325
1492
  }
1326
1493
  ],
1327
- "group": "hosting"
1494
+ "group": "hosting",
1495
+ "hidden": true
1328
1496
  },
1329
1497
  {
1330
1498
  "name": "hosting_files_list-website-and-directories",
@@ -1472,7 +1640,8 @@ export default [
1472
1640
  "apiToken": []
1473
1641
  }
1474
1642
  ],
1475
- "group": "hosting"
1643
+ "group": "hosting",
1644
+ "hidden": true
1476
1645
  },
1477
1646
  {
1478
1647
  "name": "hosting_git_update-auto-deployment-settings",
@@ -1536,7 +1705,8 @@ export default [
1536
1705
  "apiToken": []
1537
1706
  }
1538
1707
  ],
1539
- "group": "hosting"
1708
+ "group": "hosting",
1709
+ "hidden": true
1540
1710
  },
1541
1711
  {
1542
1712
  "name": "hosting_git_delete-auto-deployment-settings",
@@ -1614,7 +1784,8 @@ export default [
1614
1784
  "apiToken": []
1615
1785
  }
1616
1786
  ],
1617
- "group": "hosting"
1787
+ "group": "hosting",
1788
+ "hidden": true
1618
1789
  },
1619
1790
  {
1620
1791
  "name": "hosting_git_list-installation-repositories",
@@ -1644,7 +1815,8 @@ export default [
1644
1815
  "apiToken": []
1645
1816
  }
1646
1817
  ],
1647
- "group": "hosting"
1818
+ "group": "hosting",
1819
+ "hidden": true
1648
1820
  },
1649
1821
  {
1650
1822
  "name": "hosting_git_deploy-website-repository",
@@ -2068,7 +2240,8 @@ export default [
2068
2240
  "apiToken": []
2069
2241
  }
2070
2242
  ],
2071
- "group": "hosting"
2243
+ "group": "hosting",
2244
+ "hidden": true
2072
2245
  },
2073
2246
  {
2074
2247
  "name": "hosting_nodejs_start-build",
@@ -2204,7 +2377,8 @@ export default [
2204
2377
  "apiToken": []
2205
2378
  }
2206
2379
  ],
2207
- "group": "hosting"
2380
+ "group": "hosting",
2381
+ "hidden": true
2208
2382
  },
2209
2383
  {
2210
2384
  "name": "hosting_nodejs_build-settings",
@@ -2239,7 +2413,8 @@ export default [
2239
2413
  "apiToken": []
2240
2414
  }
2241
2415
  ],
2242
- "group": "hosting"
2416
+ "group": "hosting",
2417
+ "hidden": true
2243
2418
  },
2244
2419
  {
2245
2420
  "name": "hosting_nodejs_update-build-settings",
@@ -2336,7 +2511,8 @@ export default [
2336
2511
  "apiToken": []
2337
2512
  }
2338
2513
  ],
2339
- "group": "hosting"
2514
+ "group": "hosting",
2515
+ "hidden": true
2340
2516
  },
2341
2517
  {
2342
2518
  "name": "hosting_nodejs_build-settings-from-archive",
@@ -2376,7 +2552,8 @@ export default [
2376
2552
  "apiToken": []
2377
2553
  }
2378
2554
  ],
2379
- "group": "hosting"
2555
+ "group": "hosting",
2556
+ "hidden": true
2380
2557
  },
2381
2558
  {
2382
2559
  "name": "hosting_nodejs_list-environment-variables",
@@ -2510,7 +2687,8 @@ export default [
2510
2687
  "apiToken": []
2511
2688
  }
2512
2689
  ],
2513
- "group": "hosting"
2690
+ "group": "hosting",
2691
+ "hidden": true
2514
2692
  },
2515
2693
  {
2516
2694
  "name": "hosting_nodejs_build",
@@ -2550,7 +2728,8 @@ export default [
2550
2728
  "apiToken": []
2551
2729
  }
2552
2730
  ],
2553
- "group": "hosting"
2731
+ "group": "hosting",
2732
+ "hidden": true
2554
2733
  },
2555
2734
  {
2556
2735
  "name": "hosting_nodejs_build-logs",
@@ -2594,7 +2773,8 @@ export default [
2594
2773
  "apiToken": []
2595
2774
  }
2596
2775
  ],
2597
- "group": "hosting"
2776
+ "group": "hosting",
2777
+ "hidden": true
2598
2778
  },
2599
2779
  {
2600
2780
  "name": "hosting_nodejs_runtime-logs",
@@ -2838,7 +3018,7 @@ export default [
2838
3018
  "readOnlyHint": true,
2839
3019
  "destructiveHint": false
2840
3020
  },
2841
- "description": "Returns the website setups started in the last 24 hours for the hosting accounts\naccessible to the authenticated client, newest first. Narrow the list with the\n`order_id`, `subscription_id` or `domain` filters.\n\nMeant for polling right after creating a website or starting a website setup: the\nwebsite shows up in the websites list before its server-side setup has finished, and\nwhile the setup is `running` endpoints that operate on that website may respond with\n`404` or `409`. Poll this endpoint with the `domain` filter every 10 to 15 seconds and\nwait for `status: completed` before uploading files, deploying or creating databases.\n`failed` means the setup stopped before finishing or has not reported progress for\nover an hour. Setups older than 24 hours are not listed.\n\n`type` is the website type the setup was started with (`wordpress`, `headless_wordpress`,\n`headless_ecommerce`, `headless_pocketbase`), or `null` for an empty website.",
3021
+ "description": "Returns the website setups started in the last 24 hours for the hosting accounts\naccessible to the authenticated client, newest first. Narrow the list with the\n`order_id`, `subscription_id` or `domain` filters.\n\nMeant for polling right after creating a website or starting a website setup: the\nwebsite shows up in the websites list before its server-side setup has finished, and\nwhile the setup is `running` endpoints that operate on that website may respond with\n`404` or `409`. Poll this endpoint with the `domain` filter every 10 to 15 seconds and\nwait for `status: completed` before uploading files, deploying or creating databases.\n`failed` means the setup stopped before finishing or has not reported progress for\nover an hour. Setups older than 24 hours are not listed.\n\n`type` is the website type the setup was started with (`wordpress`, `headless_empty`,\n`headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`), or `null` for an empty\nwebsite.",
2842
3022
  "method": "GET",
2843
3023
  "path": "/api/hosting/v1/onboardings",
2844
3024
  "inputSchema": {
@@ -2874,7 +3054,7 @@ export default [
2874
3054
  "readOnlyHint": false,
2875
3055
  "destructiveHint": false
2876
3056
  },
2877
- "description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint with the `domain` filter every 10 to 15 seconds and wait for\n`status: completed` before uploading files, deploying or creating databases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`) create a headless\nwebsite; `headless_wordpress` additionally installs WordPress into the `cms` directory\nof the website root with generated credentials.\n\nOmit `domain` to set the website up on a generated temporary free subdomain.\n\nWhen the order has no hosting account yet, the setup creates one first, in the datacenter\ngiven by `datacenter_code` or the order's default datacenter when it is omitted.\nReturns 404 when the order does not exist or is not accessible to the authenticated\nclient, and 409 with a `Retry-After` header while a setup for the same domain is still\nrunning.",
3057
+ "description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15\nseconds and wait for `status: completed` before uploading files, deploying or creating\ndatabases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)\ncreate a headless website; `headless_wordpress` additionally installs WordPress into the\n`cms` directory of the website root with generated credentials. `headless_empty` installs\nnothing: WordPress can be added later through\n`POST /api/hosting/v1/accounts/{username}/wordpress/installations`\n(`wordpress_installations_install`) with `type: headless`.\n\nOmit `domain` to set the website up on a generated temporary free subdomain. To know the\nfree subdomain before the call, so a timed-out call can be looked up and retried on the\nsame domain, generate one through `POST /api/hosting/v1/domains/free-subdomains`\n(`hosting_domains_generate-free-subdomain`) and send it as `domain`. It is accepted for\n24 hours, only from the client that generated it.\n\nWhen the order has no hosting account yet, the setup creates one first, in the datacenter\ngiven by `datacenter_code` or the order's default datacenter when it is omitted.\nReturns 404 when the order does not exist or is not accessible to the authenticated\nclient, and 409 with a `Retry-After` header while a setup for the same domain is still\nrunning.",
2878
3058
  "method": "POST",
2879
3059
  "path": "/api/hosting/v1/orders/{order_id}/onboardings",
2880
3060
  "inputSchema": {
@@ -2886,9 +3066,10 @@ export default [
2886
3066
  },
2887
3067
  "type": {
2888
3068
  "type": "string",
2889
- "description": "Website type. Omit or `null` for an empty website. `wordpress` installs WordPress in the website root and requires `wordpress`. The headless types (`headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`) create a headless website; `headless_wordpress` additionally installs WordPress into the `cms` directory with generated credentials.",
3069
+ "description": "Website type. Omit or `null` for an empty website. `wordpress` installs WordPress in the website root and requires `wordpress`. The headless types (`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`) create a headless website; `headless_wordpress` additionally installs WordPress into the `cms` directory with generated credentials. `headless_empty` installs nothing, so WordPress can be added later through `POST /api/hosting/v1/accounts/{username}/wordpress/installations` (`wordpress_installations_install`) with `type: headless`.",
2890
3070
  "enum": [
2891
3071
  "wordpress",
3072
+ "headless_empty",
2892
3073
  "headless_wordpress",
2893
3074
  "headless_ecommerce",
2894
3075
  "headless_pocketbase"
@@ -2896,7 +3077,7 @@ export default [
2896
3077
  },
2897
3078
  "domain": {
2898
3079
  "type": "string",
2899
- "description": "Customer-owned domain. Cannot start with \"www.\" and can have at most one subdomain level, e.g. `blog.example.com`. Omit or `null` to set the website up on a generated temporary free subdomain."
3080
+ "description": "Customer-owned domain, or a free subdomain you generated through `POST /api/hosting/v1/domains/free-subdomains` (`hosting_domains_generate-free-subdomain`) in the last 24 hours. Cannot start with \"www.\" and can have at most one subdomain level, e.g. `blog.example.com`. Omit or `null` to set the website up on a generated temporary free subdomain."
2900
3081
  },
2901
3082
  "datacenter_code": {
2902
3083
  "type": "string",
@@ -3665,7 +3846,8 @@ export default [
3665
3846
  "apiToken": []
3666
3847
  }
3667
3848
  ],
3668
- "group": "hosting"
3849
+ "group": "hosting",
3850
+ "hidden": true
3669
3851
  },
3670
3852
  {
3671
3853
  "name": "hosting_websites_delete",