hostinger-api-mcp 1.29.0 → 1.31.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.
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.29.0', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.31.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.29.0', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.31.0', 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.29.0', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.31.0', 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.29.0', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.31.0', 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.29.0', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.31.0', 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.29.0', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.31.0', 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.29.0', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.31.0', 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.29.0', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.31.0', tools });
package/types.d.ts CHANGED
@@ -1411,6 +1411,43 @@ Use this endpoint to obtain the code required to transfer a domain to another re
1411
1411
  response: any; // Response structure will depend on the API
1412
1412
  };
1413
1413
 
1414
+ /**
1415
+ * Claim a free domain available on your account and register it.
1416
+
1417
+ Unlike purchasing a domain, this consumes a free domain you already have,
1418
+ so no payment method is required.
1419
+
1420
+ A successful response means the domain is registered. If registration fails, login to
1421
+ [hPanel](https://hpanel.hostinger.com/) and check domain registration status.
1422
+
1423
+ If no WHOIS information is provided, default contact information for that TLD will be used.
1424
+ Before making request, ensure WHOIS information for desired TLD exists in your account.
1425
+
1426
+ Some TLDs require `additional_details` to be provided and these will be validated before claiming.
1427
+
1428
+ Requests which cannot be fulfilled are rejected with an error code in the response body,
1429
+ for example `2037` when no free domain is available.
1430
+
1431
+ Use this endpoint to register a domain using a free domain from your account.
1432
+ */
1433
+ "domains_claimFreeDomainV1": {
1434
+ params: {
1435
+ /**
1436
+ * Domain name
1437
+ */
1438
+ domain: string;
1439
+ /**
1440
+ * Domain contact information
1441
+ */
1442
+ domain_contacts?: object;
1443
+ /**
1444
+ * Additional registration data, possible values depends on TLD
1445
+ */
1446
+ additional_details?: object;
1447
+ };
1448
+ response: any; // Response structure will depend on the API
1449
+ };
1450
+
1414
1451
  /**
1415
1452
  * Enable domain lock for the domain.
1416
1453
 
@@ -1600,6 +1637,48 @@ Use this endpoint to configure custom DNS hosting for domains.
1600
1637
  response: any; // Response structure will depend on the API
1601
1638
  };
1602
1639
 
1640
+ /**
1641
+ * Claim a free domain transfer available on your account and start the transfer.
1642
+
1643
+ Unlike purchasing a transfer, this consumes a free domain transfer you already have,
1644
+ so no payment method is required.
1645
+
1646
+ Before making request, unlock the domain at the current registrar and get its authorization
1647
+ code. The transfer is validated first, so domains which cannot be transferred are rejected
1648
+ before the free domain transfer is consumed.
1649
+
1650
+ A successful response means the transfer has been started. Completion depends on the current
1651
+ registrar and can be followed with the [transfer list endpoint](#tag/domains-transfer).
1652
+
1653
+ If no WHOIS information is provided, default contact information for that TLD will be used.
1654
+ Before making request, ensure WHOIS information for desired TLD exists in your account.
1655
+
1656
+ Requests which cannot be fulfilled are rejected with an error code in the response body.
1657
+
1658
+ Use this endpoint to transfer a domain using a free domain transfer from your account.
1659
+ */
1660
+ "domains_claimFreeDomainTransferV1": {
1661
+ params: {
1662
+ /**
1663
+ * Domain name
1664
+ */
1665
+ domain: string;
1666
+ /**
1667
+ * Authorization code from the current registrar
1668
+ */
1669
+ auth_code: string;
1670
+ /**
1671
+ * Domain contact information
1672
+ */
1673
+ domain_contacts?: object;
1674
+ /**
1675
+ * Keep the existing nameservers of the domain
1676
+ */
1677
+ should_keep_ns?: boolean;
1678
+ };
1679
+ response: any; // Response structure will depend on the API
1680
+ };
1681
+
1603
1682
  /**
1604
1683
  * Retrieve the transfer for a specified domain.
1605
1684
 
@@ -4103,6 +4182,10 @@ requests are rate limited upstream.
4103
4182
  * Delete a contact with the specified UUID.
4104
4183
 
4105
4184
  This endpoint permanently removes a contact from the email marketing system.
4185
+
4186
+ **Deprecated.** This endpoint cannot target a profile, so it always falls back to the
4187
+ client's default profile and cannot delete contacts of any other profile. Use
4188
+ `DELETE /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}` instead.
4106
4189
  */
4107
4190
  "reach_deleteAContactV1": {
4108
4191
  params: {
@@ -4114,6 +4197,100 @@ This endpoint permanently removes a contact from the email marketing system.
4114
4197
  response: any; // Response structure will depend on the API
4115
4198
  };
4116
4199
 
4200
+ /**
4201
+ * Delete a custom contact field.
4202
+
4203
+ Every value contacts hold for the field is deleted with it, and for the choice types so
4204
+ are its options. The contacts themselves are not affected.
4205
+ */
4206
+ "reach_deleteAContactFieldV1": {
4207
+ params: {
4208
+ /**
4209
+ * Profile uuid parameter
4210
+ */
4211
+ profileUuid: string;
4212
+ /**
4213
+ * Contact field uuid parameter
4214
+ */
4215
+ fieldUuid: string;
4216
+ };
4217
+ response: any; // Response structure will depend on the API
4218
+ };
4219
+
4220
+ /**
4221
+ * Rename a custom contact field and, for the choice types, replace its option set.
4222
+
4223
+ Options carrying a uuid are kept and relabelled, options without one are created, and any
4224
+ existing option left out of the list is deleted along with the values contacts hold for
4225
+ it. The field type and slug cannot be changed.
4226
+ */
4227
+ "reach_updateAContactFieldV1": {
4228
+ params: {
4229
+ /**
4230
+ * Profile uuid parameter
4231
+ */
4232
+ profileUuid: string;
4233
+ /**
4234
+ * Contact field uuid parameter
4235
+ */
4236
+ fieldUuid: string;
4237
+ /**
4238
+ * label parameter
4239
+ */
4240
+ label: string;
4241
+ /**
4242
+ * Replaces the option set when provided. Entries carrying a uuid are kept and relabelled, entries without one are created, and any existing option missing from the list is deleted along with the values contacts hold for it.
4243
+ */
4244
+ options?: array;
4245
+ };
4246
+ response: any; // Response structure will depend on the API
4247
+ };
4248
+
4249
+ /**
4250
+ * Get the custom contact fields defined in a profile.
4251
+
4252
+ Custom fields let you store your own attributes on contacts. The returned uuids are what
4253
+ you pass to the contact update endpoint to set values, and choice fields also list the
4254
+ options available to pick from.
4255
+ */
4256
+ "reach_listContactFieldsV1": {
4257
+ params: {
4258
+ /**
4259
+ * Profile uuid parameter
4260
+ */
4261
+ profileUuid: string;
4262
+ };
4263
+ response: any; // Response structure will depend on the API
4264
+ };
4265
+
4266
+ /**
4267
+ * Define a new custom contact field in a profile.
4268
+
4269
+ The `slug` is derived from the label and, like the field type, cannot be changed later.
4270
+ Use the returned uuid to set values on contacts.
4271
+ */
4272
+ "reach_createAContactFieldV1": {
4273
+ params: {
4274
+ /**
4275
+ * Profile uuid parameter
4276
+ */
4277
+ profileUuid: string;
4278
+ /**
4279
+ * Immutable once the field exists
4280
+ */
4281
+ type: string;
4282
+ /**
4283
+ * label parameter
4284
+ */
4285
+ label: string;
4286
+ /**
4287
+ * Required for single_choice and multi_choice, ignored for the scalar types. Labels must be unique regardless of casing.
4288
+ */
4289
+ options?: array;
4290
+ };
4291
+ response: any; // Response structure will depend on the API
4292
+ };
4293
+
4117
4294
  /**
4118
4295
  * Get a list of all contact groups.
4119
4296
 
@@ -4131,6 +4308,11 @@ This endpoint returns a list of contact groups that can be used to organize cont
4131
4308
 
4132
4309
  This endpoint returns a paginated list of contacts with their basic information.
4133
4310
  You can filter contacts by group UUID and subscription status.
4311
+
4312
+ **Deprecated.** This endpoint cannot target a profile, so it always falls back to the
4313
+ client's default profile and cannot list contacts of any other profile. Use
4314
+ `GET /api/reach/v1/profiles/{profileUuid}/contacts` instead, which also replaces the
4315
+ group filter with a tag filter.
4134
4316
  */
4135
4317
  "reach_listContactsV1": {
4136
4318
  params: {
@@ -4184,6 +4366,201 @@ the contact will be created with a pending status and a confirmation email will
4184
4366
  response: any; // Response structure will depend on the API
4185
4367
  };
4186
4368
 
4369
+ /**
4370
+ * Get the full details of a single contact.
4371
+
4372
+ Alongside the contact's own attributes this returns the tags assigned to it and the
4373
+ values it holds for the profile's custom contact fields.
4374
+ */
4375
+ "reach_getContactDetailsV1": {
4376
+ params: {
4377
+ /**
4378
+ * Profile uuid parameter
4379
+ */
4380
+ profileUuid: string;
4381
+ /**
4382
+ * Contact uuid parameter
4383
+ */
4384
+ contactUuid: string;
4385
+ };
4386
+ response: any; // Response structure will depend on the API
4387
+ };
4388
+
4389
+ /**
4390
+ * Permanently delete a contact from a profile.
4391
+
4392
+ The contact is removed together with its custom field values and tag assignments.
4393
+ */
4394
+ "reach_deleteAProfileContactV1": {
4395
+ params: {
4396
+ /**
4397
+ * Profile uuid parameter
4398
+ */
4399
+ profileUuid: string;
4400
+ /**
4401
+ * Contact uuid parameter
4402
+ */
4403
+ contactUuid: string;
4404
+ };
4405
+ response: any; // Response structure will depend on the API
4406
+ };
4407
+
4408
+ /**
4409
+ * Update a contact's attributes and custom field values.
4410
+
4411
+ Only the properties present in the request body are changed, so a partial body is enough
4412
+ to change a single attribute. Sending a property as `null` clears it.
4413
+
4414
+ The response carries the contact's core attributes. Read back its tags, custom field
4415
+ values, source and note with `GET /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}`.
4416
+ */
4417
+ "reach_updateAContactV1": {
4418
+ params: {
4419
+ /**
4420
+ * Profile uuid parameter
4421
+ */
4422
+ profileUuid: string;
4423
+ /**
4424
+ * Contact uuid parameter
4425
+ */
4426
+ contactUuid: string;
4427
+ /**
4428
+ * email parameter
4429
+ */
4430
+ email?: string;
4431
+ /**
4432
+ * name parameter
4433
+ */
4434
+ name?: string;
4435
+ /**
4436
+ * surname parameter
4437
+ */
4438
+ surname?: string;
4439
+ /**
4440
+ * Phone number in E.164 format (leading "+" then 7-15 digits)
4441
+ */
4442
+ phone?: string;
4443
+ /**
4444
+ * subscription_status parameter
4445
+ */
4446
+ subscription_status?: string;
4447
+ /**
4448
+ * note parameter
4449
+ */
4450
+ note?: string;
4451
+ /**
4452
+ * Set custom field values. Omit to leave untouched, send an empty array to clear them all.
4453
+ */
4454
+ fields?: array;
4455
+ };
4456
+ response: any; // Response structure will depend on the API
4457
+ };
4458
+
4459
+ /**
4460
+ * Create many contacts in a profile in a single call.
4461
+
4462
+ The contacts are imported in the background, so a success response means the import was
4463
+ accepted rather than finished. Contacts whose email already exists in the profile are
4464
+ left as they are. If double opt-in is enabled, new contacts start off pending and are
4465
+ sent a confirmation email.
4466
+ */
4467
+ "reach_createContactsInBulkV1": {
4468
+ params: {
4469
+ /**
4470
+ * Profile uuid parameter
4471
+ */
4472
+ profileUuid: string;
4473
+ /**
4474
+ * contacts parameter
4475
+ */
4476
+ contacts: array;
4477
+ /**
4478
+ * Existing tags to attach to every created contact
4479
+ */
4480
+ tag_uuids?: array;
4481
+ /**
4482
+ * Note applied to every created contact
4483
+ */
4484
+ note?: string;
4485
+ };
4486
+ response: any; // Response structure will depend on the API
4487
+ };
4488
+
4489
+ /**
4490
+ * Get a paginated list of contacts belonging to a profile.
4491
+
4492
+ Contacts can be filtered by subscription status, by tag, and by an email search term.
4493
+ The `meta.total` field of the response is the number of contacts matching the filters,
4494
+ so calling this endpoint without filters gives the profile's total contact count.
4495
+ */
4496
+ "reach_listProfileContactsV1": {
4497
+ params: {
4498
+ /**
4499
+ * Profile uuid parameter
4500
+ */
4501
+ profileUuid: string;
4502
+ /**
4503
+ * Filter contacts by subscription status
4504
+ */
4505
+ subscription_status?: string;
4506
+ /**
4507
+ * Filter contacts by tag UUID
4508
+ */
4509
+ tag_uuid?: string;
4510
+ /**
4511
+ * Search contacts by email
4512
+ */
4513
+ search?: string;
4514
+ /**
4515
+ * Page number
4516
+ */
4517
+ page?: number;
4518
+ /**
4519
+ * Number of items per page
4520
+ */
4521
+ per_page?: number;
4522
+ };
4523
+ response: any; // Response structure will depend on the API
4524
+ };
4525
+
4526
+ /**
4527
+ * Create a new contact in the email marketing system.
4528
+
4529
+ This endpoint allows you to create a new contact with basic information like name, email, and surname.
4530
+
4531
+ If double opt-in is enabled, the contact will be created with a pending status
4532
+ and a confirmation email will be sent.
4533
+ */
4534
+ "reach_createNewContactsV1": {
4535
+ params: {
4536
+ /**
4537
+ * Profile uuid parameter
4538
+ */
4539
+ profileUuid: string;
4540
+ /**
4541
+ * email parameter
4542
+ */
4543
+ email: string;
4544
+ /**
4545
+ * name parameter
4546
+ */
4547
+ name?: string;
4548
+ /**
4549
+ * surname parameter
4550
+ */
4551
+ surname?: string;
4552
+ /**
4553
+ * Phone number in E.164 format (leading "+" then 7-15 digits)
4554
+ */
4555
+ phone?: string;
4556
+ /**
4557
+ * note parameter
4558
+ */
4559
+ note?: string;
4560
+ };
4561
+ response: any; // Response structure will depend on the API
4562
+ };
4563
+
4187
4564
  /**
4188
4565
  * Get a list of all contact segments.
4189
4566
 
@@ -4288,44 +4665,6 @@ Segments are used to organize and group contacts based on specific criteria.
4288
4665
  response: any; // Response structure will depend on the API
4289
4666
  };
4290
4667
 
4291
- /**
4292
- * Create a new contact in the email marketing system.
4293
-
4294
- This endpoint allows you to create a new contact with basic information like name, email, and surname.
4295
-
4296
- If double opt-in is enabled, the contact will be created with a pending status
4297
- and a confirmation email will be sent.
4298
- */
4299
- "reach_createNewContactsV1": {
4300
- params: {
4301
- /**
4302
- * Profile uuid parameter
4303
- */
4304
- profileUuid: string;
4305
- /**
4306
- * email parameter
4307
- */
4308
- email: string;
4309
- /**
4310
- * name parameter
4311
- */
4312
- name?: string;
4313
- /**
4314
- * surname parameter
4315
- */
4316
- surname?: string;
4317
- /**
4318
- * Phone number in E.164 format (leading "+" then 7-15 digits)
4319
- */
4320
- phone?: string;
4321
- /**
4322
- * note parameter
4323
- */
4324
- note?: string;
4325
- };
4326
- response: any; // Response structure will depend on the API
4327
- };
4328
-
4329
4668
  /**
4330
4669
  * Retrieve the DNS configuration status for a profile's domain.
4331
4670