hostinger-api-mcp 1.32.0 → 1.33.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.
@@ -597,7 +597,7 @@ const tools: OpenApiTool[] = [
597
597
  },
598
598
  {
599
599
  "name": "reach_listSegmentsV1",
600
- "description": "Get a list of all contact segments.\n\nThis endpoint returns a list of contact segments that can be used to organize contacts.",
600
+ "description": "Get a list of all contact segments.\n\nThis endpoint returns a list of contact segments that can be used to organize contacts.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to\nthe client's default profile and cannot list the segments of any other profile. Use\n`GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments` instead.",
601
601
  "method": "GET",
602
602
  "path": "/api/reach/v1/segmentation/segments",
603
603
  "inputSchema": {
@@ -614,7 +614,7 @@ const tools: OpenApiTool[] = [
614
614
  },
615
615
  {
616
616
  "name": "reach_createANewContactSegmentV1",
617
- "description": "Create a new contact segment.\n\nThis endpoint allows creating a new contact segment that can be used to organize contacts.\nThe segment can be configured with specific criteria like email, name, subscription status, etc.",
617
+ "description": "Create a new contact segment.\n\nThis endpoint allows creating a new contact segment that can be used to organize contacts.\nThe segment can be configured with specific criteria like email, name, subscription status, etc.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to\nthe client's default profile and cannot create segments in any other profile. Use\n`POST /api/reach/v1/profiles/{profileUuid}/segmentation/segments` instead.",
618
618
  "method": "POST",
619
619
  "path": "/api/reach/v1/segmentation/segments",
620
620
  "inputSchema": {
@@ -653,6 +653,8 @@ const tools: OpenApiTool[] = [
653
653
  "not_dropped",
654
654
  "bounced",
655
655
  "not_bounced",
656
+ "soft_bounced",
657
+ "not_soft_bounced",
656
658
  "opened",
657
659
  "not_opened",
658
660
  "clicked",
@@ -716,6 +718,35 @@ const tools: OpenApiTool[] = [
716
718
  ],
717
719
  "group": "reach"
718
720
  },
721
+ {
722
+ "name": "reach_countProfileSegmentContactsV1",
723
+ "description": "Count the contacts currently matching a segment without listing them.\n\nCheaper than paging through the segment contacts endpoint when only the size is needed.",
724
+ "method": "GET",
725
+ "path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/count",
726
+ "inputSchema": {
727
+ "type": "object",
728
+ "properties": {
729
+ "profileUuid": {
730
+ "type": "string",
731
+ "description": "Profile uuid parameter"
732
+ },
733
+ "segmentUuid": {
734
+ "type": "string",
735
+ "description": "Segment uuid parameter"
736
+ }
737
+ },
738
+ "required": [
739
+ "profileUuid",
740
+ "segmentUuid"
741
+ ]
742
+ },
743
+ "security": [
744
+ {
745
+ "apiToken": []
746
+ }
747
+ ],
748
+ "group": "reach"
749
+ },
719
750
  {
720
751
  "name": "reach_listProfileSegmentContactsV1",
721
752
  "description": "Retrieve contacts associated with a specific segment for a given profile.\n\nThis endpoint allows you to fetch and filter contacts that belong to a particular segment,\nidentified by its UUID, scoped to a specific profile.",
@@ -753,9 +784,298 @@ const tools: OpenApiTool[] = [
753
784
  ],
754
785
  "group": "reach"
755
786
  },
787
+ {
788
+ "name": "reach_getProfileSegmentDetailsV1",
789
+ "description": "Get a single segment of a profile, including the conditions that define it.\n\nTo retrieve the contacts currently matching those conditions, use the segment contacts\nendpoint instead.",
790
+ "method": "GET",
791
+ "path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}",
792
+ "inputSchema": {
793
+ "type": "object",
794
+ "properties": {
795
+ "profileUuid": {
796
+ "type": "string",
797
+ "description": "Profile uuid parameter"
798
+ },
799
+ "segmentUuid": {
800
+ "type": "string",
801
+ "description": "Segment uuid parameter"
802
+ }
803
+ },
804
+ "required": [
805
+ "profileUuid",
806
+ "segmentUuid"
807
+ ]
808
+ },
809
+ "security": [
810
+ {
811
+ "apiToken": []
812
+ }
813
+ ],
814
+ "group": "reach"
815
+ },
816
+ {
817
+ "name": "reach_updateAProfileSegmentV1",
818
+ "description": "Rename a segment and/or replace the conditions that define it.\n\n`name` is always required. Omit `conditions` to rename without touching the conditions;\nsupply them and they replace the existing set entirely rather than being merged into it.\nContacts are never modified, but which of them match the segment can change immediately.",
819
+ "method": "PUT",
820
+ "path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}",
821
+ "inputSchema": {
822
+ "type": "object",
823
+ "properties": {
824
+ "profileUuid": {
825
+ "type": "string",
826
+ "description": "Profile uuid parameter"
827
+ },
828
+ "segmentUuid": {
829
+ "type": "string",
830
+ "description": "Segment uuid parameter"
831
+ },
832
+ "name": {
833
+ "type": "string",
834
+ "description": "name parameter"
835
+ },
836
+ "conditions": {
837
+ "type": "array",
838
+ "description": "Replaces the existing conditions entirely. Omit to keep the current ones.",
839
+ "items": {
840
+ "type": "object",
841
+ "description": "conditions parameter",
842
+ "properties": {
843
+ "attribute": {
844
+ "type": "string",
845
+ "description": "A built-in contact attribute, or `cf:{fieldUuid}` to target a custom\ncontact field. Custom fields are addressed by field UUID; their slug\nis not accepted.\n\nBuilt-in attributes: `email`, `note`, `domain`, `source`,\n`opt_in_method`, `subscription_status`, `subscribed_at`,\n`unsubscribed_at`, `created_at`, `tag`, `campaigns`, `processed`,\n`opened`, `clicked`, `delivered`, `bounced`, `soft_bounced`,\n`dropped`.\n\nWhich operators are accepted depends on the attribute."
846
+ },
847
+ "operator": {
848
+ "type": "string",
849
+ "description": "operator parameter",
850
+ "enum": [
851
+ "equals",
852
+ "not_equals",
853
+ "contains",
854
+ "not_contains",
855
+ "gte",
856
+ "lte",
857
+ "exists",
858
+ "within_last_days",
859
+ "not_within_last_days",
860
+ "older_than_days",
861
+ "processed",
862
+ "not_processed",
863
+ "delivered",
864
+ "not_delivered",
865
+ "dropped",
866
+ "not_dropped",
867
+ "bounced",
868
+ "not_bounced",
869
+ "soft_bounced",
870
+ "not_soft_bounced",
871
+ "opened",
872
+ "not_opened",
873
+ "clicked",
874
+ "not_clicked",
875
+ "unsubscribed",
876
+ "not_unsubscribed"
877
+ ]
878
+ },
879
+ "value": {
880
+ "type": "string",
881
+ "description": "Always a string, including for numeric and date comparisons"
882
+ }
883
+ },
884
+ "required": [
885
+ "attribute",
886
+ "operator",
887
+ "value"
888
+ ]
889
+ }
890
+ },
891
+ "logic": {
892
+ "type": "string",
893
+ "description": "How to combine multiple conditions. Required when conditions are given.",
894
+ "enum": [
895
+ "AND",
896
+ "OR"
897
+ ]
898
+ }
899
+ },
900
+ "required": [
901
+ "profileUuid",
902
+ "segmentUuid",
903
+ "name"
904
+ ]
905
+ },
906
+ "security": [
907
+ {
908
+ "apiToken": []
909
+ }
910
+ ],
911
+ "group": "reach"
912
+ },
913
+ {
914
+ "name": "reach_deleteAProfileSegmentV1",
915
+ "description": "Delete a segment.\n\nOnly the segment definition is removed. The contacts that matched it are left untouched.",
916
+ "method": "DELETE",
917
+ "path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}",
918
+ "inputSchema": {
919
+ "type": "object",
920
+ "properties": {
921
+ "profileUuid": {
922
+ "type": "string",
923
+ "description": "Profile uuid parameter"
924
+ },
925
+ "segmentUuid": {
926
+ "type": "string",
927
+ "description": "Segment uuid parameter"
928
+ }
929
+ },
930
+ "required": [
931
+ "profileUuid",
932
+ "segmentUuid"
933
+ ]
934
+ },
935
+ "security": [
936
+ {
937
+ "apiToken": []
938
+ }
939
+ ],
940
+ "group": "reach"
941
+ },
942
+ {
943
+ "name": "reach_listProfileSegmentsV1",
944
+ "description": "Get a paginated list of the segments defined in a profile.\n\nEach entry carries the number of contacts currently matching it, which is recalculated on\nread rather than stored. Use `count_type` to count either every matching contact or only\nthe subscribed ones.",
945
+ "method": "GET",
946
+ "path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments",
947
+ "inputSchema": {
948
+ "type": "object",
949
+ "properties": {
950
+ "profileUuid": {
951
+ "type": "string",
952
+ "description": "Profile uuid parameter"
953
+ },
954
+ "count_type": {
955
+ "type": "string",
956
+ "description": "Which matching contacts to count for each segment",
957
+ "enum": [
958
+ "all",
959
+ "subscribed"
960
+ ]
961
+ },
962
+ "page": {
963
+ "type": "integer",
964
+ "description": "Page number"
965
+ },
966
+ "per_page": {
967
+ "type": "integer",
968
+ "description": "Number of items per page"
969
+ }
970
+ },
971
+ "required": [
972
+ "profileUuid"
973
+ ]
974
+ },
975
+ "security": [
976
+ {
977
+ "apiToken": []
978
+ }
979
+ ],
980
+ "group": "reach"
981
+ },
982
+ {
983
+ "name": "reach_createAProfileSegmentV1",
984
+ "description": "Create a segment in a profile.\n\nA segment is a saved set of conditions rather than a fixed list, so its membership changes\nas contacts change. Creating one does not modify any contact.",
985
+ "method": "POST",
986
+ "path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments",
987
+ "inputSchema": {
988
+ "type": "object",
989
+ "properties": {
990
+ "profileUuid": {
991
+ "type": "string",
992
+ "description": "Profile uuid parameter"
993
+ },
994
+ "name": {
995
+ "type": "string",
996
+ "description": "name parameter"
997
+ },
998
+ "conditions": {
999
+ "type": "array",
1000
+ "description": "Conditions a contact must satisfy to fall into the segment",
1001
+ "items": {
1002
+ "type": "object",
1003
+ "description": "conditions parameter",
1004
+ "properties": {
1005
+ "attribute": {
1006
+ "type": "string",
1007
+ "description": "A built-in contact attribute, or `cf:{fieldUuid}` to target a custom\ncontact field. Custom fields are addressed by field UUID; their slug\nis not accepted.\n\nBuilt-in attributes: `email`, `note`, `domain`, `source`,\n`opt_in_method`, `subscription_status`, `subscribed_at`,\n`unsubscribed_at`, `created_at`, `tag`, `campaigns`, `processed`,\n`opened`, `clicked`, `delivered`, `bounced`, `soft_bounced`,\n`dropped`.\n\nWhich operators are accepted depends on the attribute."
1008
+ },
1009
+ "operator": {
1010
+ "type": "string",
1011
+ "description": "operator parameter",
1012
+ "enum": [
1013
+ "equals",
1014
+ "not_equals",
1015
+ "contains",
1016
+ "not_contains",
1017
+ "gte",
1018
+ "lte",
1019
+ "exists",
1020
+ "within_last_days",
1021
+ "not_within_last_days",
1022
+ "older_than_days",
1023
+ "processed",
1024
+ "not_processed",
1025
+ "delivered",
1026
+ "not_delivered",
1027
+ "dropped",
1028
+ "not_dropped",
1029
+ "bounced",
1030
+ "not_bounced",
1031
+ "soft_bounced",
1032
+ "not_soft_bounced",
1033
+ "opened",
1034
+ "not_opened",
1035
+ "clicked",
1036
+ "not_clicked",
1037
+ "unsubscribed",
1038
+ "not_unsubscribed"
1039
+ ]
1040
+ },
1041
+ "value": {
1042
+ "type": "string",
1043
+ "description": "Always a string, including for numeric and date comparisons"
1044
+ }
1045
+ },
1046
+ "required": [
1047
+ "attribute",
1048
+ "operator",
1049
+ "value"
1050
+ ]
1051
+ }
1052
+ },
1053
+ "logic": {
1054
+ "type": "string",
1055
+ "description": "How to combine multiple conditions",
1056
+ "enum": [
1057
+ "AND",
1058
+ "OR"
1059
+ ]
1060
+ }
1061
+ },
1062
+ "required": [
1063
+ "profileUuid",
1064
+ "name",
1065
+ "conditions",
1066
+ "logic"
1067
+ ]
1068
+ },
1069
+ "security": [
1070
+ {
1071
+ "apiToken": []
1072
+ }
1073
+ ],
1074
+ "group": "reach"
1075
+ },
756
1076
  {
757
1077
  "name": "reach_listSegmentContactsV1",
758
- "description": "Retrieve contacts associated with a specific segment.\n\nThis endpoint allows you to fetch and filter contacts that belong to a particular segment,\nidentified by its UUID.",
1078
+ "description": "Retrieve contacts associated with a specific segment.\n\nThis endpoint allows you to fetch and filter contacts that belong to a particular segment,\nidentified by its UUID.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to\nthe client's default profile and cannot read segments of any other profile. Use\n`GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/contacts` instead.",
759
1079
  "method": "GET",
760
1080
  "path": "/api/reach/v1/segmentation/segments/{segmentUuid}/contacts",
761
1081
  "inputSchema": {
@@ -787,7 +1107,7 @@ const tools: OpenApiTool[] = [
787
1107
  },
788
1108
  {
789
1109
  "name": "reach_getSegmentDetailsV1",
790
- "description": "Get details of a specific segment.\n\nThis endpoint retrieves information about a single segment identified by UUID.\nSegments are used to organize and group contacts based on specific criteria.",
1110
+ "description": "Get details of a specific segment.\n\nThis endpoint retrieves information about a single segment identified by UUID.\nSegments are used to organize and group contacts based on specific criteria.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to\nthe client's default profile and cannot read segments of any other profile. Use\n`GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}` instead.",
791
1111
  "method": "GET",
792
1112
  "path": "/api/reach/v1/segmentation/segments/{segmentUuid}",
793
1113
  "inputSchema": {
@@ -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.32.0', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.33.0', 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.32.0', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.33.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.32.0', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.33.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.32.0', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.33.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.32.0', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.33.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.32.0', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.33.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.32.0', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.33.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.32.0', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.33.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.32.0', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.33.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.32.0', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.33.0', tools });