@hostinger/mcp 3.2.0 → 3.2.2
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.
- package/CHANGELOG.md +30 -0
- package/README.md +97 -22
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/core/runtime.js +1 -1
- package/src/core/runtime.ts +1 -1
- package/src/core/tools/all.js +157 -7
- package/src/core/tools/all.ts +157 -7
- package/src/core/tools/hosting.js +147 -5
- package/src/core/tools/hosting.ts +147 -5
- package/src/core/tools/wordpress.js +10 -2
- package/src/core/tools/wordpress.ts +10 -2
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/agent-readiness.js +1 -1
- package/src/servers/agent-readiness.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
- package/types.d.ts +142 -23
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,36 @@ 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
|
+
## v3.2.2 — 2026-10-19
|
|
8
|
+
|
|
9
|
+
### Operations
|
|
10
|
+
|
|
11
|
+
- Added `hosting_cdn_disable` — Disable CDN
|
|
12
|
+
- Added `hosting_cdn_enable` — Enable CDN
|
|
13
|
+
- Added `hosting_cdn_purge-cache` — Purge CDN cache
|
|
14
|
+
- Added `hosting_cdn_status` — Get CDN status
|
|
15
|
+
- Changed the description of `hosting_cache_clear-website`
|
|
16
|
+
|
|
17
|
+
### Also in this release
|
|
18
|
+
|
|
19
|
+
- Documentation: `README.md`
|
|
20
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
21
|
+
- Build and packaging: `types.d.ts`
|
|
22
|
+
|
|
23
|
+
## v3.2.1 — 2026-10-19
|
|
24
|
+
|
|
25
|
+
### Operations
|
|
26
|
+
|
|
27
|
+
- Changed the description of `hosting_websites_list-setups`
|
|
28
|
+
- Changed the description and input schema of `hosting_websites_start-setup`
|
|
29
|
+
- Changed the description and input schema of `wordpress_installations_install`
|
|
30
|
+
|
|
31
|
+
### Also in this release
|
|
32
|
+
|
|
33
|
+
- Documentation: `README.md`
|
|
34
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
35
|
+
- Build and packaging: `types.d.ts`
|
|
36
|
+
|
|
7
37
|
## v3.2.0 — 2026-10-19
|
|
8
38
|
|
|
9
39
|
### Operations
|
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ pnpm update -g @hostinger/mcp
|
|
|
69
69
|
|
|
70
70
|
This package installs the following MCP server commands:
|
|
71
71
|
|
|
72
|
-
- `hostinger-api-mcp` — unified server over every operation (
|
|
72
|
+
- `hostinger-api-mcp` — unified server over every operation (403 total)
|
|
73
73
|
- `hostinger-agency-hosting-mcp` — 42 operations for agency-hosting
|
|
74
74
|
- `hostinger-agent-readiness-mcp` — 3 operations for agent-readiness
|
|
75
75
|
- `hostinger-billing-mcp` — 9 operations for billing
|
|
@@ -77,7 +77,7 @@ This package installs the following MCP server commands:
|
|
|
77
77
|
- `hostinger-domains-mcp` — 42 operations for domains
|
|
78
78
|
- `hostinger-ecommerce-mcp` — 29 operations for ecommerce
|
|
79
79
|
- `hostinger-horizons-mcp` — 6 operations for horizons
|
|
80
|
-
- `hostinger-hosting-mcp` —
|
|
80
|
+
- `hostinger-hosting-mcp` — 66 operations for hosting
|
|
81
81
|
- `hostinger-mail-mcp` — 38 operations for mail
|
|
82
82
|
- `hostinger-reach-mcp` — 56 operations for reach
|
|
83
83
|
- `hostinger-vps-mcp` — 67 operations for vps
|
|
@@ -1833,7 +1833,8 @@ Check deployment status, build status, build logs and why a build failed (failur
|
|
|
1833
1833
|
Permanently clears all server-side cache for the website at once. Use it when content was
|
|
1834
1834
|
updated and needs to be visible immediately, or after making major changes.
|
|
1835
1835
|
|
|
1836
|
-
Also purges the Hostinger CDN cache when CDN is enabled on the website.
|
|
1836
|
+
Also purges the Hostinger CDN cache when CDN is enabled on the website. To purge only the CDN
|
|
1837
|
+
cache and leave the server cache untouched, use `Purge CDN cache`. For a WordPress
|
|
1837
1838
|
installation living in a subdirectory, pass the directory query parameter to clear its cache.
|
|
1838
1839
|
|
|
1839
1840
|
- **Method**: `DELETE`
|
|
@@ -1861,6 +1862,61 @@ Does nothing if caching is already in the requested state.
|
|
|
1861
1862
|
- **Method**: `PATCH`
|
|
1862
1863
|
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/cache/toggle`
|
|
1863
1864
|
|
|
1865
|
+
#### hosting_cdn_disable
|
|
1866
|
+
|
|
1867
|
+
Turns off the Hostinger CDN for the website domain. Once DNS propagation completes, the
|
|
1868
|
+
website content is served directly from the origin server. Repeating the call is safe; when
|
|
1869
|
+
CDN is already disabled, it applies the DNS change again.
|
|
1870
|
+
|
|
1871
|
+
Returns 422 for platform-managed domains (for example `*.hostingersite.com` and
|
|
1872
|
+
`*.app-preview.com`), where CDN cannot be disabled, even when CDN is already off. Also returns
|
|
1873
|
+
422 while the account is being moved to another server (retry after the move finishes), or
|
|
1874
|
+
when the CDN provider rejects the change. Returns 404 when the domain is not a website on the
|
|
1875
|
+
account.
|
|
1876
|
+
|
|
1877
|
+
- **Method**: `POST`
|
|
1878
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/cdn/disable`
|
|
1879
|
+
|
|
1880
|
+
#### hosting_cdn_enable
|
|
1881
|
+
|
|
1882
|
+
Turns on the Hostinger CDN for the website domain, which speeds up page loads and reduces the
|
|
1883
|
+
load on the server. Works for the main domain, parked domains and subdomains of the account.
|
|
1884
|
+
|
|
1885
|
+
Enabling changes the domain's DNS records and usually takes a few seconds. After that, DNS
|
|
1886
|
+
propagation can take a few more minutes before visitors are served through the CDN.
|
|
1887
|
+
|
|
1888
|
+
Repeating the call is safe, for example after a timeout. When CDN is already enabled, it
|
|
1889
|
+
applies the DNS change again and refreshes the CDN SSL certificate.
|
|
1890
|
+
|
|
1891
|
+
Returns 422 when the account is disabled, while the account is being moved to another
|
|
1892
|
+
server (retry after the move finishes), or when the CDN provider rejects the change.
|
|
1893
|
+
Returns 404 when the domain is not a website on the account.
|
|
1894
|
+
|
|
1895
|
+
- **Method**: `POST`
|
|
1896
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/cdn/enable`
|
|
1897
|
+
|
|
1898
|
+
#### hosting_cdn_purge-cache
|
|
1899
|
+
|
|
1900
|
+
Purges the website's content from the Hostinger CDN edge cache only. The origin server cache
|
|
1901
|
+
is not touched; to clear both, use `Clear website cache`.
|
|
1902
|
+
|
|
1903
|
+
Returns 422 when CDN is not enabled on the website. Returns 404 when the domain is not a
|
|
1904
|
+
website on the account.
|
|
1905
|
+
|
|
1906
|
+
- **Method**: `DELETE`
|
|
1907
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/cdn/purge`
|
|
1908
|
+
|
|
1909
|
+
#### hosting_cdn_status
|
|
1910
|
+
|
|
1911
|
+
Returns whether the Hostinger CDN is enabled for the website domain. Works for the main
|
|
1912
|
+
domain, parked domains and subdomains of the account.
|
|
1913
|
+
|
|
1914
|
+
The domain must be the exact website name as listed on the account, without a `www.` prefix.
|
|
1915
|
+
Returns 404 when the domain is not a website on the account.
|
|
1916
|
+
|
|
1917
|
+
- **Method**: `GET`
|
|
1918
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/cdn/status`
|
|
1919
|
+
|
|
1864
1920
|
#### hosting_cron-jobs_list
|
|
1865
1921
|
|
|
1866
1922
|
Returns the list of cron jobs configured for the specified account, including their schedule and command.
|
|
@@ -2325,8 +2381,9 @@ wait for `status: completed` before uploading files, deploying or creating datab
|
|
|
2325
2381
|
`failed` means the setup stopped before finishing or has not reported progress for
|
|
2326
2382
|
over an hour. Setups older than 24 hours are not listed.
|
|
2327
2383
|
|
|
2328
|
-
`type` is the website type the setup was started with (`wordpress`, `
|
|
2329
|
-
`headless_ecommerce`, `headless_pocketbase`), or `null` for an empty
|
|
2384
|
+
`type` is the website type the setup was started with (`wordpress`, `headless_empty`,
|
|
2385
|
+
`headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`), or `null` for an empty
|
|
2386
|
+
website.
|
|
2330
2387
|
|
|
2331
2388
|
- **Method**: `GET`
|
|
2332
2389
|
- **Path**: `/api/hosting/v1/onboardings`
|
|
@@ -2335,17 +2392,25 @@ over an hour. Setups older than 24 hours are not listed.
|
|
|
2335
2392
|
|
|
2336
2393
|
Starts a website setup on a Web or Cloud hosting order and returns the created setup
|
|
2337
2394
|
right away; the website itself is provisioned asynchronously. Poll the list website
|
|
2338
|
-
setups endpoint with the `domain` filter every 10 to 15
|
|
2339
|
-
`status: completed` before uploading files, deploying or creating
|
|
2395
|
+
setups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15
|
|
2396
|
+
seconds and wait for `status: completed` before uploading files, deploying or creating
|
|
2397
|
+
databases.
|
|
2340
2398
|
|
|
2341
2399
|
Omit `type` for an empty website. `type: wordpress` installs WordPress in the website
|
|
2342
2400
|
root with the admin user, email and password from `wordpress`, the domain as the site
|
|
2343
2401
|
title, and `en_US` when `wordpress.language` is omitted. The headless types
|
|
2344
|
-
(`headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)
|
|
2345
|
-
website; `headless_wordpress` additionally installs WordPress into the
|
|
2346
|
-
of the website root with generated credentials.
|
|
2347
|
-
|
|
2348
|
-
|
|
2402
|
+
(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)
|
|
2403
|
+
create a headless website; `headless_wordpress` additionally installs WordPress into the
|
|
2404
|
+
`cms` directory of the website root with generated credentials. `headless_empty` installs
|
|
2405
|
+
nothing: WordPress can be added later through
|
|
2406
|
+
`POST /api/hosting/v1/accounts/{username}/wordpress/installations`
|
|
2407
|
+
(`wordpress_installations_install`) with `type: headless`.
|
|
2408
|
+
|
|
2409
|
+
Omit `domain` to set the website up on a generated temporary free subdomain. To know the
|
|
2410
|
+
free subdomain before the call, so a timed-out call can be looked up and retried on the
|
|
2411
|
+
same domain, generate one through `POST /api/hosting/v1/domains/free-subdomains`
|
|
2412
|
+
(`hosting_domains_generate-free-subdomain`) and send it as `domain`. It is accepted for
|
|
2413
|
+
24 hours, only from the client that generated it.
|
|
2349
2414
|
|
|
2350
2415
|
When the order has no hosting account yet, the setup creates one first, in the datacenter
|
|
2351
2416
|
given by `datacenter_code` or the order's default datacenter when it is omitted.
|
|
@@ -4486,19 +4551,29 @@ database files that have been uploaded to the website's directory.
|
|
|
4486
4551
|
Install WordPress on an existing website.
|
|
4487
4552
|
|
|
4488
4553
|
The website must already exist before calling this endpoint. To create a new
|
|
4489
|
-
website first, use POST /api/hosting/v1/
|
|
4490
|
-
GET /api/hosting/v1/
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4554
|
+
website first, use POST /api/hosting/v1/orders/{order_id}/onboardings
|
|
4555
|
+
(`hosting_websites_start-setup`) and poll GET /api/hosting/v1/onboardings
|
|
4556
|
+
(`hosting_websites_list-setups`) with the `domain` filter until its `status` is
|
|
4557
|
+
`completed`.
|
|
4558
|
+
|
|
4559
|
+
Send `type: headless` to turn a headless website (for example one created by
|
|
4560
|
+
`hosting_websites_start-setup` with `type: headless_empty`) into a headless WordPress
|
|
4561
|
+
website: WordPress is installed into the `cms` directory with the Hostinger headless
|
|
4562
|
+
MU plugin and the website is marked as a headless WordPress website. `directory` is
|
|
4563
|
+
not allowed with it. The target website must already be headless: the headless
|
|
4564
|
+
install rewrites the root `.htaccess`, so on any other website the request is
|
|
4565
|
+
rejected with 422.
|
|
4566
|
+
|
|
4567
|
+
Call GET /api/hosting/v1/wordpress/installations (`wordpress_installations_list`)
|
|
4568
|
+
filtered by username and domain before proceeding to check whether WordPress is
|
|
4569
|
+
already installed on the target domain/path. If WordPress already exists and
|
|
4570
|
+
`overwrite` is false (the default), the async job will fail.
|
|
4496
4571
|
|
|
4497
4572
|
This operation is asynchronous: a successful response only means the install
|
|
4498
4573
|
job has been queued, not that WordPress is ready. Installation typically
|
|
4499
|
-
takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations
|
|
4500
|
-
by username and domain to track
|
|
4501
|
-
that list, WordPress is ready.
|
|
4574
|
+
takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations
|
|
4575
|
+
(`wordpress_installations_list`) filtered by username and domain to track
|
|
4576
|
+
progress. When the installation appears in that list, WordPress is ready.
|
|
4502
4577
|
|
|
4503
4578
|
Returns 422 when the account already uses all the databases its plan allows,
|
|
4504
4579
|
unless `database.name` is an existing database on the account.
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
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": "3.2.
|
|
9
|
+
"version": "3.2.2",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "3.2.
|
|
14
|
+
"version": "3.2.2",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/src/core/runtime.js
CHANGED
|
@@ -66,7 +66,7 @@ const GetSkillRequestSchema = z.object({
|
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* MCP Server for Hostinger API
|
|
69
|
-
* Generated from OpenAPI spec version 2.1.
|
|
69
|
+
* Generated from OpenAPI spec version 2.1.2
|
|
70
70
|
*/
|
|
71
71
|
class MCPServer {
|
|
72
72
|
constructor({ name, version, tools, instructions, skills = [] }) {
|
package/src/core/runtime.ts
CHANGED
|
@@ -97,7 +97,7 @@ interface Skill { uri: string; frontmatter: Record<string, unknown>; resources:
|
|
|
97
97
|
|
|
98
98
|
/**
|
|
99
99
|
* MCP Server for Hostinger API
|
|
100
|
-
* Generated from OpenAPI spec version 2.1.
|
|
100
|
+
* Generated from OpenAPI spec version 2.1.2
|
|
101
101
|
*/
|
|
102
102
|
class MCPServer {
|
|
103
103
|
private readonly name: string;
|
package/src/core/tools/all.js
CHANGED
|
@@ -6165,7 +6165,7 @@ export default [
|
|
|
6165
6165
|
"destructiveHint": true,
|
|
6166
6166
|
"idempotentHint": true
|
|
6167
6167
|
},
|
|
6168
|
-
"description": "Permanently clears all server-side cache for the website at once. Use it when content was\nupdated and needs to be visible immediately, or after making major changes.\n\nAlso purges the Hostinger CDN cache when CDN is enabled on the website. For a WordPress\ninstallation living in a subdirectory, pass the directory query parameter to clear its cache.",
|
|
6168
|
+
"description": "Permanently clears all server-side cache for the website at once. Use it when content was\nupdated and needs to be visible immediately, or after making major changes.\n\nAlso purges the Hostinger CDN cache when CDN is enabled on the website. To purge only the CDN\ncache and leave the server cache untouched, use `Purge CDN cache`. For a WordPress\ninstallation living in a subdirectory, pass the directory query parameter to clear its cache.",
|
|
6169
6169
|
"method": "DELETE",
|
|
6170
6170
|
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/cache/clear",
|
|
6171
6171
|
"inputSchema": {
|
|
@@ -6278,6 +6278,147 @@ export default [
|
|
|
6278
6278
|
],
|
|
6279
6279
|
"group": "hosting"
|
|
6280
6280
|
},
|
|
6281
|
+
{
|
|
6282
|
+
"name": "hosting_cdn_disable",
|
|
6283
|
+
"title": "Disable CDN",
|
|
6284
|
+
"annotations": {
|
|
6285
|
+
"title": "Disable CDN",
|
|
6286
|
+
"readOnlyHint": false,
|
|
6287
|
+
"destructiveHint": true
|
|
6288
|
+
},
|
|
6289
|
+
"description": "Turns off the Hostinger CDN for the website domain. Once DNS propagation completes, the\nwebsite content is served directly from the origin server. Repeating the call is safe; when\nCDN is already disabled, it applies the DNS change again.\n\nReturns 422 for platform-managed domains (for example `*.hostingersite.com` and\n`*.app-preview.com`), where CDN cannot be disabled, even when CDN is already off. Also returns\n422 while the account is being moved to another server (retry after the move finishes), or\nwhen the CDN provider rejects the change. Returns 404 when the domain is not a website on the\naccount.",
|
|
6290
|
+
"method": "POST",
|
|
6291
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/cdn/disable",
|
|
6292
|
+
"inputSchema": {
|
|
6293
|
+
"type": "object",
|
|
6294
|
+
"properties": {
|
|
6295
|
+
"username": {
|
|
6296
|
+
"type": "string",
|
|
6297
|
+
"description": "username parameter"
|
|
6298
|
+
},
|
|
6299
|
+
"domain": {
|
|
6300
|
+
"type": "string",
|
|
6301
|
+
"description": "Domain name"
|
|
6302
|
+
}
|
|
6303
|
+
},
|
|
6304
|
+
"required": [
|
|
6305
|
+
"username",
|
|
6306
|
+
"domain"
|
|
6307
|
+
]
|
|
6308
|
+
},
|
|
6309
|
+
"security": [
|
|
6310
|
+
{
|
|
6311
|
+
"apiToken": []
|
|
6312
|
+
}
|
|
6313
|
+
],
|
|
6314
|
+
"group": "hosting"
|
|
6315
|
+
},
|
|
6316
|
+
{
|
|
6317
|
+
"name": "hosting_cdn_enable",
|
|
6318
|
+
"title": "Enable CDN",
|
|
6319
|
+
"annotations": {
|
|
6320
|
+
"title": "Enable CDN",
|
|
6321
|
+
"readOnlyHint": false,
|
|
6322
|
+
"destructiveHint": false
|
|
6323
|
+
},
|
|
6324
|
+
"description": "Turns on the Hostinger CDN for the website domain, which speeds up page loads and reduces the\nload on the server. Works for the main domain, parked domains and subdomains of the account.\n\nEnabling changes the domain's DNS records and usually takes a few seconds. After that, DNS\npropagation can take a few more minutes before visitors are served through the CDN.\n\nRepeating the call is safe, for example after a timeout. When CDN is already enabled, it\napplies the DNS change again and refreshes the CDN SSL certificate.\n\nReturns 422 when the account is disabled, while the account is being moved to another\nserver (retry after the move finishes), or when the CDN provider rejects the change.\nReturns 404 when the domain is not a website on the account.",
|
|
6325
|
+
"method": "POST",
|
|
6326
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/cdn/enable",
|
|
6327
|
+
"inputSchema": {
|
|
6328
|
+
"type": "object",
|
|
6329
|
+
"properties": {
|
|
6330
|
+
"username": {
|
|
6331
|
+
"type": "string",
|
|
6332
|
+
"description": "username parameter"
|
|
6333
|
+
},
|
|
6334
|
+
"domain": {
|
|
6335
|
+
"type": "string",
|
|
6336
|
+
"description": "Domain name"
|
|
6337
|
+
}
|
|
6338
|
+
},
|
|
6339
|
+
"required": [
|
|
6340
|
+
"username",
|
|
6341
|
+
"domain"
|
|
6342
|
+
]
|
|
6343
|
+
},
|
|
6344
|
+
"security": [
|
|
6345
|
+
{
|
|
6346
|
+
"apiToken": []
|
|
6347
|
+
}
|
|
6348
|
+
],
|
|
6349
|
+
"group": "hosting"
|
|
6350
|
+
},
|
|
6351
|
+
{
|
|
6352
|
+
"name": "hosting_cdn_purge-cache",
|
|
6353
|
+
"title": "Purge CDN cache",
|
|
6354
|
+
"annotations": {
|
|
6355
|
+
"title": "Purge CDN cache",
|
|
6356
|
+
"readOnlyHint": false,
|
|
6357
|
+
"destructiveHint": true,
|
|
6358
|
+
"idempotentHint": true
|
|
6359
|
+
},
|
|
6360
|
+
"description": "Purges the website's content from the Hostinger CDN edge cache only. The origin server cache\nis not touched; to clear both, use `Clear website cache`.\n\nReturns 422 when CDN is not enabled on the website. Returns 404 when the domain is not a\nwebsite on the account.",
|
|
6361
|
+
"method": "DELETE",
|
|
6362
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/cdn/purge",
|
|
6363
|
+
"inputSchema": {
|
|
6364
|
+
"type": "object",
|
|
6365
|
+
"properties": {
|
|
6366
|
+
"username": {
|
|
6367
|
+
"type": "string",
|
|
6368
|
+
"description": "username parameter"
|
|
6369
|
+
},
|
|
6370
|
+
"domain": {
|
|
6371
|
+
"type": "string",
|
|
6372
|
+
"description": "Domain name"
|
|
6373
|
+
}
|
|
6374
|
+
},
|
|
6375
|
+
"required": [
|
|
6376
|
+
"username",
|
|
6377
|
+
"domain"
|
|
6378
|
+
]
|
|
6379
|
+
},
|
|
6380
|
+
"security": [
|
|
6381
|
+
{
|
|
6382
|
+
"apiToken": []
|
|
6383
|
+
}
|
|
6384
|
+
],
|
|
6385
|
+
"group": "hosting"
|
|
6386
|
+
},
|
|
6387
|
+
{
|
|
6388
|
+
"name": "hosting_cdn_status",
|
|
6389
|
+
"title": "Get CDN status",
|
|
6390
|
+
"annotations": {
|
|
6391
|
+
"title": "Get CDN status",
|
|
6392
|
+
"readOnlyHint": true,
|
|
6393
|
+
"destructiveHint": false
|
|
6394
|
+
},
|
|
6395
|
+
"description": "Returns whether the Hostinger CDN is enabled for the website domain. Works for the main\ndomain, parked domains and subdomains of the account.\n\nThe domain must be the exact website name as listed on the account, without a `www.` prefix.\nReturns 404 when the domain is not a website on the account.",
|
|
6396
|
+
"method": "GET",
|
|
6397
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/cdn/status",
|
|
6398
|
+
"inputSchema": {
|
|
6399
|
+
"type": "object",
|
|
6400
|
+
"properties": {
|
|
6401
|
+
"username": {
|
|
6402
|
+
"type": "string",
|
|
6403
|
+
"description": "username parameter"
|
|
6404
|
+
},
|
|
6405
|
+
"domain": {
|
|
6406
|
+
"type": "string",
|
|
6407
|
+
"description": "Domain name"
|
|
6408
|
+
}
|
|
6409
|
+
},
|
|
6410
|
+
"required": [
|
|
6411
|
+
"username",
|
|
6412
|
+
"domain"
|
|
6413
|
+
]
|
|
6414
|
+
},
|
|
6415
|
+
"security": [
|
|
6416
|
+
{
|
|
6417
|
+
"apiToken": []
|
|
6418
|
+
}
|
|
6419
|
+
],
|
|
6420
|
+
"group": "hosting"
|
|
6421
|
+
},
|
|
6281
6422
|
{
|
|
6282
6423
|
"name": "hosting_cron-jobs_list",
|
|
6283
6424
|
"title": "List account cron jobs",
|
|
@@ -8708,7 +8849,7 @@ export default [
|
|
|
8708
8849
|
"readOnlyHint": true,
|
|
8709
8850
|
"destructiveHint": false
|
|
8710
8851
|
},
|
|
8711
|
-
"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`, `
|
|
8852
|
+
"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.",
|
|
8712
8853
|
"method": "GET",
|
|
8713
8854
|
"path": "/api/hosting/v1/onboardings",
|
|
8714
8855
|
"inputSchema": {
|
|
@@ -8744,7 +8885,7 @@ export default [
|
|
|
8744
8885
|
"readOnlyHint": false,
|
|
8745
8886
|
"destructiveHint": false
|
|
8746
8887
|
},
|
|
8747
|
-
"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
|
|
8888
|
+
"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.",
|
|
8748
8889
|
"method": "POST",
|
|
8749
8890
|
"path": "/api/hosting/v1/orders/{order_id}/onboardings",
|
|
8750
8891
|
"inputSchema": {
|
|
@@ -8756,9 +8897,10 @@ export default [
|
|
|
8756
8897
|
},
|
|
8757
8898
|
"type": {
|
|
8758
8899
|
"type": "string",
|
|
8759
|
-
"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.",
|
|
8900
|
+
"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`.",
|
|
8760
8901
|
"enum": [
|
|
8761
8902
|
"wordpress",
|
|
8903
|
+
"headless_empty",
|
|
8762
8904
|
"headless_wordpress",
|
|
8763
8905
|
"headless_ecommerce",
|
|
8764
8906
|
"headless_pocketbase"
|
|
@@ -8766,7 +8908,7 @@ export default [
|
|
|
8766
8908
|
},
|
|
8767
8909
|
"domain": {
|
|
8768
8910
|
"type": "string",
|
|
8769
|
-
"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."
|
|
8911
|
+
"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."
|
|
8770
8912
|
},
|
|
8771
8913
|
"datacenter_code": {
|
|
8772
8914
|
"type": "string",
|
|
@@ -16593,7 +16735,7 @@ export default [
|
|
|
16593
16735
|
"readOnlyHint": false,
|
|
16594
16736
|
"destructiveHint": false
|
|
16595
16737
|
},
|
|
16596
|
-
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/
|
|
16738
|
+
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/orders/{order_id}/onboardings\n(`hosting_websites_start-setup`) and poll GET /api/hosting/v1/onboardings\n(`hosting_websites_list-setups`) with the `domain` filter until its `status` is\n`completed`.\n\nSend `type: headless` to turn a headless website (for example one created by\n`hosting_websites_start-setup` with `type: headless_empty`) into a headless WordPress\nwebsite: WordPress is installed into the `cms` directory with the Hostinger headless\nMU plugin and the website is marked as a headless WordPress website. `directory` is\nnot allowed with it. The target website must already be headless: the headless\ninstall rewrites the root `.htaccess`, so on any other website the request is\nrejected with 422.\n\nCall GET /api/hosting/v1/wordpress/installations (`wordpress_installations_list`)\nfiltered by username and domain before proceeding to check whether WordPress is\nalready installed on the target domain/path. If WordPress already exists and\n`overwrite` is false (the default), the async job will fail.\n\nThis operation is asynchronous: a successful response only means the install\njob has been queued, not that WordPress is ready. Installation typically\ntakes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations\n(`wordpress_installations_list`) filtered by username and domain to track\nprogress. When the installation appears in that list, WordPress is ready.\n\nReturns 422 when the account already uses all the databases its plan allows,\nunless `database.name` is an existing database on the account.",
|
|
16597
16739
|
"method": "POST",
|
|
16598
16740
|
"path": "/api/hosting/v1/accounts/{username}/wordpress/installations",
|
|
16599
16741
|
"inputSchema": {
|
|
@@ -16615,9 +16757,17 @@ export default [
|
|
|
16615
16757
|
"type": "string",
|
|
16616
16758
|
"description": "WordPress locale. Defaults to en_US when omitted."
|
|
16617
16759
|
},
|
|
16760
|
+
"type": {
|
|
16761
|
+
"type": "string",
|
|
16762
|
+
"description": "Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`hosting_websites_start-setup`) with `type: headless_empty`; any other website is rejected with 422.",
|
|
16763
|
+
"enum": [
|
|
16764
|
+
"default",
|
|
16765
|
+
"headless"
|
|
16766
|
+
]
|
|
16767
|
+
},
|
|
16618
16768
|
"directory": {
|
|
16619
16769
|
"type": "string",
|
|
16620
|
-
"description": "
|
|
16770
|
+
"description": "Installation subdirectory relative to the document root; omit for the root. Not allowed with `type: headless`, which always installs into `cms`."
|
|
16621
16771
|
},
|
|
16622
16772
|
"overwrite": {
|
|
16623
16773
|
"type": "boolean",
|