hostinger-api-mcp 1.7.1 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -49,14 +49,14 @@ pnpm update -g hostinger-api-mcp
49
49
 
50
50
  This package installs the following MCP server commands:
51
51
 
52
- - `hostinger-api-mcp` — unified server with every tool (217 total)
53
- - `hostinger-agency-hosting-mcp` — 14 tools for agency-hosting
52
+ - `hostinger-api-mcp` — unified server with every tool (222 total)
53
+ - `hostinger-agency-hosting-mcp` — 17 tools for agency-hosting
54
54
  - `hostinger-billing-mcp` — 7 tools for billing
55
55
  - `hostinger-dns-mcp` — 8 tools for dns
56
56
  - `hostinger-domains-mcp` — 19 tools for domains
57
57
  - `hostinger-ecommerce-mcp` — 12 tools for ecommerce
58
58
  - `hostinger-horizons-mcp` — 2 tools for horizons
59
- - `hostinger-hosting-mcp` — 46 tools for hosting
59
+ - `hostinger-hosting-mcp` — 48 tools for hosting
60
60
  - `hostinger-reach-mcp` — 12 tools for reach
61
61
  - `hostinger-vps-mcp` — 62 tools for vps
62
62
  - `hostinger-wordpress-mcp` — 35 tools for wordpress
@@ -323,6 +323,33 @@ Website contents are overwritten by the build result, which is deployed to publi
323
323
  - **Method**: `POST`
324
324
  - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/build-assets`
325
325
 
326
+ #### agency-hosting_listAgencyPlanWebsiteCronJobsV1
327
+
328
+ Returns a paginated list of cron jobs configured for an Agency Plan website.
329
+
330
+ Each entry includes the schedule expression and the command executed on that schedule.
331
+
332
+ - **Method**: `GET`
333
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/cron-jobs`
334
+
335
+ #### agency-hosting_createAgencyPlanWebsiteCronJobV1
336
+
337
+ Creates a cron job for an Agency Plan website from a schedule expression and a command.
338
+
339
+ Returns the created cron job, including its uuid, which is required to delete the cron job.
340
+
341
+ - **Method**: `POST`
342
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/cron-jobs`
343
+
344
+ #### agency-hosting_deleteAgencyPlanWebsiteCronJobV1
345
+
346
+ Permanently deletes the cron job identified by its uuid from an Agency Plan website.
347
+
348
+ The operation is idempotent: deleting a cron job that does not exist succeeds without error.
349
+
350
+ - **Method**: `DELETE`
351
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/cron-jobs/{uuid}`
352
+
326
353
  #### agency-hosting_getAgencyPlanWebsiteDetailsV1
327
354
 
328
355
  Retrieves detailed information about a specific Agency Plan website, including configuration,
@@ -1211,6 +1238,49 @@ has no effect. Returns success even when the website has no server process to re
1211
1238
  - **Method**: `POST`
1212
1239
  - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/server/restart`
1213
1240
 
1241
+ #### hosting_listNode_jsVulnerabilitiesV1
1242
+
1243
+ Lists known npm package vulnerabilities detected on a Node.js website, enriched with
1244
+ advisory metadata (severity, CVSS score, CVE, advisory URL). Results are sorted from
1245
+ the most severe to the least severe, then by publish date (newest first). Use the
1246
+ `severities` query parameter to filter.
1247
+
1248
+ Vulnerabilities with `is_patchable` set to `true` can be auto-fixed via the
1249
+ `Patch Node.js Vulnerabilities` endpoint, which opens a GitHub pull request with
1250
+ updated package versions. Auto-fix is only available for websites deployed from a
1251
+ connected GitHub repository. Vulnerabilities with `is_patching_in_progress` set to
1252
+ `true` are already included in an open patch pull request; while any patch pull
1253
+ request is open, new patch requests for this website are rejected until it is merged
1254
+ or closed.
1255
+
1256
+ Data comes from periodic dependency scans, so it may lag behind the latest deployment.
1257
+ An empty list means the most recent scan found no vulnerabilities; it does not
1258
+ guarantee the current deployment is vulnerability-free. Available on Business and
1259
+ Cloud Hosting plans.
1260
+
1261
+ - **Method**: `GET`
1262
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities`
1263
+
1264
+ #### hosting_patchNode_jsVulnerabilitiesV1
1265
+
1266
+ Patches the selected Node.js vulnerabilities by updating the affected package versions
1267
+ in `package.json` and opening a GitHub pull request in the connected repository. The
1268
+ customer reviews and merges the pull request; merging triggers the automatic deployment.
1269
+
1270
+ Auto-fix is only available for websites deployed from a connected GitHub repository.
1271
+ Websites deployed from an archive have no auto-fix path and return a 404. The Hostinger
1272
+ GitHub App needs write access to the repository; without it the request fails with a
1273
+ 403 explaining the missing permission.
1274
+
1275
+ Only vulnerabilities with `is_patchable` set to `true` can be patched. Non-patchable
1276
+ IDs in the selection are skipped; the pull request covers the patchable subset, listed
1277
+ in `patched_vulnerability_ids`. Selections without any patchable vulnerability are
1278
+ rejected with a 422. Only one patch pull request can be open at a time per website;
1279
+ close or merge it before patching again. Available on Business and Cloud Hosting plans.
1280
+
1281
+ - **Method**: `POST`
1282
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities/patch`
1283
+
1214
1284
  #### hosting_listOrdersV1
1215
1285
 
1216
1286
  Retrieve a paginated list of orders accessible to the authenticated client.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.7.1",
3
+ "version": "1.8.1",
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.7.1",
3
+ "version": "1.8.1",
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.7.1",
9
+ "version": "1.8.1",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "hostinger-api-mcp",
14
- "version": "1.7.1",
14
+ "version": "1.8.1",
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.7.1
32
+ * Generated from OpenAPI spec version 1.8.1
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.7.1
55
+ * Generated from OpenAPI spec version 1.8.1
56
56
  */
57
57
  class MCPServer {
58
58
  private readonly name: string;
@@ -456,6 +456,101 @@ export default [
456
456
  ],
457
457
  "group": "agency-hosting"
458
458
  },
459
+ {
460
+ "name": "agency-hosting_listAgencyPlanWebsiteCronJobsV1",
461
+ "description": "Returns a paginated list of cron jobs configured for an Agency Plan website.\n\nEach entry includes the schedule expression and the command executed on that schedule.",
462
+ "method": "GET",
463
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
464
+ "inputSchema": {
465
+ "type": "object",
466
+ "properties": {
467
+ "website_uid": {
468
+ "type": "string",
469
+ "description": "Agency Plan website UID"
470
+ },
471
+ "page": {
472
+ "type": "integer",
473
+ "description": "Page number"
474
+ },
475
+ "per_page": {
476
+ "type": "integer",
477
+ "description": "Number of items per page"
478
+ }
479
+ },
480
+ "required": [
481
+ "website_uid"
482
+ ]
483
+ },
484
+ "security": [
485
+ {
486
+ "apiToken": []
487
+ }
488
+ ],
489
+ "group": "agency-hosting"
490
+ },
491
+ {
492
+ "name": "agency-hosting_createAgencyPlanWebsiteCronJobV1",
493
+ "description": "Creates a cron job for an Agency Plan website from a schedule expression and a command.\n\nReturns the created cron job, including its uuid, which is required to delete the cron job.",
494
+ "method": "POST",
495
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
496
+ "inputSchema": {
497
+ "type": "object",
498
+ "properties": {
499
+ "website_uid": {
500
+ "type": "string",
501
+ "description": "Agency Plan website UID"
502
+ },
503
+ "time": {
504
+ "type": "string",
505
+ "description": "Cron schedule expression (standard 5-field crontab syntax)."
506
+ },
507
+ "command": {
508
+ "type": "string",
509
+ "description": "Command to run on the schedule. Must not contain pipe (|) or redirection (<, >) characters."
510
+ }
511
+ },
512
+ "required": [
513
+ "website_uid",
514
+ "time",
515
+ "command"
516
+ ]
517
+ },
518
+ "security": [
519
+ {
520
+ "apiToken": []
521
+ }
522
+ ],
523
+ "group": "agency-hosting"
524
+ },
525
+ {
526
+ "name": "agency-hosting_deleteAgencyPlanWebsiteCronJobV1",
527
+ "description": "Permanently deletes the cron job identified by its uuid from an Agency Plan website.\n\nThe operation is idempotent: deleting a cron job that does not exist succeeds without error.",
528
+ "method": "DELETE",
529
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs/{uuid}",
530
+ "inputSchema": {
531
+ "type": "object",
532
+ "properties": {
533
+ "website_uid": {
534
+ "type": "string",
535
+ "description": "Agency Plan website UID"
536
+ },
537
+ "uuid": {
538
+ "type": "string",
539
+ "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint."
540
+ }
541
+ },
542
+ "required": [
543
+ "website_uid",
544
+ "uuid"
545
+ ]
546
+ },
547
+ "security": [
548
+ {
549
+ "apiToken": []
550
+ }
551
+ ],
552
+ "group": "agency-hosting"
553
+ },
459
554
  {
460
555
  "name": "agency-hosting_getAgencyPlanWebsiteDetailsV1",
461
556
  "description": "Retrieves detailed information about a specific Agency Plan website, including configuration,\nstatus, metadata, hosting plan details, and resource quotas.",
@@ -470,6 +470,101 @@ const tools: OpenApiTool[] = [
470
470
  ],
471
471
  "group": "agency-hosting"
472
472
  },
473
+ {
474
+ "name": "agency-hosting_listAgencyPlanWebsiteCronJobsV1",
475
+ "description": "Returns a paginated list of cron jobs configured for an Agency Plan website.\n\nEach entry includes the schedule expression and the command executed on that schedule.",
476
+ "method": "GET",
477
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
478
+ "inputSchema": {
479
+ "type": "object",
480
+ "properties": {
481
+ "website_uid": {
482
+ "type": "string",
483
+ "description": "Agency Plan website UID"
484
+ },
485
+ "page": {
486
+ "type": "integer",
487
+ "description": "Page number"
488
+ },
489
+ "per_page": {
490
+ "type": "integer",
491
+ "description": "Number of items per page"
492
+ }
493
+ },
494
+ "required": [
495
+ "website_uid"
496
+ ]
497
+ },
498
+ "security": [
499
+ {
500
+ "apiToken": []
501
+ }
502
+ ],
503
+ "group": "agency-hosting"
504
+ },
505
+ {
506
+ "name": "agency-hosting_createAgencyPlanWebsiteCronJobV1",
507
+ "description": "Creates a cron job for an Agency Plan website from a schedule expression and a command.\n\nReturns the created cron job, including its uuid, which is required to delete the cron job.",
508
+ "method": "POST",
509
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
510
+ "inputSchema": {
511
+ "type": "object",
512
+ "properties": {
513
+ "website_uid": {
514
+ "type": "string",
515
+ "description": "Agency Plan website UID"
516
+ },
517
+ "time": {
518
+ "type": "string",
519
+ "description": "Cron schedule expression (standard 5-field crontab syntax)."
520
+ },
521
+ "command": {
522
+ "type": "string",
523
+ "description": "Command to run on the schedule. Must not contain pipe (|) or redirection (<, >) characters."
524
+ }
525
+ },
526
+ "required": [
527
+ "website_uid",
528
+ "time",
529
+ "command"
530
+ ]
531
+ },
532
+ "security": [
533
+ {
534
+ "apiToken": []
535
+ }
536
+ ],
537
+ "group": "agency-hosting"
538
+ },
539
+ {
540
+ "name": "agency-hosting_deleteAgencyPlanWebsiteCronJobV1",
541
+ "description": "Permanently deletes the cron job identified by its uuid from an Agency Plan website.\n\nThe operation is idempotent: deleting a cron job that does not exist succeeds without error.",
542
+ "method": "DELETE",
543
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs/{uuid}",
544
+ "inputSchema": {
545
+ "type": "object",
546
+ "properties": {
547
+ "website_uid": {
548
+ "type": "string",
549
+ "description": "Agency Plan website UID"
550
+ },
551
+ "uuid": {
552
+ "type": "string",
553
+ "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint."
554
+ }
555
+ },
556
+ "required": [
557
+ "website_uid",
558
+ "uuid"
559
+ ]
560
+ },
561
+ "security": [
562
+ {
563
+ "apiToken": []
564
+ }
565
+ ],
566
+ "group": "agency-hosting"
567
+ },
473
568
  {
474
569
  "name": "agency-hosting_getAgencyPlanWebsiteDetailsV1",
475
570
  "description": "Retrieves detailed information about a specific Agency Plan website, including configuration,\nstatus, metadata, hosting plan details, and resource quotas.",
@@ -713,6 +713,101 @@ export default [
713
713
  ],
714
714
  "group": "agency-hosting"
715
715
  },
716
+ {
717
+ "name": "agency-hosting_listAgencyPlanWebsiteCronJobsV1",
718
+ "description": "Returns a paginated list of cron jobs configured for an Agency Plan website.\n\nEach entry includes the schedule expression and the command executed on that schedule.",
719
+ "method": "GET",
720
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
721
+ "inputSchema": {
722
+ "type": "object",
723
+ "properties": {
724
+ "website_uid": {
725
+ "type": "string",
726
+ "description": "Agency Plan website UID"
727
+ },
728
+ "page": {
729
+ "type": "integer",
730
+ "description": "Page number"
731
+ },
732
+ "per_page": {
733
+ "type": "integer",
734
+ "description": "Number of items per page"
735
+ }
736
+ },
737
+ "required": [
738
+ "website_uid"
739
+ ]
740
+ },
741
+ "security": [
742
+ {
743
+ "apiToken": []
744
+ }
745
+ ],
746
+ "group": "agency-hosting"
747
+ },
748
+ {
749
+ "name": "agency-hosting_createAgencyPlanWebsiteCronJobV1",
750
+ "description": "Creates a cron job for an Agency Plan website from a schedule expression and a command.\n\nReturns the created cron job, including its uuid, which is required to delete the cron job.",
751
+ "method": "POST",
752
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
753
+ "inputSchema": {
754
+ "type": "object",
755
+ "properties": {
756
+ "website_uid": {
757
+ "type": "string",
758
+ "description": "Agency Plan website UID"
759
+ },
760
+ "time": {
761
+ "type": "string",
762
+ "description": "Cron schedule expression (standard 5-field crontab syntax)."
763
+ },
764
+ "command": {
765
+ "type": "string",
766
+ "description": "Command to run on the schedule. Must not contain pipe (|) or redirection (<, >) characters."
767
+ }
768
+ },
769
+ "required": [
770
+ "website_uid",
771
+ "time",
772
+ "command"
773
+ ]
774
+ },
775
+ "security": [
776
+ {
777
+ "apiToken": []
778
+ }
779
+ ],
780
+ "group": "agency-hosting"
781
+ },
782
+ {
783
+ "name": "agency-hosting_deleteAgencyPlanWebsiteCronJobV1",
784
+ "description": "Permanently deletes the cron job identified by its uuid from an Agency Plan website.\n\nThe operation is idempotent: deleting a cron job that does not exist succeeds without error.",
785
+ "method": "DELETE",
786
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs/{uuid}",
787
+ "inputSchema": {
788
+ "type": "object",
789
+ "properties": {
790
+ "website_uid": {
791
+ "type": "string",
792
+ "description": "Agency Plan website UID"
793
+ },
794
+ "uuid": {
795
+ "type": "string",
796
+ "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint."
797
+ }
798
+ },
799
+ "required": [
800
+ "website_uid",
801
+ "uuid"
802
+ ]
803
+ },
804
+ "security": [
805
+ {
806
+ "apiToken": []
807
+ }
808
+ ],
809
+ "group": "agency-hosting"
810
+ },
716
811
  {
717
812
  "name": "agency-hosting_getAgencyPlanWebsiteDetailsV1",
718
813
  "description": "Retrieves detailed information about a specific Agency Plan website, including configuration,\nstatus, metadata, hosting plan details, and resource quotas.",
@@ -3288,6 +3383,88 @@ export default [
3288
3383
  ],
3289
3384
  "group": "hosting"
3290
3385
  },
3386
+ {
3387
+ "name": "hosting_listNode_jsVulnerabilitiesV1",
3388
+ "description": "Lists known npm package vulnerabilities detected on a Node.js website, enriched with\nadvisory metadata (severity, CVSS score, CVE, advisory URL). Results are sorted from\nthe most severe to the least severe, then by publish date (newest first). Use the\n`severities` query parameter to filter.\n\nVulnerabilities with `is_patchable` set to `true` can be auto-fixed via the\n`Patch Node.js Vulnerabilities` endpoint, which opens a GitHub pull request with\nupdated package versions. Auto-fix is only available for websites deployed from a\nconnected GitHub repository. Vulnerabilities with `is_patching_in_progress` set to\n`true` are already included in an open patch pull request; while any patch pull\nrequest is open, new patch requests for this website are rejected until it is merged\nor closed.\n\nData comes from periodic dependency scans, so it may lag behind the latest deployment.\nAn empty list means the most recent scan found no vulnerabilities; it does not\nguarantee the current deployment is vulnerability-free. Available on Business and\nCloud Hosting plans.",
3389
+ "method": "GET",
3390
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities",
3391
+ "inputSchema": {
3392
+ "type": "object",
3393
+ "properties": {
3394
+ "username": {
3395
+ "type": "string",
3396
+ "description": "username parameter"
3397
+ },
3398
+ "domain": {
3399
+ "type": "string",
3400
+ "description": "Domain name"
3401
+ },
3402
+ "severities": {
3403
+ "type": "array",
3404
+ "description": "Severities to filter by",
3405
+ "items": {
3406
+ "type": "string",
3407
+ "description": "severities parameter",
3408
+ "enum": [
3409
+ "low",
3410
+ "moderate",
3411
+ "high",
3412
+ "critical",
3413
+ "unknown"
3414
+ ]
3415
+ }
3416
+ }
3417
+ },
3418
+ "required": [
3419
+ "username",
3420
+ "domain"
3421
+ ]
3422
+ },
3423
+ "security": [
3424
+ {
3425
+ "apiToken": []
3426
+ }
3427
+ ],
3428
+ "group": "hosting"
3429
+ },
3430
+ {
3431
+ "name": "hosting_patchNode_jsVulnerabilitiesV1",
3432
+ "description": "Patches the selected Node.js vulnerabilities by updating the affected package versions\nin `package.json` and opening a GitHub pull request in the connected repository. The\ncustomer reviews and merges the pull request; merging triggers the automatic deployment.\n\nAuto-fix is only available for websites deployed from a connected GitHub repository.\nWebsites deployed from an archive have no auto-fix path and return a 404. The Hostinger\nGitHub App needs write access to the repository; without it the request fails with a\n403 explaining the missing permission.\n\nOnly vulnerabilities with `is_patchable` set to `true` can be patched. Non-patchable\nIDs in the selection are skipped; the pull request covers the patchable subset, listed\nin `patched_vulnerability_ids`. Selections without any patchable vulnerability are\nrejected with a 422. Only one patch pull request can be open at a time per website;\nclose or merge it before patching again. Available on Business and Cloud Hosting plans.",
3433
+ "method": "POST",
3434
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities/patch",
3435
+ "inputSchema": {
3436
+ "type": "object",
3437
+ "properties": {
3438
+ "username": {
3439
+ "type": "string",
3440
+ "description": "username parameter"
3441
+ },
3442
+ "domain": {
3443
+ "type": "string",
3444
+ "description": "Domain name"
3445
+ },
3446
+ "vulnerability_ids": {
3447
+ "type": "array",
3448
+ "description": "List of vulnerability IDs to patch, as returned by the list vulnerabilities endpoint.",
3449
+ "items": {
3450
+ "type": "string",
3451
+ "description": "vulnerability_ids parameter"
3452
+ }
3453
+ }
3454
+ },
3455
+ "required": [
3456
+ "username",
3457
+ "domain",
3458
+ "vulnerability_ids"
3459
+ ]
3460
+ },
3461
+ "security": [
3462
+ {
3463
+ "apiToken": []
3464
+ }
3465
+ ],
3466
+ "group": "hosting"
3467
+ },
3291
3468
  {
3292
3469
  "name": "hosting_listOrdersV1",
3293
3470
  "description": "Retrieve a paginated list of orders accessible to the authenticated client.\n\nThis endpoint returns orders of your hosting accounts as well as orders\nof other client hosting accounts that have shared access with you.\n\nUse the available query parameters to filter results by order statuses\nor specific order IDs for more targeted results.",
@@ -727,6 +727,101 @@ const tools: OpenApiTool[] = [
727
727
  ],
728
728
  "group": "agency-hosting"
729
729
  },
730
+ {
731
+ "name": "agency-hosting_listAgencyPlanWebsiteCronJobsV1",
732
+ "description": "Returns a paginated list of cron jobs configured for an Agency Plan website.\n\nEach entry includes the schedule expression and the command executed on that schedule.",
733
+ "method": "GET",
734
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
735
+ "inputSchema": {
736
+ "type": "object",
737
+ "properties": {
738
+ "website_uid": {
739
+ "type": "string",
740
+ "description": "Agency Plan website UID"
741
+ },
742
+ "page": {
743
+ "type": "integer",
744
+ "description": "Page number"
745
+ },
746
+ "per_page": {
747
+ "type": "integer",
748
+ "description": "Number of items per page"
749
+ }
750
+ },
751
+ "required": [
752
+ "website_uid"
753
+ ]
754
+ },
755
+ "security": [
756
+ {
757
+ "apiToken": []
758
+ }
759
+ ],
760
+ "group": "agency-hosting"
761
+ },
762
+ {
763
+ "name": "agency-hosting_createAgencyPlanWebsiteCronJobV1",
764
+ "description": "Creates a cron job for an Agency Plan website from a schedule expression and a command.\n\nReturns the created cron job, including its uuid, which is required to delete the cron job.",
765
+ "method": "POST",
766
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs",
767
+ "inputSchema": {
768
+ "type": "object",
769
+ "properties": {
770
+ "website_uid": {
771
+ "type": "string",
772
+ "description": "Agency Plan website UID"
773
+ },
774
+ "time": {
775
+ "type": "string",
776
+ "description": "Cron schedule expression (standard 5-field crontab syntax)."
777
+ },
778
+ "command": {
779
+ "type": "string",
780
+ "description": "Command to run on the schedule. Must not contain pipe (|) or redirection (<, >) characters."
781
+ }
782
+ },
783
+ "required": [
784
+ "website_uid",
785
+ "time",
786
+ "command"
787
+ ]
788
+ },
789
+ "security": [
790
+ {
791
+ "apiToken": []
792
+ }
793
+ ],
794
+ "group": "agency-hosting"
795
+ },
796
+ {
797
+ "name": "agency-hosting_deleteAgencyPlanWebsiteCronJobV1",
798
+ "description": "Permanently deletes the cron job identified by its uuid from an Agency Plan website.\n\nThe operation is idempotent: deleting a cron job that does not exist succeeds without error.",
799
+ "method": "DELETE",
800
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/cron-jobs/{uuid}",
801
+ "inputSchema": {
802
+ "type": "object",
803
+ "properties": {
804
+ "website_uid": {
805
+ "type": "string",
806
+ "description": "Agency Plan website UID"
807
+ },
808
+ "uuid": {
809
+ "type": "string",
810
+ "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint."
811
+ }
812
+ },
813
+ "required": [
814
+ "website_uid",
815
+ "uuid"
816
+ ]
817
+ },
818
+ "security": [
819
+ {
820
+ "apiToken": []
821
+ }
822
+ ],
823
+ "group": "agency-hosting"
824
+ },
730
825
  {
731
826
  "name": "agency-hosting_getAgencyPlanWebsiteDetailsV1",
732
827
  "description": "Retrieves detailed information about a specific Agency Plan website, including configuration,\nstatus, metadata, hosting plan details, and resource quotas.",
@@ -3302,6 +3397,88 @@ const tools: OpenApiTool[] = [
3302
3397
  ],
3303
3398
  "group": "hosting"
3304
3399
  },
3400
+ {
3401
+ "name": "hosting_listNode_jsVulnerabilitiesV1",
3402
+ "description": "Lists known npm package vulnerabilities detected on a Node.js website, enriched with\nadvisory metadata (severity, CVSS score, CVE, advisory URL). Results are sorted from\nthe most severe to the least severe, then by publish date (newest first). Use the\n`severities` query parameter to filter.\n\nVulnerabilities with `is_patchable` set to `true` can be auto-fixed via the\n`Patch Node.js Vulnerabilities` endpoint, which opens a GitHub pull request with\nupdated package versions. Auto-fix is only available for websites deployed from a\nconnected GitHub repository. Vulnerabilities with `is_patching_in_progress` set to\n`true` are already included in an open patch pull request; while any patch pull\nrequest is open, new patch requests for this website are rejected until it is merged\nor closed.\n\nData comes from periodic dependency scans, so it may lag behind the latest deployment.\nAn empty list means the most recent scan found no vulnerabilities; it does not\nguarantee the current deployment is vulnerability-free. Available on Business and\nCloud Hosting plans.",
3403
+ "method": "GET",
3404
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities",
3405
+ "inputSchema": {
3406
+ "type": "object",
3407
+ "properties": {
3408
+ "username": {
3409
+ "type": "string",
3410
+ "description": "username parameter"
3411
+ },
3412
+ "domain": {
3413
+ "type": "string",
3414
+ "description": "Domain name"
3415
+ },
3416
+ "severities": {
3417
+ "type": "array",
3418
+ "description": "Severities to filter by",
3419
+ "items": {
3420
+ "type": "string",
3421
+ "description": "severities parameter",
3422
+ "enum": [
3423
+ "low",
3424
+ "moderate",
3425
+ "high",
3426
+ "critical",
3427
+ "unknown"
3428
+ ]
3429
+ }
3430
+ }
3431
+ },
3432
+ "required": [
3433
+ "username",
3434
+ "domain"
3435
+ ]
3436
+ },
3437
+ "security": [
3438
+ {
3439
+ "apiToken": []
3440
+ }
3441
+ ],
3442
+ "group": "hosting"
3443
+ },
3444
+ {
3445
+ "name": "hosting_patchNode_jsVulnerabilitiesV1",
3446
+ "description": "Patches the selected Node.js vulnerabilities by updating the affected package versions\nin `package.json` and opening a GitHub pull request in the connected repository. The\ncustomer reviews and merges the pull request; merging triggers the automatic deployment.\n\nAuto-fix is only available for websites deployed from a connected GitHub repository.\nWebsites deployed from an archive have no auto-fix path and return a 404. The Hostinger\nGitHub App needs write access to the repository; without it the request fails with a\n403 explaining the missing permission.\n\nOnly vulnerabilities with `is_patchable` set to `true` can be patched. Non-patchable\nIDs in the selection are skipped; the pull request covers the patchable subset, listed\nin `patched_vulnerability_ids`. Selections without any patchable vulnerability are\nrejected with a 422. Only one patch pull request can be open at a time per website;\nclose or merge it before patching again. Available on Business and Cloud Hosting plans.",
3447
+ "method": "POST",
3448
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities/patch",
3449
+ "inputSchema": {
3450
+ "type": "object",
3451
+ "properties": {
3452
+ "username": {
3453
+ "type": "string",
3454
+ "description": "username parameter"
3455
+ },
3456
+ "domain": {
3457
+ "type": "string",
3458
+ "description": "Domain name"
3459
+ },
3460
+ "vulnerability_ids": {
3461
+ "type": "array",
3462
+ "description": "List of vulnerability IDs to patch, as returned by the list vulnerabilities endpoint.",
3463
+ "items": {
3464
+ "type": "string",
3465
+ "description": "vulnerability_ids parameter"
3466
+ }
3467
+ }
3468
+ },
3469
+ "required": [
3470
+ "username",
3471
+ "domain",
3472
+ "vulnerability_ids"
3473
+ ]
3474
+ },
3475
+ "security": [
3476
+ {
3477
+ "apiToken": []
3478
+ }
3479
+ ],
3480
+ "group": "hosting"
3481
+ },
3305
3482
  {
3306
3483
  "name": "hosting_listOrdersV1",
3307
3484
  "description": "Retrieve a paginated list of orders accessible to the authenticated client.\n\nThis endpoint returns orders of your hosting accounts as well as orders\nof other client hosting accounts that have shared access with you.\n\nUse the available query parameters to filter results by order statuses\nor specific order IDs for more targeted results.",
@@ -1248,6 +1248,88 @@ export default [
1248
1248
  ],
1249
1249
  "group": "hosting"
1250
1250
  },
1251
+ {
1252
+ "name": "hosting_listNode_jsVulnerabilitiesV1",
1253
+ "description": "Lists known npm package vulnerabilities detected on a Node.js website, enriched with\nadvisory metadata (severity, CVSS score, CVE, advisory URL). Results are sorted from\nthe most severe to the least severe, then by publish date (newest first). Use the\n`severities` query parameter to filter.\n\nVulnerabilities with `is_patchable` set to `true` can be auto-fixed via the\n`Patch Node.js Vulnerabilities` endpoint, which opens a GitHub pull request with\nupdated package versions. Auto-fix is only available for websites deployed from a\nconnected GitHub repository. Vulnerabilities with `is_patching_in_progress` set to\n`true` are already included in an open patch pull request; while any patch pull\nrequest is open, new patch requests for this website are rejected until it is merged\nor closed.\n\nData comes from periodic dependency scans, so it may lag behind the latest deployment.\nAn empty list means the most recent scan found no vulnerabilities; it does not\nguarantee the current deployment is vulnerability-free. Available on Business and\nCloud Hosting plans.",
1254
+ "method": "GET",
1255
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities",
1256
+ "inputSchema": {
1257
+ "type": "object",
1258
+ "properties": {
1259
+ "username": {
1260
+ "type": "string",
1261
+ "description": "username parameter"
1262
+ },
1263
+ "domain": {
1264
+ "type": "string",
1265
+ "description": "Domain name"
1266
+ },
1267
+ "severities": {
1268
+ "type": "array",
1269
+ "description": "Severities to filter by",
1270
+ "items": {
1271
+ "type": "string",
1272
+ "description": "severities parameter",
1273
+ "enum": [
1274
+ "low",
1275
+ "moderate",
1276
+ "high",
1277
+ "critical",
1278
+ "unknown"
1279
+ ]
1280
+ }
1281
+ }
1282
+ },
1283
+ "required": [
1284
+ "username",
1285
+ "domain"
1286
+ ]
1287
+ },
1288
+ "security": [
1289
+ {
1290
+ "apiToken": []
1291
+ }
1292
+ ],
1293
+ "group": "hosting"
1294
+ },
1295
+ {
1296
+ "name": "hosting_patchNode_jsVulnerabilitiesV1",
1297
+ "description": "Patches the selected Node.js vulnerabilities by updating the affected package versions\nin `package.json` and opening a GitHub pull request in the connected repository. The\ncustomer reviews and merges the pull request; merging triggers the automatic deployment.\n\nAuto-fix is only available for websites deployed from a connected GitHub repository.\nWebsites deployed from an archive have no auto-fix path and return a 404. The Hostinger\nGitHub App needs write access to the repository; without it the request fails with a\n403 explaining the missing permission.\n\nOnly vulnerabilities with `is_patchable` set to `true` can be patched. Non-patchable\nIDs in the selection are skipped; the pull request covers the patchable subset, listed\nin `patched_vulnerability_ids`. Selections without any patchable vulnerability are\nrejected with a 422. Only one patch pull request can be open at a time per website;\nclose or merge it before patching again. Available on Business and Cloud Hosting plans.",
1298
+ "method": "POST",
1299
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities/patch",
1300
+ "inputSchema": {
1301
+ "type": "object",
1302
+ "properties": {
1303
+ "username": {
1304
+ "type": "string",
1305
+ "description": "username parameter"
1306
+ },
1307
+ "domain": {
1308
+ "type": "string",
1309
+ "description": "Domain name"
1310
+ },
1311
+ "vulnerability_ids": {
1312
+ "type": "array",
1313
+ "description": "List of vulnerability IDs to patch, as returned by the list vulnerabilities endpoint.",
1314
+ "items": {
1315
+ "type": "string",
1316
+ "description": "vulnerability_ids parameter"
1317
+ }
1318
+ }
1319
+ },
1320
+ "required": [
1321
+ "username",
1322
+ "domain",
1323
+ "vulnerability_ids"
1324
+ ]
1325
+ },
1326
+ "security": [
1327
+ {
1328
+ "apiToken": []
1329
+ }
1330
+ ],
1331
+ "group": "hosting"
1332
+ },
1251
1333
  {
1252
1334
  "name": "hosting_listOrdersV1",
1253
1335
  "description": "Retrieve a paginated list of orders accessible to the authenticated client.\n\nThis endpoint returns orders of your hosting accounts as well as orders\nof other client hosting accounts that have shared access with you.\n\nUse the available query parameters to filter results by order statuses\nor specific order IDs for more targeted results.",
@@ -1262,6 +1262,88 @@ const tools: OpenApiTool[] = [
1262
1262
  ],
1263
1263
  "group": "hosting"
1264
1264
  },
1265
+ {
1266
+ "name": "hosting_listNode_jsVulnerabilitiesV1",
1267
+ "description": "Lists known npm package vulnerabilities detected on a Node.js website, enriched with\nadvisory metadata (severity, CVSS score, CVE, advisory URL). Results are sorted from\nthe most severe to the least severe, then by publish date (newest first). Use the\n`severities` query parameter to filter.\n\nVulnerabilities with `is_patchable` set to `true` can be auto-fixed via the\n`Patch Node.js Vulnerabilities` endpoint, which opens a GitHub pull request with\nupdated package versions. Auto-fix is only available for websites deployed from a\nconnected GitHub repository. Vulnerabilities with `is_patching_in_progress` set to\n`true` are already included in an open patch pull request; while any patch pull\nrequest is open, new patch requests for this website are rejected until it is merged\nor closed.\n\nData comes from periodic dependency scans, so it may lag behind the latest deployment.\nAn empty list means the most recent scan found no vulnerabilities; it does not\nguarantee the current deployment is vulnerability-free. Available on Business and\nCloud Hosting plans.",
1268
+ "method": "GET",
1269
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities",
1270
+ "inputSchema": {
1271
+ "type": "object",
1272
+ "properties": {
1273
+ "username": {
1274
+ "type": "string",
1275
+ "description": "username parameter"
1276
+ },
1277
+ "domain": {
1278
+ "type": "string",
1279
+ "description": "Domain name"
1280
+ },
1281
+ "severities": {
1282
+ "type": "array",
1283
+ "description": "Severities to filter by",
1284
+ "items": {
1285
+ "type": "string",
1286
+ "description": "severities parameter",
1287
+ "enum": [
1288
+ "low",
1289
+ "moderate",
1290
+ "high",
1291
+ "critical",
1292
+ "unknown"
1293
+ ]
1294
+ }
1295
+ }
1296
+ },
1297
+ "required": [
1298
+ "username",
1299
+ "domain"
1300
+ ]
1301
+ },
1302
+ "security": [
1303
+ {
1304
+ "apiToken": []
1305
+ }
1306
+ ],
1307
+ "group": "hosting"
1308
+ },
1309
+ {
1310
+ "name": "hosting_patchNode_jsVulnerabilitiesV1",
1311
+ "description": "Patches the selected Node.js vulnerabilities by updating the affected package versions\nin `package.json` and opening a GitHub pull request in the connected repository. The\ncustomer reviews and merges the pull request; merging triggers the automatic deployment.\n\nAuto-fix is only available for websites deployed from a connected GitHub repository.\nWebsites deployed from an archive have no auto-fix path and return a 404. The Hostinger\nGitHub App needs write access to the repository; without it the request fails with a\n403 explaining the missing permission.\n\nOnly vulnerabilities with `is_patchable` set to `true` can be patched. Non-patchable\nIDs in the selection are skipped; the pull request covers the patchable subset, listed\nin `patched_vulnerability_ids`. Selections without any patchable vulnerability are\nrejected with a 422. Only one patch pull request can be open at a time per website;\nclose or merge it before patching again. Available on Business and Cloud Hosting plans.",
1312
+ "method": "POST",
1313
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/vulnerabilities/patch",
1314
+ "inputSchema": {
1315
+ "type": "object",
1316
+ "properties": {
1317
+ "username": {
1318
+ "type": "string",
1319
+ "description": "username parameter"
1320
+ },
1321
+ "domain": {
1322
+ "type": "string",
1323
+ "description": "Domain name"
1324
+ },
1325
+ "vulnerability_ids": {
1326
+ "type": "array",
1327
+ "description": "List of vulnerability IDs to patch, as returned by the list vulnerabilities endpoint.",
1328
+ "items": {
1329
+ "type": "string",
1330
+ "description": "vulnerability_ids parameter"
1331
+ }
1332
+ }
1333
+ },
1334
+ "required": [
1335
+ "username",
1336
+ "domain",
1337
+ "vulnerability_ids"
1338
+ ]
1339
+ },
1340
+ "security": [
1341
+ {
1342
+ "apiToken": []
1343
+ }
1344
+ ],
1345
+ "group": "hosting"
1346
+ },
1265
1347
  {
1266
1348
  "name": "hosting_listOrdersV1",
1267
1349
  "description": "Retrieve a paginated list of orders accessible to the authenticated client.\n\nThis endpoint returns orders of your hosting accounts as well as orders\nof other client hosting accounts that have shared access with you.\n\nUse the available query parameters to filter results by order statuses\nor specific order IDs for more targeted results.",
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.8.1', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.7.1', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.8.1', tools });
package/types.d.ts CHANGED
@@ -429,6 +429,71 @@ Website contents are overwritten by the build result, which is deployed to publi
429
429
  response: any; // Response structure will depend on the API
430
430
  };
431
431
 
432
+ /**
433
+ * Returns a paginated list of cron jobs configured for an Agency Plan website.
434
+
435
+ Each entry includes the schedule expression and the command executed on that schedule.
436
+ */
437
+ "agency-hosting_listAgencyPlanWebsiteCronJobsV1": {
438
+ params: {
439
+ /**
440
+ * Agency Plan website UID
441
+ */
442
+ website_uid: string;
443
+ /**
444
+ * Page number
445
+ */
446
+ page?: number;
447
+ /**
448
+ * Number of items per page
449
+ */
450
+ per_page?: number;
451
+ };
452
+ response: any; // Response structure will depend on the API
453
+ };
454
+
455
+ /**
456
+ * Creates a cron job for an Agency Plan website from a schedule expression and a command.
457
+
458
+ Returns the created cron job, including its uuid, which is required to delete the cron job.
459
+ */
460
+ "agency-hosting_createAgencyPlanWebsiteCronJobV1": {
461
+ params: {
462
+ /**
463
+ * Agency Plan website UID
464
+ */
465
+ website_uid: string;
466
+ /**
467
+ * Cron schedule expression (standard 5-field crontab syntax).
468
+ */
469
+ time: string;
470
+ /**
471
+ * Command to run on the schedule. Must not contain pipe (|) or redirection (<, >) characters.
472
+ */
473
+ command: string;
474
+ };
475
+ response: any; // Response structure will depend on the API
476
+ };
477
+
478
+ /**
479
+ * Permanently deletes the cron job identified by its uuid from an Agency Plan website.
480
+
481
+ The operation is idempotent: deleting a cron job that does not exist succeeds without error.
482
+ */
483
+ "agency-hosting_deleteAgencyPlanWebsiteCronJobV1": {
484
+ params: {
485
+ /**
486
+ * Agency Plan website UID
487
+ */
488
+ website_uid: string;
489
+ /**
490
+ * Unique identifier of the cron job as returned by the list cron jobs endpoint.
491
+ */
492
+ uuid: string;
493
+ };
494
+ response: any; // Response structure will depend on the API
495
+ };
496
+
432
497
  /**
433
498
  * Retrieves detailed information about a specific Agency Plan website, including configuration,
434
499
  status, metadata, hosting plan details, and resource quotas.
@@ -2153,6 +2218,77 @@ has no effect. Returns success even when the website has no server process to re
2153
2218
  response: any; // Response structure will depend on the API
2154
2219
  };
2155
2220
 
2221
+ /**
2222
+ * Lists known npm package vulnerabilities detected on a Node.js website, enriched with
2223
+ advisory metadata (severity, CVSS score, CVE, advisory URL). Results are sorted from
2224
+ the most severe to the least severe, then by publish date (newest first). Use the
2225
+ `severities` query parameter to filter.
2226
+
2227
+ Vulnerabilities with `is_patchable` set to `true` can be auto-fixed via the
2228
+ `Patch Node.js Vulnerabilities` endpoint, which opens a GitHub pull request with
2229
+ updated package versions. Auto-fix is only available for websites deployed from a
2230
+ connected GitHub repository. Vulnerabilities with `is_patching_in_progress` set to
2231
+ `true` are already included in an open patch pull request; while any patch pull
2232
+ request is open, new patch requests for this website are rejected until it is merged
2233
+ or closed.
2234
+
2235
+ Data comes from periodic dependency scans, so it may lag behind the latest deployment.
2236
+ An empty list means the most recent scan found no vulnerabilities; it does not
2237
+ guarantee the current deployment is vulnerability-free. Available on Business and
2238
+ Cloud Hosting plans.
2239
+ */
2240
+ "hosting_listNode_jsVulnerabilitiesV1": {
2241
+ params: {
2242
+ /**
2243
+ * username parameter
2244
+ */
2245
+ username: string;
2246
+ /**
2247
+ * Domain name
2248
+ */
2249
+ domain: string;
2250
+ /**
2251
+ * Severities to filter by
2252
+ */
2253
+ severities?: array;
2254
+ };
2255
+ response: any; // Response structure will depend on the API
2256
+ };
2257
+
2258
+ /**
2259
+ * Patches the selected Node.js vulnerabilities by updating the affected package versions
2260
+ in `package.json` and opening a GitHub pull request in the connected repository. The
2261
+ customer reviews and merges the pull request; merging triggers the automatic deployment.
2262
+
2263
+ Auto-fix is only available for websites deployed from a connected GitHub repository.
2264
+ Websites deployed from an archive have no auto-fix path and return a 404. The Hostinger
2265
+ GitHub App needs write access to the repository; without it the request fails with a
2266
+ 403 explaining the missing permission.
2267
+
2268
+ Only vulnerabilities with `is_patchable` set to `true` can be patched. Non-patchable
2269
+ IDs in the selection are skipped; the pull request covers the patchable subset, listed
2270
+ in `patched_vulnerability_ids`. Selections without any patchable vulnerability are
2271
+ rejected with a 422. Only one patch pull request can be open at a time per website;
2272
+ close or merge it before patching again. Available on Business and Cloud Hosting plans.
2273
+ */
2274
+ "hosting_patchNode_jsVulnerabilitiesV1": {
2275
+ params: {
2276
+ /**
2277
+ * username parameter
2278
+ */
2279
+ username: string;
2280
+ /**
2281
+ * Domain name
2282
+ */
2283
+ domain: string;
2284
+ /**
2285
+ * List of vulnerability IDs to patch, as returned by the list vulnerabilities endpoint.
2286
+ */
2287
+ vulnerability_ids: array;
2288
+ };
2289
+ response: any; // Response structure will depend on the API
2290
+ };
2291
+
2156
2292
  /**
2157
2293
  * Retrieve a paginated list of orders accessible to the authenticated client.
2158
2294