hostinger-api-mcp 1.43.1 → 1.45.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.
- package/README.md +205 -6
- 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/agency-hosting.js +92 -0
- package/src/core/tools/agency-hosting.ts +92 -0
- package/src/core/tools/all.js +444 -6
- package/src/core/tools/all.ts +444 -6
- package/src/core/tools/hosting.js +229 -4
- package/src/core/tools/hosting.ts +229 -4
- package/src/core/tools/wordpress.js +123 -2
- package/src/core/tools/wordpress.ts +123 -2
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.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 +383 -6
package/README.md
CHANGED
|
@@ -69,18 +69,18 @@ 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 (
|
|
73
|
-
- `hostinger-agency-hosting-mcp` —
|
|
72
|
+
- `hostinger-api-mcp` — unified server with every tool (351 total)
|
|
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
|
|
76
76
|
- `hostinger-domains-mcp` — 40 tools for domains
|
|
77
77
|
- `hostinger-ecommerce-mcp` — 14 tools for ecommerce
|
|
78
78
|
- `hostinger-horizons-mcp` — 2 tools for horizons
|
|
79
|
-
- `hostinger-hosting-mcp` —
|
|
79
|
+
- `hostinger-hosting-mcp` — 57 tools for hosting
|
|
80
80
|
- `hostinger-mail-mcp` — 38 tools for mail
|
|
81
81
|
- `hostinger-reach-mcp` — 45 tools for reach
|
|
82
82
|
- `hostinger-vps-mcp` — 62 tools for vps
|
|
83
|
-
- `hostinger-wordpress-mcp` —
|
|
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.
|
|
86
86
|
|
|
@@ -289,6 +289,49 @@ If this is the only domain on the website, unlinking leaves the website without
|
|
|
289
289
|
- **Method**: `DELETE`
|
|
290
290
|
- **Path**: `/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}`
|
|
291
291
|
|
|
292
|
+
#### agency-hosting_generateUploadURLV1
|
|
293
|
+
|
|
294
|
+
Generate a file browser upload URL with authentication credentials for uploading files
|
|
295
|
+
to an Agency Plan website's file storage.
|
|
296
|
+
|
|
297
|
+
Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the
|
|
298
|
+
website's file storage via the TUS resumable upload protocol (TUS 1.0.0). Send
|
|
299
|
+
`X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request below.
|
|
300
|
+
|
|
301
|
+
1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers
|
|
302
|
+
`upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`.
|
|
303
|
+
2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or
|
|
304
|
+
`PATCH` requests with an `upload-offset` header tracking progress) until complete.
|
|
305
|
+
|
|
306
|
+
`relative_file_path` is the destination path inside the website's file storage, e.g.
|
|
307
|
+
`app.zip`.
|
|
308
|
+
|
|
309
|
+
Instead of a TUS client, plain `curl` also works:
|
|
310
|
+
```
|
|
311
|
+
FILE=app.zip
|
|
312
|
+
SIZE=$(stat -f%z "$FILE") # stat -c%s on Linux
|
|
313
|
+
|
|
314
|
+
curl -i -X POST "{url}/${FILE}?override=true" \
|
|
315
|
+
-H "X-Auth: {auth_key}" \
|
|
316
|
+
-H "X-Auth-Rest: {rest_auth_key}" \
|
|
317
|
+
-H "Tus-Resumable: 1.0.0" \
|
|
318
|
+
-H "Upload-Length: ${SIZE}" \
|
|
319
|
+
-H "Upload-Offset: 0"
|
|
320
|
+
# -> 201 Created
|
|
321
|
+
|
|
322
|
+
curl -i -X PATCH "{url}/${FILE}?override=true" \
|
|
323
|
+
-H "X-Auth: {auth_key}" \
|
|
324
|
+
-H "X-Auth-Rest: {rest_auth_key}" \
|
|
325
|
+
-H "Tus-Resumable: 1.0.0" \
|
|
326
|
+
-H "Content-Type: application/offset+octet-stream" \
|
|
327
|
+
-H "Upload-Offset: 0" \
|
|
328
|
+
--data-binary "@${FILE}"
|
|
329
|
+
# -> 204 No Content, Upload-Offset response header equals SIZE when done
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
- **Method**: `POST`
|
|
333
|
+
- **Path**: `/api/agency-hosting/v1/websites/{website_uid}/files/upload-urls`
|
|
334
|
+
|
|
292
335
|
#### agency-hosting_importWebsiteFromArchiveV1
|
|
293
336
|
|
|
294
337
|
Imports an Agency Plan website from an already-uploaded archive.
|
|
@@ -520,6 +563,25 @@ resources are removed in the background.
|
|
|
520
563
|
- **Method**: `DELETE`
|
|
521
564
|
- **Path**: `/api/agency-hosting/v1/websites/{website_uid}`
|
|
522
565
|
|
|
566
|
+
#### agency-hosting_listAgencyPlanWebsitesV1
|
|
567
|
+
|
|
568
|
+
Retrieve a paginated list of Agency Plan websites (H5G, Builder, and Horizons) accessible to
|
|
569
|
+
the authenticated client.
|
|
570
|
+
|
|
571
|
+
This endpoint returns websites from your hosting accounts as well as
|
|
572
|
+
websites from other client hosting accounts that have shared access
|
|
573
|
+
with you.
|
|
574
|
+
|
|
575
|
+
The response shape differs per platform — see the `platform` field on each item.
|
|
576
|
+
|
|
577
|
+
Use `website_types` to list only websites of a given detected type, e.g. only
|
|
578
|
+
WordPress websites (`website_types=wordpress`) or only Node.js websites
|
|
579
|
+
(`website_types=nodejs`). Combine with `order_ids`, `states`, or `domain` for more
|
|
580
|
+
targeted results.
|
|
581
|
+
|
|
582
|
+
- **Method**: `GET`
|
|
583
|
+
- **Path**: `/api/agency-hosting/v1/websites`
|
|
584
|
+
|
|
523
585
|
#### agency-hosting_listWebsiteProcessesV1
|
|
524
586
|
|
|
525
587
|
Lists active and recently completed asynchronous processes for an Agency Plan website.
|
|
@@ -1684,6 +1746,49 @@ Skip this verification when using Hostinger's free subdomains (*.hostingersite.c
|
|
|
1684
1746
|
- **Method**: `POST`
|
|
1685
1747
|
- **Path**: `/api/hosting/v1/domains/verify-ownership`
|
|
1686
1748
|
|
|
1749
|
+
#### hosting_generateUploadURLV1
|
|
1750
|
+
|
|
1751
|
+
Generate a file browser upload URL with authentication credentials
|
|
1752
|
+
for uploading files directly to a website's file storage.
|
|
1753
|
+
|
|
1754
|
+
Returns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the
|
|
1755
|
+
website's `public_html` directory via the TUS resumable upload protocol (TUS 1.0.0).
|
|
1756
|
+
Send `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request
|
|
1757
|
+
below.
|
|
1758
|
+
|
|
1759
|
+
1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers
|
|
1760
|
+
`upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`.
|
|
1761
|
+
2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or
|
|
1762
|
+
`PATCH` requests with an `upload-offset` header tracking progress) until complete.
|
|
1763
|
+
|
|
1764
|
+
`relative_file_path` is the destination path inside `public_html`, e.g. `app.zip`.
|
|
1765
|
+
|
|
1766
|
+
Instead of a TUS client, plain `curl` also works:
|
|
1767
|
+
```
|
|
1768
|
+
FILE=app.zip
|
|
1769
|
+
SIZE=$(stat -f%z "$FILE") # stat -c%s on Linux
|
|
1770
|
+
|
|
1771
|
+
curl -i -X POST "{url}/${FILE}?override=true" \
|
|
1772
|
+
-H "X-Auth: {auth_key}" \
|
|
1773
|
+
-H "X-Auth-Rest: {rest_auth_key}" \
|
|
1774
|
+
-H "Tus-Resumable: 1.0.0" \
|
|
1775
|
+
-H "Upload-Length: ${SIZE}" \
|
|
1776
|
+
-H "Upload-Offset: 0"
|
|
1777
|
+
# -> 201 Created
|
|
1778
|
+
|
|
1779
|
+
curl -i -X PATCH "{url}/${FILE}?override=true" \
|
|
1780
|
+
-H "X-Auth: {auth_key}" \
|
|
1781
|
+
-H "X-Auth-Rest: {rest_auth_key}" \
|
|
1782
|
+
-H "Tus-Resumable: 1.0.0" \
|
|
1783
|
+
-H "Content-Type: application/offset+octet-stream" \
|
|
1784
|
+
-H "Upload-Offset: 0" \
|
|
1785
|
+
--data-binary "@${FILE}"
|
|
1786
|
+
# -> 204 No Content, Upload-Offset response header equals SIZE when done
|
|
1787
|
+
```
|
|
1788
|
+
|
|
1789
|
+
- **Method**: `POST`
|
|
1790
|
+
- **Path**: `/api/hosting/v1/files/upload-urls`
|
|
1791
|
+
|
|
1687
1792
|
#### hosting_listWebsiteFilesAndDirectoriesV1
|
|
1688
1793
|
|
|
1689
1794
|
List files and directories under a website's document root.
|
|
@@ -1715,10 +1820,34 @@ Use the `uuid` from a build to poll its output via the `Get Node.js Build Logs`
|
|
|
1715
1820
|
- **Method**: `GET`
|
|
1716
1821
|
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds`
|
|
1717
1822
|
|
|
1823
|
+
#### hosting_startNode_jsBuildV1
|
|
1824
|
+
|
|
1825
|
+
Start a Node.js build process using files already present on the website's file storage.
|
|
1826
|
+
|
|
1827
|
+
WARNING: on success this overwrites the website's existing contents and cannot be
|
|
1828
|
+
undone — verify this is intended before calling this endpoint.
|
|
1829
|
+
|
|
1830
|
+
The `source_type` must be `archive` and `source_options.archive_path` must point to an
|
|
1831
|
+
existing archive file on the server (relative to the website document root).
|
|
1832
|
+
Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first.
|
|
1833
|
+
|
|
1834
|
+
To auto-detect build settings from an archive before starting, first call the
|
|
1835
|
+
`Get Node.js Build Settings from Archive` endpoint. To upload an archive and start
|
|
1836
|
+
a build in one step, use the `Create Node.js Build from Archive` endpoint instead.
|
|
1837
|
+
|
|
1838
|
+
The returned build `uuid` can be used to poll progress and retrieve logs via
|
|
1839
|
+
the `Get Node.js Build Logs` endpoint.
|
|
1840
|
+
|
|
1841
|
+
- **Method**: `POST`
|
|
1842
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds`
|
|
1843
|
+
|
|
1718
1844
|
#### hosting_createNodeJSBuildFromArchiveV1
|
|
1719
1845
|
|
|
1720
1846
|
Upload a project archive, auto-detect build settings, and immediately start a Node.js build.
|
|
1721
1847
|
|
|
1848
|
+
WARNING: on success this overwrites the website's existing contents and cannot be
|
|
1849
|
+
undone — verify this is intended before calling this endpoint.
|
|
1850
|
+
|
|
1722
1851
|
This is the recommended single-step approach for deploying a Node.js application.
|
|
1723
1852
|
The archive is uploaded to the website's file storage, build settings are auto-detected
|
|
1724
1853
|
from the package.json inside the archive, and the build process starts automatically.
|
|
@@ -1741,6 +1870,22 @@ the `Get Node.js Build Logs` endpoint.
|
|
|
1741
1870
|
- **Method**: `POST`
|
|
1742
1871
|
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/from-archive`
|
|
1743
1872
|
|
|
1873
|
+
#### hosting_getNode_jsBuildSettingsFromArchiveV1
|
|
1874
|
+
|
|
1875
|
+
Auto-detect Node.js build settings from a package.json inside an archive already on the server.
|
|
1876
|
+
|
|
1877
|
+
Use this before calling `Start Node.js Build` to preview what settings will be used,
|
|
1878
|
+
or to let the user review and override values (framework, node version, root directory,
|
|
1879
|
+
output directory, build script) before committing to a build.
|
|
1880
|
+
|
|
1881
|
+
The archive must already be present on the website's file storage. Use the
|
|
1882
|
+
`Generate Upload URL` endpoint to obtain credentials and upload the archive first.
|
|
1883
|
+
To upload an archive and start a build in one step without inspecting settings first,
|
|
1884
|
+
use the `Create Node.js Build from Archive` endpoint instead.
|
|
1885
|
+
|
|
1886
|
+
- **Method**: `GET`
|
|
1887
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings/from-archive`
|
|
1888
|
+
|
|
1744
1889
|
#### hosting_getNodeJSBuildLogsV1
|
|
1745
1890
|
|
|
1746
1891
|
Retrieve logs from a specific Node.js build process.
|
|
@@ -1918,8 +2063,11 @@ website detected on the underlying platform (`wordpress`, `builder`,
|
|
|
1918
2063
|
`vhost_type`, `username`, and `root_directory`, only apply to
|
|
1919
2064
|
CloudLinux websites and are null for other platforms.
|
|
1920
2065
|
|
|
1921
|
-
Use
|
|
1922
|
-
|
|
2066
|
+
Use `website_types` to list only websites of a given detected type, e.g. only
|
|
2067
|
+
WordPress websites (`website_types=wordpress`) or only Node.js websites
|
|
2068
|
+
(`website_types=nodejs`). Combine with the other available query parameters to
|
|
2069
|
+
filter by username, order ID, enabled status, or domain name for more targeted
|
|
2070
|
+
results.
|
|
1923
2071
|
|
|
1924
2072
|
- **Method**: `GET`
|
|
1925
2073
|
- **Path**: `/api/hosting/v1/websites`
|
|
@@ -1941,6 +2089,24 @@ websites list endpoint to see when your new website becomes available.
|
|
|
1941
2089
|
- **Method**: `POST`
|
|
1942
2090
|
- **Path**: `/api/hosting/v1/websites`
|
|
1943
2091
|
|
|
2092
|
+
#### hosting_deployStaticSiteArchiveV1
|
|
2093
|
+
|
|
2094
|
+
Deploy a static application from an archive file.
|
|
2095
|
+
|
|
2096
|
+
WARNING: this overwrites the website's existing contents and cannot be undone —
|
|
2097
|
+
verify this is intended before calling this endpoint.
|
|
2098
|
+
|
|
2099
|
+
This endpoint allows you to deploy a static application from an archive
|
|
2100
|
+
file that has been uploaded to the website's directory.
|
|
2101
|
+
|
|
2102
|
+
This only works for static sites (pre-built HTML/CSS/JS with no build step). For
|
|
2103
|
+
Node.js applications, use `Create NodeJS build from archive` instead, or
|
|
2104
|
+
`Start Node.js build` if the archive is already uploaded. For WordPress sites,
|
|
2105
|
+
use `Import WordPress website`.
|
|
2106
|
+
|
|
2107
|
+
- **Method**: `POST`
|
|
2108
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/deploy`
|
|
2109
|
+
|
|
1944
2110
|
#### hosting_deleteWebsiteV1
|
|
1945
2111
|
|
|
1946
2112
|
This endpoint permanently removes a website and all of its data. This action
|
|
@@ -3579,6 +3745,19 @@ detected installations once the scan completes.
|
|
|
3579
3745
|
- **Method**: `POST`
|
|
3580
3746
|
- **Path**: `/api/hosting/v1/accounts/{username}/wordpress/installations/detect`
|
|
3581
3747
|
|
|
3748
|
+
#### hosting_importWordPressWebsiteV1
|
|
3749
|
+
|
|
3750
|
+
Import WordPress website to the specified domain.
|
|
3751
|
+
|
|
3752
|
+
WARNING: this overwrites the website's existing contents and cannot be undone —
|
|
3753
|
+
verify this is intended before calling this endpoint.
|
|
3754
|
+
|
|
3755
|
+
This endpoint allows you to import a WordPress website from archive and
|
|
3756
|
+
database files that have been uploaded to the website's directory.
|
|
3757
|
+
|
|
3758
|
+
- **Method**: `POST`
|
|
3759
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/import`
|
|
3760
|
+
|
|
3582
3761
|
#### hosting_installWordPressV1
|
|
3583
3762
|
|
|
3584
3763
|
Install WordPress on an existing website.
|
|
@@ -3761,6 +3940,16 @@ deactivation job has been queued.
|
|
|
3761
3940
|
- **Method**: `POST`
|
|
3762
3941
|
- **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/deactivate`
|
|
3763
3942
|
|
|
3943
|
+
#### hosting_deployWordPressPluginV1
|
|
3944
|
+
|
|
3945
|
+
Deploy a WordPress plugin from an already uploaded directory.
|
|
3946
|
+
|
|
3947
|
+
This endpoint allows you to deploy a WordPress plugin that has been uploaded to the website's directory.
|
|
3948
|
+
The plugin will be activated and made available in the WordPress admin panel.
|
|
3949
|
+
|
|
3950
|
+
- **Method**: `POST`
|
|
3951
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/plugins/deploy`
|
|
3952
|
+
|
|
3764
3953
|
#### hosting_installWordPressPluginsV1
|
|
3765
3954
|
|
|
3766
3955
|
Install one or more plugins on an existing WordPress installation.
|
|
@@ -3879,6 +4068,16 @@ job has been queued.
|
|
|
3879
4068
|
- **Method**: `POST`
|
|
3880
4069
|
- **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/themes/activate`
|
|
3881
4070
|
|
|
4071
|
+
#### hosting_deployWordPressThemeV1
|
|
4072
|
+
|
|
4073
|
+
Deploy a WordPress theme from an already uploaded directory.
|
|
4074
|
+
|
|
4075
|
+
This endpoint allows you to deploy a WordPress theme that has been uploaded to the website's directory.
|
|
4076
|
+
The theme can be optionally activated after deployment.
|
|
4077
|
+
|
|
4078
|
+
- **Method**: `POST`
|
|
4079
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/wordpress/themes/deploy`
|
|
4080
|
+
|
|
3882
4081
|
#### hosting_installWordPressThemeV1
|
|
3883
4082
|
|
|
3884
4083
|
Install a theme on an existing WordPress installation.
|
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": "1.
|
|
9
|
+
"version": "1.45.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "hostinger-api-mcp",
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.45.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/src/core/runtime.js
CHANGED
package/src/core/runtime.ts
CHANGED
|
@@ -218,6 +218,30 @@ export default [
|
|
|
218
218
|
],
|
|
219
219
|
"group": "agency-hosting"
|
|
220
220
|
},
|
|
221
|
+
{
|
|
222
|
+
"name": "agency-hosting_generateUploadURLV1",
|
|
223
|
+
"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
|
+
"method": "POST",
|
|
225
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/files/upload-urls",
|
|
226
|
+
"inputSchema": {
|
|
227
|
+
"type": "object",
|
|
228
|
+
"properties": {
|
|
229
|
+
"website_uid": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"description": "Agency Plan website UID"
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
"required": [
|
|
235
|
+
"website_uid"
|
|
236
|
+
]
|
|
237
|
+
},
|
|
238
|
+
"security": [
|
|
239
|
+
{
|
|
240
|
+
"apiToken": []
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
"group": "agency-hosting"
|
|
244
|
+
},
|
|
221
245
|
{
|
|
222
246
|
"name": "agency-hosting_importWebsiteFromArchiveV1",
|
|
223
247
|
"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.",
|
|
@@ -1100,6 +1124,74 @@ export default [
|
|
|
1100
1124
|
],
|
|
1101
1125
|
"group": "agency-hosting"
|
|
1102
1126
|
},
|
|
1127
|
+
{
|
|
1128
|
+
"name": "agency-hosting_listAgencyPlanWebsitesV1",
|
|
1129
|
+
"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
|
+
"method": "GET",
|
|
1131
|
+
"path": "/api/agency-hosting/v1/websites",
|
|
1132
|
+
"inputSchema": {
|
|
1133
|
+
"type": "object",
|
|
1134
|
+
"properties": {
|
|
1135
|
+
"page": {
|
|
1136
|
+
"type": "integer",
|
|
1137
|
+
"description": "Page number"
|
|
1138
|
+
},
|
|
1139
|
+
"per_page": {
|
|
1140
|
+
"type": "integer",
|
|
1141
|
+
"description": "Number of items per page"
|
|
1142
|
+
},
|
|
1143
|
+
"order_ids": {
|
|
1144
|
+
"type": "array",
|
|
1145
|
+
"description": "Filter by order IDs. Accepts a comma-separated list.",
|
|
1146
|
+
"items": {
|
|
1147
|
+
"type": "integer",
|
|
1148
|
+
"description": "order_ids parameter"
|
|
1149
|
+
}
|
|
1150
|
+
},
|
|
1151
|
+
"states": {
|
|
1152
|
+
"type": "array",
|
|
1153
|
+
"description": "Filter by website state. Accepts a comma-separated list.",
|
|
1154
|
+
"items": {
|
|
1155
|
+
"type": "string",
|
|
1156
|
+
"description": "states parameter",
|
|
1157
|
+
"enum": [
|
|
1158
|
+
"active",
|
|
1159
|
+
"locked",
|
|
1160
|
+
"suspended",
|
|
1161
|
+
"deleting",
|
|
1162
|
+
"deleted"
|
|
1163
|
+
]
|
|
1164
|
+
}
|
|
1165
|
+
},
|
|
1166
|
+
"website_types": {
|
|
1167
|
+
"type": "array",
|
|
1168
|
+
"description": "Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.",
|
|
1169
|
+
"items": {
|
|
1170
|
+
"type": "string",
|
|
1171
|
+
"description": "website_types parameter",
|
|
1172
|
+
"enum": [
|
|
1173
|
+
"wordpress",
|
|
1174
|
+
"builder",
|
|
1175
|
+
"horizons",
|
|
1176
|
+
"nodejs",
|
|
1177
|
+
"other"
|
|
1178
|
+
]
|
|
1179
|
+
}
|
|
1180
|
+
},
|
|
1181
|
+
"domain": {
|
|
1182
|
+
"type": "string",
|
|
1183
|
+
"description": "Filter by domain name (case-insensitive substring match)"
|
|
1184
|
+
}
|
|
1185
|
+
},
|
|
1186
|
+
"required": []
|
|
1187
|
+
},
|
|
1188
|
+
"security": [
|
|
1189
|
+
{
|
|
1190
|
+
"apiToken": []
|
|
1191
|
+
}
|
|
1192
|
+
],
|
|
1193
|
+
"group": "agency-hosting"
|
|
1194
|
+
},
|
|
1103
1195
|
{
|
|
1104
1196
|
"name": "agency-hosting_listWebsiteProcessesV1",
|
|
1105
1197
|
"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.",
|
|
@@ -232,6 +232,30 @@ const tools: OpenApiTool[] = [
|
|
|
232
232
|
],
|
|
233
233
|
"group": "agency-hosting"
|
|
234
234
|
},
|
|
235
|
+
{
|
|
236
|
+
"name": "agency-hosting_generateUploadURLV1",
|
|
237
|
+
"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```",
|
|
238
|
+
"method": "POST",
|
|
239
|
+
"path": "/api/agency-hosting/v1/websites/{website_uid}/files/upload-urls",
|
|
240
|
+
"inputSchema": {
|
|
241
|
+
"type": "object",
|
|
242
|
+
"properties": {
|
|
243
|
+
"website_uid": {
|
|
244
|
+
"type": "string",
|
|
245
|
+
"description": "Agency Plan website UID"
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"required": [
|
|
249
|
+
"website_uid"
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
"security": [
|
|
253
|
+
{
|
|
254
|
+
"apiToken": []
|
|
255
|
+
}
|
|
256
|
+
],
|
|
257
|
+
"group": "agency-hosting"
|
|
258
|
+
},
|
|
235
259
|
{
|
|
236
260
|
"name": "agency-hosting_importWebsiteFromArchiveV1",
|
|
237
261
|
"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.",
|
|
@@ -1114,6 +1138,74 @@ const tools: OpenApiTool[] = [
|
|
|
1114
1138
|
],
|
|
1115
1139
|
"group": "agency-hosting"
|
|
1116
1140
|
},
|
|
1141
|
+
{
|
|
1142
|
+
"name": "agency-hosting_listAgencyPlanWebsitesV1",
|
|
1143
|
+
"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.",
|
|
1144
|
+
"method": "GET",
|
|
1145
|
+
"path": "/api/agency-hosting/v1/websites",
|
|
1146
|
+
"inputSchema": {
|
|
1147
|
+
"type": "object",
|
|
1148
|
+
"properties": {
|
|
1149
|
+
"page": {
|
|
1150
|
+
"type": "integer",
|
|
1151
|
+
"description": "Page number"
|
|
1152
|
+
},
|
|
1153
|
+
"per_page": {
|
|
1154
|
+
"type": "integer",
|
|
1155
|
+
"description": "Number of items per page"
|
|
1156
|
+
},
|
|
1157
|
+
"order_ids": {
|
|
1158
|
+
"type": "array",
|
|
1159
|
+
"description": "Filter by order IDs. Accepts a comma-separated list.",
|
|
1160
|
+
"items": {
|
|
1161
|
+
"type": "integer",
|
|
1162
|
+
"description": "order_ids parameter"
|
|
1163
|
+
}
|
|
1164
|
+
},
|
|
1165
|
+
"states": {
|
|
1166
|
+
"type": "array",
|
|
1167
|
+
"description": "Filter by website state. Accepts a comma-separated list.",
|
|
1168
|
+
"items": {
|
|
1169
|
+
"type": "string",
|
|
1170
|
+
"description": "states parameter",
|
|
1171
|
+
"enum": [
|
|
1172
|
+
"active",
|
|
1173
|
+
"locked",
|
|
1174
|
+
"suspended",
|
|
1175
|
+
"deleting",
|
|
1176
|
+
"deleted"
|
|
1177
|
+
]
|
|
1178
|
+
}
|
|
1179
|
+
},
|
|
1180
|
+
"website_types": {
|
|
1181
|
+
"type": "array",
|
|
1182
|
+
"description": "Filter by detected website type, e.g. wordpress,nodejs. Accepts a comma-separated list.",
|
|
1183
|
+
"items": {
|
|
1184
|
+
"type": "string",
|
|
1185
|
+
"description": "website_types parameter",
|
|
1186
|
+
"enum": [
|
|
1187
|
+
"wordpress",
|
|
1188
|
+
"builder",
|
|
1189
|
+
"horizons",
|
|
1190
|
+
"nodejs",
|
|
1191
|
+
"other"
|
|
1192
|
+
]
|
|
1193
|
+
}
|
|
1194
|
+
},
|
|
1195
|
+
"domain": {
|
|
1196
|
+
"type": "string",
|
|
1197
|
+
"description": "Filter by domain name (case-insensitive substring match)"
|
|
1198
|
+
}
|
|
1199
|
+
},
|
|
1200
|
+
"required": []
|
|
1201
|
+
},
|
|
1202
|
+
"security": [
|
|
1203
|
+
{
|
|
1204
|
+
"apiToken": []
|
|
1205
|
+
}
|
|
1206
|
+
],
|
|
1207
|
+
"group": "agency-hosting"
|
|
1208
|
+
},
|
|
1117
1209
|
{
|
|
1118
1210
|
"name": "agency-hosting_listWebsiteProcessesV1",
|
|
1119
1211
|
"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.",
|