hostinger-api-mcp 1.30.0 → 1.32.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/types.d.ts CHANGED
@@ -4182,6 +4182,10 @@ requests are rate limited upstream.
4182
4182
  * Delete a contact with the specified UUID.
4183
4183
 
4184
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.
4185
4189
  */
4186
4190
  "reach_deleteAContactV1": {
4187
4191
  params: {
@@ -4193,6 +4197,100 @@ This endpoint permanently removes a contact from the email marketing system.
4193
4197
  response: any; // Response structure will depend on the API
4194
4198
  };
4195
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
+
4196
4294
  /**
4197
4295
  * Get a list of all contact groups.
4198
4296
 
@@ -4210,6 +4308,11 @@ This endpoint returns a list of contact groups that can be used to organize cont
4210
4308
 
4211
4309
  This endpoint returns a paginated list of contacts with their basic information.
4212
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.
4213
4316
  */
4214
4317
  "reach_listContactsV1": {
4215
4318
  params: {
@@ -4263,6 +4366,201 @@ the contact will be created with a pending status and a confirmation email will
4263
4366
  response: any; // Response structure will depend on the API
4264
4367
  };
4265
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
+
4266
4564
  /**
4267
4565
  * Get a list of all contact segments.
4268
4566
 
@@ -4368,39 +4666,180 @@ Segments are used to organize and group contacts based on specific criteria.
4368
4666
  };
4369
4667
 
4370
4668
  /**
4371
- * Create a new contact in the email marketing system.
4669
+ * Assign a tag to a single contact.
4372
4670
 
4373
- This endpoint allows you to create a new contact with basic information like name, email, and surname.
4671
+ Unlike the bulk endpoint this is applied immediately rather than queued. Assigning a tag
4672
+ the contact already carries succeeds without duplicating it.
4673
+ */
4674
+ "reach_assignAContactToATagV1": {
4675
+ params: {
4676
+ /**
4677
+ * Profile uuid parameter
4678
+ */
4679
+ profileUuid: string;
4680
+ /**
4681
+ * Tag uuid parameter
4682
+ */
4683
+ tagUuid: string;
4684
+ /**
4685
+ * Contact uuid parameter
4686
+ */
4687
+ contactUuid: string;
4688
+ };
4689
+ response: any; // Response structure will depend on the API
4690
+ };
4374
4691
 
4375
- If double opt-in is enabled, the contact will be created with a pending status
4376
- and a confirmation email will be sent.
4692
+ /**
4693
+ * Remove a tag from a single contact.
4694
+
4695
+ Unlike the bulk endpoint this is applied immediately rather than queued. Neither the tag
4696
+ nor the contact is deleted.
4377
4697
  */
4378
- "reach_createNewContactsV1": {
4698
+ "reach_removeAContactFromATagV1": {
4379
4699
  params: {
4380
4700
  /**
4381
4701
  * Profile uuid parameter
4382
4702
  */
4383
4703
  profileUuid: string;
4384
4704
  /**
4385
- * email parameter
4705
+ * Tag uuid parameter
4386
4706
  */
4387
- email: string;
4707
+ tagUuid: string;
4388
4708
  /**
4389
- * name parameter
4709
+ * Contact uuid parameter
4390
4710
  */
4391
- name?: string;
4711
+ contactUuid: string;
4712
+ };
4713
+ response: any; // Response structure will depend on the API
4714
+ };
4715
+
4716
+ /**
4717
+ * Assign a tag to many contacts at once.
4718
+
4719
+ Pass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact
4720
+ in the profile. The work is queued, so a success response means it was accepted rather than
4721
+ finished. Contacts that already carry the tag are left alone.
4722
+ */
4723
+ "reach_assignContactsToATagV1": {
4724
+ params: {
4392
4725
  /**
4393
- * surname parameter
4726
+ * Profile uuid parameter
4394
4727
  */
4395
- surname?: string;
4728
+ profileUuid: string;
4396
4729
  /**
4397
- * Phone number in E.164 format (leading "+" then 7-15 digits)
4730
+ * Tag uuid parameter
4398
4731
  */
4399
- phone?: string;
4732
+ tagUuid: string;
4400
4733
  /**
4401
- * note parameter
4734
+ * Contacts to apply the change to. Required unless all_contacts is true.
4402
4735
  */
4403
- note?: string;
4736
+ contact_uuids?: array;
4737
+ /**
4738
+ * Apply to every contact in the profile
4739
+ */
4740
+ all_contacts?: boolean;
4741
+ };
4742
+ response: any; // Response structure will depend on the API
4743
+ };
4744
+
4745
+ /**
4746
+ * Remove a tag from many contacts at once.
4747
+
4748
+ Pass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact
4749
+ in the profile. The work is queued, so a success response means it was accepted rather than
4750
+ finished. The tag itself and the contacts are not deleted.
4751
+ */
4752
+ "reach_removeContactsFromATagV1": {
4753
+ params: {
4754
+ /**
4755
+ * Profile uuid parameter
4756
+ */
4757
+ profileUuid: string;
4758
+ /**
4759
+ * Tag uuid parameter
4760
+ */
4761
+ tagUuid: string;
4762
+ };
4763
+ response: any; // Response structure will depend on the API
4764
+ };
4765
+
4766
+ /**
4767
+ * Delete a tag and remove it from every contact carrying it.
4768
+
4769
+ The contacts themselves are not deleted. This is idempotent: deleting a tag that does not
4770
+ exist in the profile still succeeds.
4771
+ */
4772
+ "reach_deleteATagV1": {
4773
+ params: {
4774
+ /**
4775
+ * Profile uuid parameter
4776
+ */
4777
+ profileUuid: string;
4778
+ /**
4779
+ * Tag uuid parameter
4780
+ */
4781
+ tagUuid: string;
4782
+ };
4783
+ response: any; // Response structure will depend on the API
4784
+ };
4785
+
4786
+ /**
4787
+ * Rename a tag.
4788
+
4789
+ The contacts assigned to the tag are unaffected. Names are unique within a profile, so
4790
+ renaming a tag to a name that is already taken is rejected.
4791
+ */
4792
+ "reach_renameATagV1": {
4793
+ params: {
4794
+ /**
4795
+ * Profile uuid parameter
4796
+ */
4797
+ profileUuid: string;
4798
+ /**
4799
+ * Tag uuid parameter
4800
+ */
4801
+ tagUuid: string;
4802
+ /**
4803
+ * New tag name
4804
+ */
4805
+ value: string;
4806
+ };
4807
+ response: any; // Response structure will depend on the API
4808
+ };
4809
+
4810
+ /**
4811
+ * Get all tags defined in a profile.
4812
+
4813
+ Tags are the way contacts are grouped in Reach, and can be used to filter the contact
4814
+ list or to build segments.
4815
+ */
4816
+ "reach_listProfileTagsV1": {
4817
+ params: {
4818
+ /**
4819
+ * Profile uuid parameter
4820
+ */
4821
+ profileUuid: string;
4822
+ };
4823
+ response: any; // Response structure will depend on the API
4824
+ };
4825
+
4826
+ /**
4827
+ * Create tags in a profile.
4828
+
4829
+ Names that already exist in the profile are not duplicated: the existing tag is returned
4830
+ instead, so the call is safe to repeat. Every tag in the request is returned, whether it
4831
+ was created now or already existed.
4832
+ */
4833
+ "reach_createOrFindTagsV1": {
4834
+ params: {
4835
+ /**
4836
+ * Profile uuid parameter
4837
+ */
4838
+ profileUuid: string;
4839
+ /**
4840
+ * names parameter
4841
+ */
4842
+ names: array;
4404
4843
  };
4405
4844
  response: any; // Response structure will depend on the API
4406
4845
  };