hostinger-api-mcp 1.60.1 → 1.61.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/CHANGELOG.md CHANGED
@@ -4,6 +4,39 @@ Generated at release time from the diff between the previous and current
4
4
  build. Tool changes are listed individually; everything else is summarised
5
5
  by area.
6
6
 
7
+ ## v1.61.0 — 2026-09-16
8
+
9
+ ### Tools
10
+
11
+ - Added `hosting_installSSLV1` — Install SSL
12
+ - Added `hosting_getSSLStatusV1` — Get SSL status
13
+ - Added `hosting_toggleHTTPSRedirectV1` — Toggle HTTPS redirect
14
+ - Added `hosting_uninstallSSLV1` — Uninstall SSL
15
+
16
+ ### Also in this release
17
+
18
+ - Documentation: `README.md`
19
+ - Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
20
+ - Build and packaging: `types.d.ts`
21
+
22
+ ## v1.60.2 — 2026-09-16
23
+
24
+ ### Tools
25
+
26
+ - Added `hosting_getGitAutoDeploymentSettingsV1` — Get Git auto-deployment settings
27
+ - Added `hosting_updateGitAutoDeploymentSettingsV1` — Update Git auto-deployment settings
28
+ - Added `hosting_deleteGitAutoDeploymentSettingsV1` — Delete Git auto-deployment settings
29
+ - Changed the description of `hosting_listGitInstallationsV1`
30
+ - Changed the description of `hosting_listGitInstallationRepositoriesV1`
31
+ - Changed the description and input schema of `hosting_startNode_jsBuildV1`
32
+
33
+ ### Also in this release
34
+
35
+ - Documentation: `README.md`
36
+ - Dependencies: `package-lock.json`
37
+ - Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
38
+ - Build and packaging: `types.d.ts`
39
+
7
40
  ## v1.60.1 — 2026-09-15
8
41
 
9
42
  ### Tools
package/README.md CHANGED
@@ -69,14 +69,14 @@ 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 with every tool (389 total)
72
+ - `hostinger-api-mcp` — unified server with every tool (396 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
76
76
  - `hostinger-domains-mcp` — 41 tools for domains
77
77
  - `hostinger-ecommerce-mcp` — 29 tools for ecommerce
78
78
  - `hostinger-horizons-mcp` — 6 tools for horizons
79
- - `hostinger-hosting-mcp` — 66 tools for hosting
79
+ - `hostinger-hosting-mcp` — 73 tools for hosting
80
80
  - `hostinger-mail-mcp` — 38 tools for mail
81
81
  - `hostinger-reach-mcp` — 52 tools for reach
82
82
  - `hostinger-vps-mcp` — 64 tools for vps
@@ -2038,17 +2038,57 @@ containing secrets (e.g. credential files) — none of these are returned by thi
2038
2038
  - **Method**: `GET`
2039
2039
  - **Path**: `/api/hosting/v1/accounts/{username}/domains/{domain}/files/content`
2040
2040
 
2041
+ #### hosting_getGitAutoDeploymentSettingsV1
2042
+
2043
+ Returns the Git auto-deployment settings of the website: which repository and branch deploy
2044
+ into which directory, and whether pushes trigger a deployment. `is_enabled` false keeps the
2045
+ repository link but ignores pushes.
2046
+
2047
+ When the website has no auto-deployment configured every field is null. Save settings with
2048
+ `Update Git auto-deployment settings`.
2049
+
2050
+ - **Method**: `GET`
2051
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings`
2052
+
2053
+ #### hosting_updateGitAutoDeploymentSettingsV1
2054
+
2055
+ Creates or replaces the Git auto-deployment settings of the website: repository, branch, the
2056
+ directory under the document root to deploy into, and `is_enabled`. Send the full set;
2057
+ `is_enabled` defaults to true and `directory` to the document root. `installation_uuid` must
2058
+ be an installation from `List Git installations` that belongs to the same customer as the
2059
+ website.
2060
+
2061
+ For PHP and static websites, saving with `is_enabled` true deploys the branch right away and
2062
+ every later push to that branch deploys again. For Node.js and Website Builder websites saving
2063
+ does not clone anything. On a Node.js website start the first deploy with
2064
+ `Start Node.js build` using `source_type` `git`; pushes then trigger new builds with the build
2065
+ settings stored for the website.
2066
+
2067
+ - **Method**: `PUT`
2068
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings`
2069
+
2070
+ #### hosting_deleteGitAutoDeploymentSettingsV1
2071
+
2072
+ Removes the Git auto-deployment settings of the website. Files already deployed stay on the
2073
+ website; pushes stop deploying until settings are saved again. Succeeds also when nothing is
2074
+ configured.
2075
+
2076
+ - **Method**: `DELETE`
2077
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings`
2078
+
2041
2079
  #### hosting_listGitInstallationsV1
2042
2080
 
2043
2081
  Lists the Git provider accounts the customer has connected. Only installations with status
2044
2082
  `active` are returned unless the `status` filter says otherwise.
2045
2083
 
2046
2084
  An empty list means the customer has no active installation. Check `status=suspended` and
2047
- `status=pending` as well. If there is none at all, GitHub has to be connected once in hPanel
2048
- (Websites, Manage, Advanced, Git, Connect GitHub; or Add Website, Node.js Web App, Import Git
2049
- Repository, Continue with GitHub); this endpoint then lists the new installation.
2085
+ `status=pending` as well. If there is none at all, a Git provider (GitHub or GitLab) has to be
2086
+ connected once in hPanel (Websites, Manage, Advanced, Git; or Add Website, Node.js Web App,
2087
+ Import Git Repository); this endpoint then lists the new installation.
2050
2088
 
2051
- Use `uuid` as the path parameter of `List Git installation repositories`.
2089
+ Use `uuid` as the path parameter of `List Git installation repositories`, and as
2090
+ `installation_uuid` in `Start Node.js build` with `source_type` `git` and in
2091
+ `Update Git auto-deployment settings`.
2052
2092
 
2053
2093
  - **Method**: `GET`
2054
2094
  - **Path**: `/api/hosting/v1/git/installations`
@@ -2061,9 +2101,10 @@ is still queried and the call fails with whatever the provider answers. The list
2061
2101
  the first 500 repositories in the order the provider returns them; when the account has
2062
2102
  more, name the repository directly instead of searching this list.
2063
2103
 
2064
- `owner`, `name` and `default_branch` identify a repository and a branch to deploy. Returns
2065
- 404 when the installation does not belong to the customer. Limited to 10 calls per minute
2066
- per API client (429 above that).
2104
+ `owner`, `name` and a branch (`default_branch` or another one) go into `source_options` of
2105
+ `Start Node.js build` or into `Update Git auto-deployment settings`. Returns 404 when the
2106
+ installation does not belong to the customer. Limited to 10 calls per minute per API client
2107
+ (429 above that).
2067
2108
 
2068
2109
  - **Method**: `GET`
2069
2110
  - **Path**: `/api/hosting/v1/git/installations/{uuid}/repositories`
@@ -2086,13 +2127,17 @@ Start a Node.js build process using files already present on the website's file
2086
2127
  WARNING: on success this overwrites the website's existing contents and cannot be
2087
2128
  undone — verify this is intended before calling this endpoint.
2088
2129
 
2089
- The `source_type` must be `archive` and `source_options.archive_path` must point to an
2090
- existing archive file on the server (relative to the website document root).
2091
- Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first.
2092
-
2093
- To auto-detect build settings from an archive before starting, first call the
2130
+ With `source_type` `archive`, `source_options.archive_path` must point to an existing
2131
+ archive file on the server (relative to the website document root). Use the
2132
+ `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To
2133
+ auto-detect build settings from an archive before starting, first call the
2094
2134
  `Get Node.js Build Settings from Archive` endpoint.
2095
2135
 
2136
+ With `source_type` `git`, `source_options` carries `owner`, `repository`, `branch` and
2137
+ `installation_uuid`. Take the installation from `List Git installations` and the owner and
2138
+ repository from `List Git installation repositories`; the branch is cloned at its current
2139
+ head. The installation must belong to the same customer as the website.
2140
+
2096
2141
  The returned build `uuid` can be used to poll progress and retrieve logs via
2097
2142
  the `Get Node.js Build Logs` endpoint.
2098
2143
 
@@ -2390,6 +2435,60 @@ Pass the `from` value exactly as returned by the list redirects endpoint.
2390
2435
  - **Method**: `DELETE`
2391
2436
  - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/redirects`
2392
2437
 
2438
+ #### hosting_installSSLV1
2439
+
2440
+ Requests a lifetime SSL certificate for the website. The installation runs in the background;
2441
+ `Get SSL status` reports `active` or `failed` when it ends. An `active` lifetime certificate
2442
+ does not block the request: a new installation is requested, which is how a certificate is
2443
+ reinstalled.
2444
+
2445
+ Returns 422 for free subdomains (their certificate is managed by the platform), while an
2446
+ installation is `installing` or `waiting_for_retry`, when the website's certificate was
2447
+ revoked (it cannot be reissued), and when an uploaded custom certificate is installed; that
2448
+ one has to be uninstalled first.
2449
+
2450
+ - **Method**: `POST`
2451
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/ssl/setup`
2452
+
2453
+ #### hosting_getSSLStatusV1
2454
+
2455
+ Returns the SSL state of the website: the certificate `status` and `provider`, whether the
2456
+ certificate is a lifetime one managed by the platform, whether HTTP requests are redirected to
2457
+ HTTPS, when the certificate stops being valid and the last installation error.
2458
+
2459
+ `installing` and `waiting_for_retry` mean an installation is in progress. `failed` means the
2460
+ last installation gave up, or the website was not updated for 60 minutes while `installing`;
2461
+ `last_error` holds the reason when it is a known message, otherwise it is null. `expired`
2462
+ means the assigned certificate's validity has ended. `not_installed` means no certificate is
2463
+ assigned. Free subdomains use a platform-managed certificate: with no installation recorded
2464
+ they report `active` with `provider` and `expires_at` null.
2465
+
2466
+ - **Method**: `GET`
2467
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/ssl/status`
2468
+
2469
+ #### hosting_toggleHTTPSRedirectV1
2470
+
2471
+ Turns the HTTP to HTTPS redirect of the website on or off, based on `is_enabled`. Does
2472
+ nothing when the redirect is already in the requested state. Turning it on requires an
2473
+ installed certificate (`status` `active` or `expired` on `Get SSL status`) and returns 422
2474
+ when there is none; turning it off is always accepted.
2475
+
2476
+ - **Method**: `PATCH`
2477
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/ssl/https-redirect/toggle`
2478
+
2479
+ #### hosting_uninstallSSLV1
2480
+
2481
+ Removes the SSL certificate assigned to the website, turns the HTTPS redirect off and cancels
2482
+ a pending installation retry. The website serves plain HTTP until a new installation
2483
+ completes. `Get SSL status` reports `not_installed` as soon as the call returns; the call also
2484
+ succeeds when no certificate is assigned, so repeating it is safe.
2485
+
2486
+ Returns 422 for free subdomains (their certificate is managed by the platform) and while an
2487
+ installation is `installing`.
2488
+
2489
+ - **Method**: `DELETE`
2490
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/ssl`
2491
+
2393
2492
  #### hosting_listWebsitesV1
2394
2493
 
2395
2494
  Retrieve a paginated list of websites (CloudLinux, Builder, and Horizons) accessible to the
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.60.1",
3
+ "version": "1.61.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.60.1",
3
+ "version": "1.61.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.60.1",
9
+ "version": "1.61.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@hostinger/mcp",
14
- "version": "1.60.1",
14
+ "version": "1.61.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.52.1
32
+ * Generated from OpenAPI spec version 1.53.0
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -52,7 +52,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
52
52
 
53
53
  /**
54
54
  * MCP Server for Hostinger API
55
- * Generated from OpenAPI spec version 1.52.1
55
+ * Generated from OpenAPI spec version 1.53.0
56
56
  */
57
57
  class MCPServer {
58
58
  private readonly name: string;
@@ -6716,6 +6716,141 @@ export default [
6716
6716
  ],
6717
6717
  "group": "hosting"
6718
6718
  },
6719
+ {
6720
+ "name": "hosting_getGitAutoDeploymentSettingsV1",
6721
+ "title": "Get Git auto-deployment settings",
6722
+ "annotations": {
6723
+ "title": "Get Git auto-deployment settings",
6724
+ "readOnlyHint": true,
6725
+ "destructiveHint": false
6726
+ },
6727
+ "description": "Returns the Git auto-deployment settings of the website: which repository and branch deploy\ninto which directory, and whether pushes trigger a deployment. `is_enabled` false keeps the\nrepository link but ignores pushes.\n\nWhen the website has no auto-deployment configured every field is null. Save settings with\n`Update Git auto-deployment settings`.",
6728
+ "method": "GET",
6729
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings",
6730
+ "inputSchema": {
6731
+ "type": "object",
6732
+ "properties": {
6733
+ "username": {
6734
+ "type": "string",
6735
+ "description": "username parameter"
6736
+ },
6737
+ "domain": {
6738
+ "type": "string",
6739
+ "description": "Domain name"
6740
+ }
6741
+ },
6742
+ "required": [
6743
+ "username",
6744
+ "domain"
6745
+ ]
6746
+ },
6747
+ "security": [
6748
+ {
6749
+ "apiToken": []
6750
+ }
6751
+ ],
6752
+ "group": "hosting"
6753
+ },
6754
+ {
6755
+ "name": "hosting_updateGitAutoDeploymentSettingsV1",
6756
+ "title": "Update Git auto-deployment settings",
6757
+ "annotations": {
6758
+ "title": "Update Git auto-deployment settings",
6759
+ "readOnlyHint": false,
6760
+ "destructiveHint": true,
6761
+ "idempotentHint": true
6762
+ },
6763
+ "description": "Creates or replaces the Git auto-deployment settings of the website: repository, branch, the\ndirectory under the document root to deploy into, and `is_enabled`. Send the full set;\n`is_enabled` defaults to true and `directory` to the document root. `installation_uuid` must\nbe an installation from `List Git installations` that belongs to the same customer as the\nwebsite.\n\nFor PHP and static websites, saving with `is_enabled` true deploys the branch right away and\nevery later push to that branch deploys again. For Node.js and Website Builder websites saving\ndoes not clone anything. On a Node.js website start the first deploy with\n`Start Node.js build` using `source_type` `git`; pushes then trigger new builds with the build\nsettings stored for the website.",
6764
+ "method": "PUT",
6765
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings",
6766
+ "inputSchema": {
6767
+ "type": "object",
6768
+ "properties": {
6769
+ "username": {
6770
+ "type": "string",
6771
+ "description": "username parameter"
6772
+ },
6773
+ "domain": {
6774
+ "type": "string",
6775
+ "description": "Domain name"
6776
+ },
6777
+ "installation_uuid": {
6778
+ "type": "string",
6779
+ "description": "Active Git installation from `List Git installations`"
6780
+ },
6781
+ "owner": {
6782
+ "type": "string",
6783
+ "description": "Repository owner login, as returned by `List Git installation repositories`. GitLab group\npaths use slashes."
6784
+ },
6785
+ "repository": {
6786
+ "type": "string",
6787
+ "description": "Repository name without the .git suffix"
6788
+ },
6789
+ "branch": {
6790
+ "type": "string",
6791
+ "description": "Branch to deploy"
6792
+ },
6793
+ "directory": {
6794
+ "type": "string",
6795
+ "description": "Subdirectory under the website document root to deploy into. Empty, null or omitted means\nthe document root."
6796
+ },
6797
+ "is_enabled": {
6798
+ "type": "boolean",
6799
+ "description": "Whether pushes to the branch deploy automatically"
6800
+ }
6801
+ },
6802
+ "required": [
6803
+ "username",
6804
+ "domain",
6805
+ "installation_uuid",
6806
+ "owner",
6807
+ "repository",
6808
+ "branch"
6809
+ ]
6810
+ },
6811
+ "security": [
6812
+ {
6813
+ "apiToken": []
6814
+ }
6815
+ ],
6816
+ "group": "hosting"
6817
+ },
6818
+ {
6819
+ "name": "hosting_deleteGitAutoDeploymentSettingsV1",
6820
+ "title": "Delete Git auto-deployment settings",
6821
+ "annotations": {
6822
+ "title": "Delete Git auto-deployment settings",
6823
+ "readOnlyHint": false,
6824
+ "destructiveHint": true,
6825
+ "idempotentHint": true
6826
+ },
6827
+ "description": "Removes the Git auto-deployment settings of the website. Files already deployed stay on the\nwebsite; pushes stop deploying until settings are saved again. Succeeds also when nothing is\nconfigured.",
6828
+ "method": "DELETE",
6829
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings",
6830
+ "inputSchema": {
6831
+ "type": "object",
6832
+ "properties": {
6833
+ "username": {
6834
+ "type": "string",
6835
+ "description": "username parameter"
6836
+ },
6837
+ "domain": {
6838
+ "type": "string",
6839
+ "description": "Domain name"
6840
+ }
6841
+ },
6842
+ "required": [
6843
+ "username",
6844
+ "domain"
6845
+ ]
6846
+ },
6847
+ "security": [
6848
+ {
6849
+ "apiToken": []
6850
+ }
6851
+ ],
6852
+ "group": "hosting"
6853
+ },
6719
6854
  {
6720
6855
  "name": "hosting_listGitInstallationsV1",
6721
6856
  "title": "List Git installations",
@@ -6724,7 +6859,7 @@ export default [
6724
6859
  "readOnlyHint": true,
6725
6860
  "destructiveHint": false
6726
6861
  },
6727
- "description": "Lists the Git provider accounts the customer has connected. Only installations with status\n`active` are returned unless the `status` filter says otherwise.\n\nAn empty list means the customer has no active installation. Check `status=suspended` and\n`status=pending` as well. If there is none at all, GitHub has to be connected once in hPanel\n(Websites, Manage, Advanced, Git, Connect GitHub; or Add Website, Node.js Web App, Import Git\nRepository, Continue with GitHub); this endpoint then lists the new installation.\n\nUse `uuid` as the path parameter of `List Git installation repositories`.",
6862
+ "description": "Lists the Git provider accounts the customer has connected. Only installations with status\n`active` are returned unless the `status` filter says otherwise.\n\nAn empty list means the customer has no active installation. Check `status=suspended` and\n`status=pending` as well. If there is none at all, a Git provider (GitHub or GitLab) has to be\nconnected once in hPanel (Websites, Manage, Advanced, Git; or Add Website, Node.js Web App,\nImport Git Repository); this endpoint then lists the new installation.\n\nUse `uuid` as the path parameter of `List Git installation repositories`, and as\n`installation_uuid` in `Start Node.js build` with `source_type` `git` and in\n`Update Git auto-deployment settings`.",
6728
6863
  "method": "GET",
6729
6864
  "path": "/api/hosting/v1/git/installations",
6730
6865
  "inputSchema": {
@@ -6766,7 +6901,7 @@ export default [
6766
6901
  "readOnlyHint": true,
6767
6902
  "destructiveHint": false
6768
6903
  },
6769
- "description": "Lists the repositories the Git installation can access, read live from the provider. Works\nfor github and gitlab installations. Use an active installation: a suspended or pending one\nis still queried and the call fails with whatever the provider answers. The list is cut at\nthe first 500 repositories in the order the provider returns them; when the account has\nmore, name the repository directly instead of searching this list.\n\n`owner`, `name` and `default_branch` identify a repository and a branch to deploy. Returns\n404 when the installation does not belong to the customer. Limited to 10 calls per minute\nper API client (429 above that).",
6904
+ "description": "Lists the repositories the Git installation can access, read live from the provider. Works\nfor github and gitlab installations. Use an active installation: a suspended or pending one\nis still queried and the call fails with whatever the provider answers. The list is cut at\nthe first 500 repositories in the order the provider returns them; when the account has\nmore, name the repository directly instead of searching this list.\n\n`owner`, `name` and a branch (`default_branch` or another one) go into `source_options` of\n`Start Node.js build` or into `Update Git auto-deployment settings`. Returns 404 when the\ninstallation does not belong to the customer. Limited to 10 calls per minute per API client\n(429 above that).",
6770
6905
  "method": "GET",
6771
6906
  "path": "/api/hosting/v1/git/installations/{uuid}/repositories",
6772
6907
  "inputSchema": {
@@ -6853,7 +6988,7 @@ export default [
6853
6988
  "readOnlyHint": false,
6854
6989
  "destructiveHint": false
6855
6990
  },
6856
- "description": "Start a Node.js build process using files already present on the website's file storage.\n\nWARNING: on success this overwrites the website's existing contents and cannot be\nundone — verify this is intended before calling this endpoint.\n\nThe `source_type` must be `archive` and `source_options.archive_path` must point to an\nexisting archive file on the server (relative to the website document root).\nUse the `Generate Upload URL` endpoint to obtain credentials and upload the archive first.\n\nTo auto-detect build settings from an archive before starting, first call the\n`Get Node.js Build Settings from Archive` endpoint.\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
6991
+ "description": "Start a Node.js build process using files already present on the website's file storage.\n\nWARNING: on success this overwrites the website's existing contents and cannot be\nundone — verify this is intended before calling this endpoint.\n\nWith `source_type` `archive`, `source_options.archive_path` must point to an existing\narchive file on the server (relative to the website document root). Use the\n`Generate Upload URL` endpoint to obtain credentials and upload the archive first. To\nauto-detect build settings from an archive before starting, first call the\n`Get Node.js Build Settings from Archive` endpoint.\n\nWith `source_type` `git`, `source_options` carries `owner`, `repository`, `branch` and\n`installation_uuid`. Take the installation from `List Git installations` and the owner and\nrepository from `List Git installation repositories`; the branch is cloned at its current\nhead. The installation must belong to the same customer as the website.\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
6857
6992
  "method": "POST",
6858
6993
  "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds",
6859
6994
  "inputSchema": {
@@ -6929,18 +7064,35 @@ export default [
6929
7064
  },
6930
7065
  "source_type": {
6931
7066
  "type": "string",
6932
- "description": "The source type of the files",
7067
+ "description": "Where the files come from: `archive` (an uploaded archive on the website) or `git`\n(a branch of a repository reachable through a Git installation).",
6933
7068
  "enum": [
6934
- "archive"
7069
+ "archive",
7070
+ "git"
6935
7071
  ]
6936
7072
  },
6937
7073
  "source_options": {
6938
7074
  "type": "object",
6939
- "description": "Source-specific options",
7075
+ "description": "Source-specific options. For `archive` send `archive_path`. For `git` send `owner`,\n`repository`, `branch` and `installation_uuid`, taken from `List Git installations`\nand `List Git installation repositories`.",
6940
7076
  "properties": {
6941
7077
  "archive_path": {
6942
7078
  "type": "string",
6943
7079
  "description": "The path to the archive file relative to the document root of the vhost (required if source is \"archive\")"
7080
+ },
7081
+ "owner": {
7082
+ "type": "string",
7083
+ "description": "Repository owner login (required if source is \"git\"). GitLab group paths use\nslashes."
7084
+ },
7085
+ "repository": {
7086
+ "type": "string",
7087
+ "description": "Repository name without the .git suffix (required if source is \"git\")"
7088
+ },
7089
+ "branch": {
7090
+ "type": "string",
7091
+ "description": "Branch to build (required if source is \"git\")"
7092
+ },
7093
+ "installation_uuid": {
7094
+ "type": "string",
7095
+ "description": "Git installation used to access the repository (required if source is \"git\")"
6944
7096
  }
6945
7097
  }
6946
7098
  }
@@ -8012,6 +8164,153 @@ export default [
8012
8164
  ],
8013
8165
  "group": "hosting"
8014
8166
  },
8167
+ {
8168
+ "name": "hosting_installSSLV1",
8169
+ "title": "Install SSL",
8170
+ "annotations": {
8171
+ "title": "Install SSL",
8172
+ "readOnlyHint": false,
8173
+ "destructiveHint": false
8174
+ },
8175
+ "description": "Requests a lifetime SSL certificate for the website. The installation runs in the background;\n`Get SSL status` reports `active` or `failed` when it ends. An `active` lifetime certificate\ndoes not block the request: a new installation is requested, which is how a certificate is\nreinstalled.\n\nReturns 422 for free subdomains (their certificate is managed by the platform), while an\ninstallation is `installing` or `waiting_for_retry`, when the website's certificate was\nrevoked (it cannot be reissued), and when an uploaded custom certificate is installed; that\none has to be uninstalled first.",
8176
+ "method": "POST",
8177
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/ssl/setup",
8178
+ "inputSchema": {
8179
+ "type": "object",
8180
+ "properties": {
8181
+ "username": {
8182
+ "type": "string",
8183
+ "description": "username parameter"
8184
+ },
8185
+ "domain": {
8186
+ "type": "string",
8187
+ "description": "Domain name"
8188
+ }
8189
+ },
8190
+ "required": [
8191
+ "username",
8192
+ "domain"
8193
+ ]
8194
+ },
8195
+ "security": [
8196
+ {
8197
+ "apiToken": []
8198
+ }
8199
+ ],
8200
+ "group": "hosting"
8201
+ },
8202
+ {
8203
+ "name": "hosting_getSSLStatusV1",
8204
+ "title": "Get SSL status",
8205
+ "annotations": {
8206
+ "title": "Get SSL status",
8207
+ "readOnlyHint": true,
8208
+ "destructiveHint": false
8209
+ },
8210
+ "description": "Returns the SSL state of the website: the certificate `status` and `provider`, whether the\ncertificate is a lifetime one managed by the platform, whether HTTP requests are redirected to\nHTTPS, when the certificate stops being valid and the last installation error.\n\n`installing` and `waiting_for_retry` mean an installation is in progress. `failed` means the\nlast installation gave up, or the website was not updated for 60 minutes while `installing`;\n`last_error` holds the reason when it is a known message, otherwise it is null. `expired`\nmeans the assigned certificate's validity has ended. `not_installed` means no certificate is\nassigned. Free subdomains use a platform-managed certificate: with no installation recorded\nthey report `active` with `provider` and `expires_at` null.",
8211
+ "method": "GET",
8212
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/ssl/status",
8213
+ "inputSchema": {
8214
+ "type": "object",
8215
+ "properties": {
8216
+ "username": {
8217
+ "type": "string",
8218
+ "description": "username parameter"
8219
+ },
8220
+ "domain": {
8221
+ "type": "string",
8222
+ "description": "Domain name"
8223
+ }
8224
+ },
8225
+ "required": [
8226
+ "username",
8227
+ "domain"
8228
+ ]
8229
+ },
8230
+ "security": [
8231
+ {
8232
+ "apiToken": []
8233
+ }
8234
+ ],
8235
+ "group": "hosting"
8236
+ },
8237
+ {
8238
+ "name": "hosting_toggleHTTPSRedirectV1",
8239
+ "title": "Toggle HTTPS redirect",
8240
+ "annotations": {
8241
+ "title": "Toggle HTTPS redirect",
8242
+ "readOnlyHint": false,
8243
+ "destructiveHint": true,
8244
+ "idempotentHint": true
8245
+ },
8246
+ "description": "Turns the HTTP to HTTPS redirect of the website on or off, based on `is_enabled`. Does\nnothing when the redirect is already in the requested state. Turning it on requires an\ninstalled certificate (`status` `active` or `expired` on `Get SSL status`) and returns 422\nwhen there is none; turning it off is always accepted.",
8247
+ "method": "PATCH",
8248
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/ssl/https-redirect/toggle",
8249
+ "inputSchema": {
8250
+ "type": "object",
8251
+ "properties": {
8252
+ "username": {
8253
+ "type": "string",
8254
+ "description": "username parameter"
8255
+ },
8256
+ "domain": {
8257
+ "type": "string",
8258
+ "description": "Domain name"
8259
+ },
8260
+ "is_enabled": {
8261
+ "type": "boolean",
8262
+ "description": "Turn the HTTP to HTTPS redirect on (true) or off (false) for the website."
8263
+ }
8264
+ },
8265
+ "required": [
8266
+ "username",
8267
+ "domain",
8268
+ "is_enabled"
8269
+ ]
8270
+ },
8271
+ "security": [
8272
+ {
8273
+ "apiToken": []
8274
+ }
8275
+ ],
8276
+ "group": "hosting"
8277
+ },
8278
+ {
8279
+ "name": "hosting_uninstallSSLV1",
8280
+ "title": "Uninstall SSL",
8281
+ "annotations": {
8282
+ "title": "Uninstall SSL",
8283
+ "readOnlyHint": false,
8284
+ "destructiveHint": true,
8285
+ "idempotentHint": true
8286
+ },
8287
+ "description": "Removes the SSL certificate assigned to the website, turns the HTTPS redirect off and cancels\na pending installation retry. The website serves plain HTTP until a new installation\ncompletes. `Get SSL status` reports `not_installed` as soon as the call returns; the call also\nsucceeds when no certificate is assigned, so repeating it is safe.\n\nReturns 422 for free subdomains (their certificate is managed by the platform) and while an\ninstallation is `installing`.",
8288
+ "method": "DELETE",
8289
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/ssl",
8290
+ "inputSchema": {
8291
+ "type": "object",
8292
+ "properties": {
8293
+ "username": {
8294
+ "type": "string",
8295
+ "description": "username parameter"
8296
+ },
8297
+ "domain": {
8298
+ "type": "string",
8299
+ "description": "Domain name"
8300
+ }
8301
+ },
8302
+ "required": [
8303
+ "username",
8304
+ "domain"
8305
+ ]
8306
+ },
8307
+ "security": [
8308
+ {
8309
+ "apiToken": []
8310
+ }
8311
+ ],
8312
+ "group": "hosting"
8313
+ },
8015
8314
  {
8016
8315
  "name": "hosting_listWebsitesV1",
8017
8316
  "title": "List websites",