samva 0.26.0 → 0.28.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.
Files changed (107) hide show
  1. package/AGENTS.md +7 -0
  2. package/README.md +14 -7
  3. package/dist/client/sdk.gen.d.ts +322 -143
  4. package/dist/client/sdk.gen.js +1085 -332
  5. package/dist/client/types.gen.d.ts +1342 -479
  6. package/dist/effect/agents.d.ts +119 -0
  7. package/dist/effect/agents.js +29 -0
  8. package/dist/effect/analytics.d.ts +1 -1
  9. package/dist/effect/analytics.js +1 -1
  10. package/dist/effect/api-keys.d.ts +6 -6
  11. package/dist/effect/attachments.d.ts +1 -1
  12. package/dist/effect/brands.d.ts +2 -0
  13. package/dist/effect/campaigns.d.ts +275 -25
  14. package/dist/effect/campaigns.js +7 -1
  15. package/dist/effect/contact-groups.d.ts +9 -9
  16. package/dist/effect/contacts.d.ts +74 -81
  17. package/dist/effect/contacts.js +7 -3
  18. package/dist/effect/conversations.d.ts +14 -6
  19. package/dist/effect/email.d.ts +34 -34
  20. package/dist/effect/errors.d.ts +1 -1
  21. package/dist/effect/errors.js +2 -2
  22. package/dist/effect/extension-installations.d.ts +3 -3
  23. package/dist/effect/extensions.d.ts +6 -6
  24. package/dist/effect/generated/agents.d.ts +6 -28
  25. package/dist/effect/generated/agents.js +270 -0
  26. package/dist/effect/generated/analytics.d.ts +3 -3
  27. package/dist/effect/generated/analytics.js +1 -1
  28. package/dist/effect/generated/api-keys.d.ts +6 -6
  29. package/dist/effect/generated/api-keys.js +2 -2
  30. package/dist/effect/generated/attachments.d.ts +3 -3
  31. package/dist/effect/generated/attachments.js +1 -1
  32. package/dist/effect/generated/brands.d.ts +16 -0
  33. package/dist/effect/generated/campaigns.d.ts +1181 -302
  34. package/dist/effect/generated/campaigns.js +169 -36
  35. package/dist/effect/generated/contact-events.d.ts +3 -3
  36. package/dist/effect/generated/contact-events.js +1 -1
  37. package/dist/effect/generated/contact-groups.d.ts +9 -9
  38. package/dist/effect/generated/contact-groups.js +7 -7
  39. package/dist/effect/generated/contacts.d.ts +2063 -290
  40. package/dist/effect/generated/contacts.js +343 -75
  41. package/dist/effect/generated/conversations.d.ts +14 -6
  42. package/dist/effect/generated/conversations.js +6 -6
  43. package/dist/effect/generated/email.d.ts +55 -70
  44. package/dist/effect/generated/email.js +18 -21
  45. package/dist/effect/generated/extension-installations.d.ts +3 -3
  46. package/dist/effect/generated/extension-installations.js +1 -1
  47. package/dist/effect/generated/extensions.d.ts +6 -6
  48. package/dist/effect/generated/extensions.js +2 -2
  49. package/dist/effect/generated/index.d.ts +5 -3
  50. package/dist/effect/generated/journeys.d.ts +9 -9
  51. package/dist/effect/generated/journeys.js +3 -3
  52. package/dist/effect/generated/mailboxes.d.ts +466 -712
  53. package/dist/effect/generated/mailboxes.js +22 -14
  54. package/dist/effect/generated/messages.d.ts +53 -29
  55. package/dist/effect/generated/messages.js +9 -5
  56. package/dist/effect/generated/namespaces.d.ts +3 -3
  57. package/dist/effect/generated/namespaces.js +1 -1
  58. package/dist/effect/generated/operations.d.ts +3 -3
  59. package/dist/effect/generated/operations.js +1 -1
  60. package/dist/effect/generated/organizations.d.ts +0 -9
  61. package/dist/effect/generated/organizations.js +1 -4
  62. package/dist/effect/generated/scheduled-messages.d.ts +69 -20
  63. package/dist/effect/generated/scheduled-messages.js +22 -3
  64. package/dist/effect/generated/shared.d.ts +431 -177
  65. package/dist/effect/generated/shared.js +216 -108
  66. package/dist/effect/generated/subscriptions.d.ts +4 -7
  67. package/dist/effect/generated/subscriptions.js +3 -4
  68. package/dist/effect/generated/templates.d.ts +71 -407
  69. package/dist/effect/generated/templates.js +23 -23
  70. package/dist/effect/generated/topic-forms.d.ts +656 -0
  71. package/dist/effect/generated/topic-forms.js +145 -0
  72. package/dist/effect/generated/{unsubscribe-groups.d.ts → topics.d.ts} +640 -435
  73. package/dist/effect/generated/topics.js +267 -0
  74. package/dist/effect/generated/webhooks.d.ts +6 -6
  75. package/dist/effect/generated/webhooks.js +2 -2
  76. package/dist/effect/generated-metadata.d.ts +78 -24
  77. package/dist/effect/generated-metadata.js +61 -27
  78. package/dist/effect/index.d.ts +3 -1
  79. package/dist/effect/index.js +5 -3
  80. package/dist/effect/internal/operation.js +4 -3
  81. package/dist/effect/internal/send.d.ts +4 -4
  82. package/dist/effect/journeys.d.ts +119 -119
  83. package/dist/effect/mailboxes.d.ts +137 -121
  84. package/dist/effect/messages.d.ts +19 -11
  85. package/dist/effect/namespaces.d.ts +3 -3
  86. package/dist/effect/operations.d.ts +3 -3
  87. package/dist/effect/scheduled-messages.d.ts +6 -6
  88. package/dist/effect/subscriptions.d.ts +1 -2
  89. package/dist/effect/templates.d.ts +13 -13
  90. package/dist/effect/topic-forms.d.ts +30 -0
  91. package/dist/effect/topic-forms.js +21 -0
  92. package/dist/effect/topics.d.ts +94 -0
  93. package/dist/effect/topics.js +29 -0
  94. package/dist/effect/webhooks.d.ts +6 -6
  95. package/dist/index.js +2 -2
  96. package/dist/package.js +1 -1
  97. package/dist/promises/errors.gen.d.ts +65 -8
  98. package/dist/promises/errors.gen.js +139 -7
  99. package/dist/promises/index.d.ts +7 -3
  100. package/dist/promises/index.js +9 -5
  101. package/dist/promises/types.gen.d.ts +1 -1
  102. package/dist/service-map.d.ts +117 -23
  103. package/dist/service-map.js +71 -10
  104. package/package.json +17 -9
  105. package/dist/effect/generated/unsubscribe-groups.js +0 -284
  106. package/dist/effect/unsubscribe-groups.d.ts +0 -74
  107. package/dist/effect/unsubscribe-groups.js +0 -29
@@ -116,6 +116,7 @@ var Messages = class {
116
116
  url: "/v1/messages",
117
117
  ...options,
118
118
  ...params,
119
+ body: params.body ?? {},
119
120
  headers: {
120
121
  "Content-Type": "application/json",
121
122
  ...options?.headers,
@@ -281,6 +282,7 @@ var Messages = class {
281
282
  url: "/v1/messages/validate/email",
282
283
  ...options,
283
284
  ...params,
285
+ body: params.body ?? {},
284
286
  headers: {
285
287
  "Content-Type": "application/json",
286
288
  ...options?.headers,
@@ -482,6 +484,7 @@ var ScheduledMessages = class {
482
484
  url: "/v1/messages/scheduled",
483
485
  ...options,
484
486
  ...params,
487
+ body: params.body ?? {},
485
488
  headers: {
486
489
  "Content-Type": "application/json",
487
490
  ...options?.headers,
@@ -559,6 +562,78 @@ var ScheduledMessages = class {
559
562
  }
560
563
  };
561
564
  var Campaigns = class {
565
+ /**
566
+ * Preview a campaign email
567
+ *
568
+ * Renders draft email content using the selected contact's fields and declared templateData fallbacks. Creates no campaign run or message. Omit contactId to preview the fallback data alone.
569
+ */
570
+ static preview(parameters, options) {
571
+ const params = buildClientParams([parameters], [{ args: [
572
+ {
573
+ in: "body",
574
+ key: "content"
575
+ },
576
+ {
577
+ in: "body",
578
+ key: "audience"
579
+ },
580
+ {
581
+ in: "body",
582
+ key: "contactId"
583
+ }
584
+ ] }]);
585
+ return (options?.client ?? client).post({
586
+ security: [{
587
+ name: "x-api-key",
588
+ type: "apiKey"
589
+ }],
590
+ url: "/v1/campaigns/preview",
591
+ ...options,
592
+ ...params,
593
+ body: params.body ?? {},
594
+ headers: {
595
+ "Content-Type": "application/json",
596
+ ...options?.headers,
597
+ ...params.headers
598
+ }
599
+ });
600
+ }
601
+ /**
602
+ * Send a campaign test
603
+ *
604
+ * Sends one rendered draft email to the authenticated actor's email address, using optional contactId only for personalization. Creates no campaign run. Normal sending permissions, billing, and delivery policies apply.
605
+ */
606
+ static sendTest(parameters, options) {
607
+ const params = buildClientParams([parameters], [{ args: [
608
+ {
609
+ in: "body",
610
+ key: "content"
611
+ },
612
+ {
613
+ in: "body",
614
+ key: "audience"
615
+ },
616
+ {
617
+ in: "body",
618
+ key: "contactId"
619
+ }
620
+ ] }]);
621
+ return (options?.client ?? client).post({
622
+ security: [{
623
+ name: "x-api-key",
624
+ type: "apiKey"
625
+ }],
626
+ url: "/v1/campaigns/test-send",
627
+ ...options,
628
+ ...params,
629
+ body: params.body ?? {},
630
+ headers: {
631
+ "Content-Type": "application/json",
632
+ ...options?.headers,
633
+ ...params.headers
634
+ }
635
+ });
636
+ }
562
637
  /**
563
638
  * List campaigns
564
639
  *
@@ -625,6 +700,7 @@ var Campaigns = class {
625
700
  url: "/v1/campaigns",
626
701
  ...options,
627
702
  ...params,
703
+ body: params.body ?? {},
628
704
  headers: {
629
705
  "Content-Type": "application/json",
630
706
  ...options?.headers,
@@ -688,6 +764,7 @@ var Campaigns = class {
688
764
  url: "/v1/campaigns/{id}",
689
765
  ...options,
690
766
  ...params,
767
+ body: params.body ?? {},
691
768
  headers: {
692
769
  "Content-Type": "application/json",
693
770
  ...options?.headers,
@@ -777,6 +854,7 @@ var Campaigns = class {
777
854
  url: "/v1/campaigns/{id}/runs",
778
855
  ...options,
779
856
  ...params,
857
+ body: params.body ?? {},
780
858
  headers: {
781
859
  "Content-Type": "application/json",
782
860
  ...options?.headers,
@@ -808,6 +886,29 @@ var Campaigns = class {
808
886
  });
809
887
  }
810
888
  /**
889
+ * Get a campaign run report
890
+ *
891
+ * Returns delivery outcomes, topic unsubscribes, replies, and skip reasons for an email campaign run. Non-email runs return 404. Namespace-scoped reads require an existing audience topic in that namespace. Opens and clicks are directional counts of unique recipients excluding machine events, not exact measurements.
892
+ */
893
+ static getRunReport(parameters, options) {
894
+ const params = buildClientParams([parameters], [{ args: [{
895
+ in: "path",
896
+ key: "id"
897
+ }, {
898
+ in: "path",
899
+ key: "runId"
900
+ }] }]);
901
+ return (options?.client ?? client).get({
902
+ security: [{
903
+ name: "x-api-key",
904
+ type: "apiKey"
905
+ }],
906
+ url: "/v1/campaigns/{id}/runs/{runId}/report",
907
+ ...options,
908
+ ...params
909
+ });
910
+ }
911
+ /**
811
912
  * Pause a campaign run
812
913
  *
813
914
  * Pauses an in-progress campaign run and returns the updated run.
@@ -949,6 +1050,7 @@ var Email = class {
949
1050
  url: "/v1/email/onboarding-review/reapply",
950
1051
  ...options,
951
1052
  ...params,
1053
+ body: params.body ?? {},
952
1054
  headers: {
953
1055
  "Content-Type": "application/json",
954
1056
  ...options?.headers,
@@ -984,6 +1086,7 @@ var Email = class {
984
1086
  url: "/v1/email/onboarding-review/respond",
985
1087
  ...options,
986
1088
  ...params,
1089
+ body: params.body ?? {},
987
1090
  headers: {
988
1091
  "Content-Type": "application/json",
989
1092
  ...options?.headers,
@@ -1027,6 +1130,7 @@ var Email = class {
1027
1130
  url: "/v1/email/tracking/defaults",
1028
1131
  ...options,
1029
1132
  ...params,
1133
+ body: params.body ?? {},
1030
1134
  headers: {
1031
1135
  "Content-Type": "application/json",
1032
1136
  ...options?.headers,
@@ -1075,6 +1179,7 @@ var Email = class {
1075
1179
  url: "/v1/email/tracking/recipients",
1076
1180
  ...options,
1077
1181
  ...params,
1182
+ body: params.body ?? {},
1078
1183
  headers: {
1079
1184
  "Content-Type": "application/json",
1080
1185
  ...options?.headers,
@@ -1144,6 +1249,7 @@ var Email = class {
1144
1249
  url: "/v1/email/domains",
1145
1250
  ...options,
1146
1251
  ...params,
1252
+ body: params.body ?? {},
1147
1253
  headers: {
1148
1254
  "Content-Type": "application/json",
1149
1255
  ...options?.headers,
@@ -1275,6 +1381,7 @@ var Email = class {
1275
1381
  url: "/v1/email/domains/{id}/registrar",
1276
1382
  ...options,
1277
1383
  ...params,
1384
+ body: params.body ?? {},
1278
1385
  headers: {
1279
1386
  "Content-Type": "application/json",
1280
1387
  ...options?.headers,
@@ -1326,6 +1433,7 @@ var Email = class {
1326
1433
  url: "/v1/email/domains/{id}/domain-connect/apply-url",
1327
1434
  ...options,
1328
1435
  ...params,
1436
+ body: params.body ?? {},
1329
1437
  headers: {
1330
1438
  "Content-Type": "application/json",
1331
1439
  ...options?.headers,
@@ -1365,6 +1473,7 @@ var Email = class {
1365
1473
  url: "/v1/email/domains/{id}/domain-connect/complete",
1366
1474
  ...options,
1367
1475
  ...params,
1476
+ body: params.body ?? {},
1368
1477
  headers: {
1369
1478
  "Content-Type": "application/json",
1370
1479
  ...options?.headers,
@@ -1408,6 +1517,7 @@ var Email = class {
1408
1517
  url: "/v1/email/domains/{id}/enable-receiving",
1409
1518
  ...options,
1410
1519
  ...params,
1520
+ body: params.body ?? {},
1411
1521
  headers: {
1412
1522
  "Content-Type": "application/json",
1413
1523
  ...options?.headers,
@@ -1458,7 +1568,7 @@ var Email = class {
1458
1568
  /**
1459
1569
  * Update a domain's send-settings config
1460
1570
  *
1461
- * Overrides the domain's open/click tracking, reply-to, unsubscribe-group defaults, and the brand its mail uses for the settings cascade. An omitted field is left unchanged; null clears it back to the organization default. Returns the saved config.
1571
+ * Overrides the domain's open/click tracking, reply-to, topic defaults, and the brand its mail uses for the settings cascade. An omitted field is left unchanged; null clears it back to the organization default. Returns the saved config.
1462
1572
  */
1463
1573
  static updateDomainConfig(parameters, options) {
1464
1574
  const params = buildClientParams([parameters], [{ args: [
@@ -1480,7 +1590,7 @@ var Email = class {
1480
1590
  },
1481
1591
  {
1482
1592
  in: "body",
1483
- key: "unsubscribeGroupId"
1593
+ key: "topicId"
1484
1594
  },
1485
1595
  {
1486
1596
  in: "body",
@@ -1499,6 +1609,7 @@ var Email = class {
1499
1609
  url: "/v1/email/domains/{id}/config",
1500
1610
  ...options,
1501
1611
  ...params,
1612
+ body: params.body ?? {},
1502
1613
  headers: {
1503
1614
  "Content-Type": "application/json",
1504
1615
  ...options?.headers,
@@ -1574,6 +1685,7 @@ var Email = class {
1574
1685
  url: "/v1/email/domains/{id}/custom-tracking",
1575
1686
  ...options,
1576
1687
  ...params,
1688
+ body: params.body ?? {},
1577
1689
  headers: {
1578
1690
  "Content-Type": "application/json",
1579
1691
  ...options?.headers,
@@ -1673,6 +1785,7 @@ var Email = class {
1673
1785
  url: "/v1/email/domains/{id}/custom-tracking/domain-connect/complete",
1674
1786
  ...options,
1675
1787
  ...params,
1788
+ body: params.body ?? {},
1676
1789
  headers: {
1677
1790
  "Content-Type": "application/json",
1678
1791
  ...options?.headers,
@@ -1762,6 +1875,7 @@ var Email = class {
1762
1875
  url: "/v1/email/senders",
1763
1876
  ...options,
1764
1877
  ...params,
1878
+ body: params.body ?? {},
1765
1879
  headers: {
1766
1880
  "Content-Type": "application/json",
1767
1881
  ...options?.headers,
@@ -1893,6 +2007,7 @@ var Email = class {
1893
2007
  url: "/v1/email/domains/{id}/enable-catch-all",
1894
2008
  ...options,
1895
2009
  ...params,
2010
+ body: params.body ?? {},
1896
2011
  headers: {
1897
2012
  "Content-Type": "application/json",
1898
2013
  ...options?.headers,
@@ -1961,6 +2076,7 @@ var Email = class {
1961
2076
  url: "/v1/email/catch-all/config",
1962
2077
  ...options,
1963
2078
  ...params,
2079
+ body: params.body ?? {},
1964
2080
  headers: {
1965
2081
  "Content-Type": "application/json",
1966
2082
  ...options?.headers,
@@ -2141,6 +2257,7 @@ var Email = class {
2141
2257
  url: "/v1/email/blocks",
2142
2258
  ...options,
2143
2259
  ...params,
2260
+ body: params.body ?? {},
2144
2261
  headers: {
2145
2262
  "Content-Type": "application/json",
2146
2263
  ...options?.headers,
@@ -2204,6 +2321,7 @@ var Email = class {
2204
2321
  url: "/v1/email/blocks/{id}",
2205
2322
  ...options,
2206
2323
  ...params,
2324
+ body: params.body ?? {},
2207
2325
  headers: {
2208
2326
  "Content-Type": "application/json",
2209
2327
  ...options?.headers,
@@ -2271,6 +2389,7 @@ var Email = class {
2271
2389
  url: "/v1/email/blocks/check",
2272
2390
  ...options,
2273
2391
  ...params,
2392
+ body: params.body ?? {},
2274
2393
  headers: {
2275
2394
  "Content-Type": "application/json",
2276
2395
  ...options?.headers,
@@ -2361,6 +2480,7 @@ var Email = class {
2361
2480
  url: "/v1/email/forwarding",
2362
2481
  ...options,
2363
2482
  ...params,
2483
+ body: params.body ?? {},
2364
2484
  headers: {
2365
2485
  "Content-Type": "application/json",
2366
2486
  ...options?.headers,
@@ -2452,6 +2572,7 @@ var Email = class {
2452
2572
  url: "/v1/email/forwarding/{id}",
2453
2573
  ...options,
2454
2574
  ...params,
2575
+ body: params.body ?? {},
2455
2576
  headers: {
2456
2577
  "Content-Type": "application/json",
2457
2578
  ...options?.headers,
@@ -2557,6 +2678,7 @@ var Email = class {
2557
2678
  url: "/v1/email/domains/{id}/warming",
2558
2679
  ...options,
2559
2680
  ...params,
2681
+ body: params.body ?? {},
2560
2682
  headers: {
2561
2683
  "Content-Type": "application/json",
2562
2684
  ...options?.headers,
@@ -2596,6 +2718,7 @@ var Email = class {
2596
2718
  url: "/v1/email/domains/{id}/warming/policy",
2597
2719
  ...options,
2598
2720
  ...params,
2721
+ body: params.body ?? {},
2599
2722
  headers: {
2600
2723
  "Content-Type": "application/json",
2601
2724
  ...options?.headers,
@@ -2647,6 +2770,7 @@ var Email = class {
2647
2770
  url: "/v1/email/domains/{id}/warming/pause",
2648
2771
  ...options,
2649
2772
  ...params,
2773
+ body: params.body ?? {},
2650
2774
  headers: {
2651
2775
  "Content-Type": "application/json",
2652
2776
  ...options?.headers,
@@ -2675,6 +2799,7 @@ var Email = class {
2675
2799
  url: "/v1/email/domains/{id}/warming/resume",
2676
2800
  ...options,
2677
2801
  ...params,
2802
+ body: params.body ?? {},
2678
2803
  headers: {
2679
2804
  "Content-Type": "application/json",
2680
2805
  ...options?.headers,
@@ -2703,6 +2828,7 @@ var Email = class {
2703
2828
  url: "/v1/email/domains/{id}/warming/complete",
2704
2829
  ...options,
2705
2830
  ...params,
2831
+ body: params.body ?? {},
2706
2832
  headers: {
2707
2833
  "Content-Type": "application/json",
2708
2834
  ...options?.headers,
@@ -2748,6 +2874,7 @@ var Media = class {
2748
2874
  url: "/v1/media",
2749
2875
  ...options,
2750
2876
  ...params,
2877
+ body: params.body ?? {},
2751
2878
  headers: {
2752
2879
  "Content-Type": "application/json",
2753
2880
  ...options?.headers,
@@ -3056,6 +3183,7 @@ var Conversations = class {
3056
3183
  url: "/v1/conversations",
3057
3184
  ...options,
3058
3185
  ...params,
3186
+ body: params.body ?? {},
3059
3187
  headers: {
3060
3188
  "Content-Type": "application/json",
3061
3189
  ...options?.headers,
@@ -3163,6 +3291,7 @@ var Conversations = class {
3163
3291
  url: "/v1/conversations/{id}",
3164
3292
  ...options,
3165
3293
  ...params,
3294
+ body: params.body ?? {},
3166
3295
  headers: {
3167
3296
  "Content-Type": "application/json",
3168
3297
  ...options?.headers,
@@ -3229,6 +3358,7 @@ var Conversations = class {
3229
3358
  url: "/v1/conversations/{id}/tags",
3230
3359
  ...options,
3231
3360
  ...params,
3361
+ body: params.body ?? {},
3232
3362
  headers: {
3233
3363
  "Content-Type": "application/json",
3234
3364
  ...options?.headers,
@@ -3257,6 +3387,7 @@ var Conversations = class {
3257
3387
  url: "/v1/conversations/{id}/tags",
3258
3388
  ...options,
3259
3389
  ...params,
3390
+ body: params.body ?? {},
3260
3391
  headers: {
3261
3392
  "Content-Type": "application/json",
3262
3393
  ...options?.headers,
@@ -3285,6 +3416,7 @@ var Conversations = class {
3285
3416
  url: "/v1/conversations/{id}/categories",
3286
3417
  ...options,
3287
3418
  ...params,
3419
+ body: params.body ?? {},
3288
3420
  headers: {
3289
3421
  "Content-Type": "application/json",
3290
3422
  ...options?.headers,
@@ -3313,6 +3445,7 @@ var Conversations = class {
3313
3445
  url: "/v1/conversations/{id}/categories",
3314
3446
  ...options,
3315
3447
  ...params,
3448
+ body: params.body ?? {},
3316
3449
  headers: {
3317
3450
  "Content-Type": "application/json",
3318
3451
  ...options?.headers,
@@ -3341,6 +3474,7 @@ var Conversations = class {
3341
3474
  url: "/v1/conversations/{id}/channels",
3342
3475
  ...options,
3343
3476
  ...params,
3477
+ body: params.body ?? {},
3344
3478
  headers: {
3345
3479
  "Content-Type": "application/json",
3346
3480
  ...options?.headers,
@@ -3369,6 +3503,7 @@ var Conversations = class {
3369
3503
  url: "/v1/conversations/{id}/channels",
3370
3504
  ...options,
3371
3505
  ...params,
3506
+ body: params.body ?? {},
3372
3507
  headers: {
3373
3508
  "Content-Type": "application/json",
3374
3509
  ...options?.headers,
@@ -3379,7 +3514,7 @@ var Conversations = class {
3379
3514
  /**
3380
3515
  * Remove contacts from a conversation
3381
3516
  *
3382
- * Detaches one or more contacts from a conversation and returns the updated conversation.
3517
+ * Detaches one or more contacts from a conversation and returns the updated conversation. One request carries at most 1000 ids.
3383
3518
  */
3384
3519
  static removeContacts(parameters, options) {
3385
3520
  const params = buildClientParams([parameters], [{ args: [{
@@ -3397,6 +3532,7 @@ var Conversations = class {
3397
3532
  url: "/v1/conversations/{id}/contacts",
3398
3533
  ...options,
3399
3534
  ...params,
3535
+ body: params.body ?? {},
3400
3536
  headers: {
3401
3537
  "Content-Type": "application/json",
3402
3538
  ...options?.headers,
@@ -3407,7 +3543,7 @@ var Conversations = class {
3407
3543
  /**
3408
3544
  * Add contacts to a conversation
3409
3545
  *
3410
- * Attaches one or more contacts to a conversation and returns the updated conversation.
3546
+ * Attaches one or more contacts to a conversation and returns the updated conversation. One request carries at most 1000 ids.
3411
3547
  */
3412
3548
  static addContacts(parameters, options) {
3413
3549
  const params = buildClientParams([parameters], [{ args: [{
@@ -3425,6 +3561,7 @@ var Conversations = class {
3425
3561
  url: "/v1/conversations/{id}/contacts",
3426
3562
  ...options,
3427
3563
  ...params,
3564
+ body: params.body ?? {},
3428
3565
  headers: {
3429
3566
  "Content-Type": "application/json",
3430
3567
  ...options?.headers,
@@ -3556,6 +3693,7 @@ var Contacts = class {
3556
3693
  url: "/v1/contacts",
3557
3694
  ...options,
3558
3695
  ...params,
3696
+ body: params.body ?? {},
3559
3697
  headers: {
3560
3698
  "Content-Type": "application/json",
3561
3699
  ...options?.headers,
@@ -3595,6 +3733,7 @@ var Contacts = class {
3595
3733
  url: "/v1/contacts/find",
3596
3734
  ...options,
3597
3735
  ...params,
3736
+ body: params.body ?? {},
3598
3737
  headers: {
3599
3738
  "Content-Type": "application/json",
3600
3739
  ...options?.headers,
@@ -3630,6 +3769,7 @@ var Contacts = class {
3630
3769
  url: "/v1/contacts/find-or-create",
3631
3770
  ...options,
3632
3771
  ...params,
3772
+ body: params.body ?? {},
3633
3773
  headers: {
3634
3774
  "Content-Type": "application/json",
3635
3775
  ...options?.headers,
@@ -3733,6 +3873,7 @@ var Contacts = class {
3733
3873
  url: "/v1/contacts/{id}",
3734
3874
  ...options,
3735
3875
  ...params,
3876
+ body: params.body ?? {},
3736
3877
  headers: {
3737
3878
  "Content-Type": "application/json",
3738
3879
  ...options?.headers,
@@ -3772,6 +3913,7 @@ var Contacts = class {
3772
3913
  url: "/v1/contacts/{id}/identities",
3773
3914
  ...options,
3774
3915
  ...params,
3916
+ body: params.body ?? {},
3775
3917
  headers: {
3776
3918
  "Content-Type": "application/json",
3777
3919
  ...options?.headers,
@@ -3846,6 +3988,7 @@ var Contacts = class {
3846
3988
  url: "/v1/contacts/{id}/identities/{identityId}/consent/{channel}",
3847
3989
  ...options,
3848
3990
  ...params,
3991
+ body: params.body ?? {},
3849
3992
  headers: {
3850
3993
  "Content-Type": "application/json",
3851
3994
  ...options?.headers,
@@ -3874,6 +4017,7 @@ var Contacts = class {
3874
4017
  url: "/v1/contacts/{id}/tags",
3875
4018
  ...options,
3876
4019
  ...params,
4020
+ body: params.body ?? {},
3877
4021
  headers: {
3878
4022
  "Content-Type": "application/json",
3879
4023
  ...options?.headers,
@@ -3902,6 +4046,7 @@ var Contacts = class {
3902
4046
  url: "/v1/contacts/{id}/tags",
3903
4047
  ...options,
3904
4048
  ...params,
4049
+ body: params.body ?? {},
3905
4050
  headers: {
3906
4051
  "Content-Type": "application/json",
3907
4052
  ...options?.headers,
@@ -3930,23 +4075,27 @@ var Contacts = class {
3930
4075
  });
3931
4076
  }
3932
4077
  /**
3933
- * Bulk import contacts
4078
+ * Preview a list migration
3934
4079
  *
3935
- * Creates contacts in bulk from a list of entries shaped like a create request, returning per-entry results with created, updated, skipped, and error counts. An entry whose identities match an existing contact is skipped, or updates it with `onConflict: "update"`.
4080
+ * The complete encoded JSON request must not exceed 3000000 bytes. Reads multiple declared export files without changing contacts. Restrictive evidence wins per address. Returns estimated counts and at most 100 diagnostics; processing rechecks current restrictions. Filenames never establish permission. Requires listMigration. Missing required columns refuse the file; unknown status values are conflicts and never subscribe a reader.
3936
4081
  */
3937
- static bulkImport(parameters, options) {
4082
+ static planImport(parameters, options) {
3938
4083
  const params = buildClientParams([parameters], [{ args: [
3939
4084
  {
3940
4085
  in: "body",
3941
- key: "namespaceId"
4086
+ key: "preset"
3942
4087
  },
3943
4088
  {
3944
4089
  in: "body",
3945
- key: "contacts"
4090
+ key: "topicId"
4091
+ },
4092
+ {
4093
+ in: "body",
4094
+ key: "namespaceId"
3946
4095
  },
3947
4096
  {
3948
4097
  in: "body",
3949
- key: "onConflict"
4098
+ key: "files"
3950
4099
  }
3951
4100
  ] }]);
3952
4101
  return (options?.client ?? client).post({
@@ -3954,7 +4103,30 @@ var Contacts = class {
3954
4103
  name: "x-api-key",
3955
4104
  type: "apiKey"
3956
4105
  }],
3957
- url: "/v1/contacts/bulk-import",
4106
+ url: "/v1/contacts/imports/plan",
4107
+ ...options,
4108
+ ...params,
4109
+ body: params.body ?? {},
4110
+ headers: {
4111
+ "Content-Type": "application/json",
4112
+ ...options?.headers,
4113
+ ...params.headers
4114
+ }
4115
+ });
4116
+ }
4117
+ /**
4118
+ * Start or resume a list migration
4119
+ *
4120
+ * The complete encoded JSON request, including new-start metadata, must not exceed 3000000 bytes. Admits a durable import using the preview hash and an idempotency key, or resumes the same persisted input at its committed cursor. Imports never restore an existing unsubscribe, suppression or bounce. Namespace-scoped credentials cannot create organization-wide suppressions; those rows are conflicts and create no contact. New active contacts are billable and normal contact events apply. Requires listMigration for new admissions.
4121
+ */
4122
+ static startImport(parameters, options) {
4123
+ const params = { body: parameters };
4124
+ return (options?.client ?? client).post({
4125
+ security: [{
4126
+ name: "x-api-key",
4127
+ type: "apiKey"
4128
+ }],
4129
+ url: "/v1/contacts/imports",
3958
4130
  ...options,
3959
4131
  ...params,
3960
4132
  headers: {
@@ -3965,9 +4137,29 @@ var Contacts = class {
3965
4137
  });
3966
4138
  }
3967
4139
  /**
4140
+ * Get list migration progress
4141
+ *
4142
+ * Returns the visible import job's committed counts, generation, terminal failure and resumability. The job persists across worker restarts and page reloads. Admitted jobs remain readable when listMigration is disabled.
4143
+ */
4144
+ static getImportJob(parameters, options) {
4145
+ const params = buildClientParams([parameters], [{ args: [{
4146
+ in: "path",
4147
+ key: "id"
4148
+ }] }]);
4149
+ return (options?.client ?? client).get({
4150
+ security: [{
4151
+ name: "x-api-key",
4152
+ type: "apiKey"
4153
+ }],
4154
+ url: "/v1/contacts/imports/{id}",
4155
+ ...options,
4156
+ ...params
4157
+ });
4158
+ }
4159
+ /**
3968
4160
  * Bulk delete contacts
3969
4161
  *
3970
- * Permanently deletes multiple contacts by ID, returning counts of deleted and failed records.
4162
+ * Permanently deletes multiple contacts by ID, returning counts of deleted and failed records. One request carries at most 1000 ids.
3971
4163
  */
3972
4164
  static bulkDelete(parameters, options) {
3973
4165
  const params = buildClientParams([parameters], [{ args: [{
@@ -3982,6 +4174,7 @@ var Contacts = class {
3982
4174
  url: "/v1/contacts/bulk-delete",
3983
4175
  ...options,
3984
4176
  ...params,
4177
+ body: params.body ?? {},
3985
4178
  headers: {
3986
4179
  "Content-Type": "application/json",
3987
4180
  ...options?.headers,
@@ -3992,7 +4185,7 @@ var Contacts = class {
3992
4185
  /**
3993
4186
  * Bulk update contact tags
3994
4187
  *
3995
- * Adds, removes, or replaces tags on multiple contacts in one request, returning counts of updated and failed records.
4188
+ * Adds, removes, or replaces tags on multiple contacts in one request, returning counts of updated and failed records. One request carries at most 1000 ids.
3996
4189
  */
3997
4190
  static bulkUpdateTags(parameters, options) {
3998
4191
  const params = buildClientParams([parameters], [{ args: [
@@ -4017,6 +4210,7 @@ var Contacts = class {
4017
4210
  url: "/v1/contacts/bulk-update-tags",
4018
4211
  ...options,
4019
4212
  ...params,
4213
+ body: params.body ?? {},
4020
4214
  headers: {
4021
4215
  "Content-Type": "application/json",
4022
4216
  ...options?.headers,
@@ -4027,7 +4221,7 @@ var Contacts = class {
4027
4221
  /**
4028
4222
  * Bulk update contact status
4029
4223
  *
4030
- * Sets the status on multiple contacts in one request, returning counts of updated and failed records.
4224
+ * Sets the status on multiple contacts in one request, returning counts of updated and failed records. One request carries at most 1000 ids.
4031
4225
  */
4032
4226
  static bulkUpdateStatus(parameters, options) {
4033
4227
  const params = buildClientParams([parameters], [{ args: [{
@@ -4045,6 +4239,7 @@ var Contacts = class {
4045
4239
  url: "/v1/contacts/bulk-update-status",
4046
4240
  ...options,
4047
4241
  ...params,
4242
+ body: params.body ?? {},
4048
4243
  headers: {
4049
4244
  "Content-Type": "application/json",
4050
4245
  ...options?.headers,
@@ -4055,7 +4250,7 @@ var Contacts = class {
4055
4250
  /**
4056
4251
  * Export contacts
4057
4252
  *
4058
- * Exports contacts as JSON or CSV, returning the serialized data and a count of exported records.
4253
+ * Exports contacts as JSON or CSV, returning the serialized data and a count of exported records. The ids filter takes at most 1000 ids.
4059
4254
  */
4060
4255
  static export(parameters, options) {
4061
4256
  const params = buildClientParams([parameters], [{ args: [
@@ -4084,6 +4279,7 @@ var Contacts = class {
4084
4279
  url: "/v1/contacts/export",
4085
4280
  ...options,
4086
4281
  ...params,
4282
+ body: params.body ?? {},
4087
4283
  headers: {
4088
4284
  "Content-Type": "application/json",
4089
4285
  ...options?.headers,
@@ -4193,6 +4389,7 @@ var Events = class {
4193
4389
  url: "/v1/events",
4194
4390
  ...options,
4195
4391
  ...params,
4392
+ body: params.body ?? {},
4196
4393
  headers: {
4197
4394
  "Content-Type": "application/json",
4198
4395
  ...options?.headers,
@@ -4218,6 +4415,7 @@ var Events = class {
4218
4415
  url: "/v1/events/batch",
4219
4416
  ...options,
4220
4417
  ...params,
4418
+ body: params.body ?? {},
4221
4419
  headers: {
4222
4420
  "Content-Type": "application/json",
4223
4421
  ...options?.headers,
@@ -4310,6 +4508,7 @@ var Journeys = class {
4310
4508
  url: "/v1/journeys",
4311
4509
  ...options,
4312
4510
  ...params,
4511
+ body: params.body ?? {},
4313
4512
  headers: {
4314
4513
  "Content-Type": "application/json",
4315
4514
  ...options?.headers,
@@ -4378,6 +4577,7 @@ var Journeys = class {
4378
4577
  url: "/v1/journeys/{id}",
4379
4578
  ...options,
4380
4579
  ...params,
4580
+ body: params.body ?? {},
4381
4581
  headers: {
4382
4582
  "Content-Type": "application/json",
4383
4583
  ...options?.headers,
@@ -4413,6 +4613,7 @@ var Journeys = class {
4413
4613
  url: "/v1/journeys/{id}/draft",
4414
4614
  ...options,
4415
4615
  ...params,
4616
+ body: params.body ?? {},
4416
4617
  headers: {
4417
4618
  "Content-Type": "application/json",
4418
4619
  ...options?.headers,
@@ -4441,6 +4642,7 @@ var Journeys = class {
4441
4642
  url: "/v1/journeys/{id}/publish",
4442
4643
  ...options,
4443
4644
  ...params,
4645
+ body: params.body ?? {},
4444
4646
  headers: {
4445
4647
  "Content-Type": "application/json",
4446
4648
  ...options?.headers,
@@ -4616,98 +4818,34 @@ var Journeys = class {
4616
4818
  });
4617
4819
  }
4618
4820
  };
4619
- var Subscriptions = class {
4620
- /**
4621
- * Request subscription confirmation
4622
- *
4623
- * Sends a confirmation email from your sender. Only the recipient's explicit confirmation adds them to the active static contact group and clears the optional unsubscribe group. The link expires after seven days and can be used once. A custom published email template receives confirmUrl. Sending follows ordinary sender, admission, billing, and brand-footer settings. Requires email send authority in addition to the declared contact grants, including the optional unsubscribe preference change.
4624
- */
4625
- static subscribe(parameters, options) {
4626
- const params = buildClientParams([parameters], [{ args: [
4627
- {
4628
- in: "body",
4629
- key: "email"
4630
- },
4631
- {
4632
- in: "body",
4633
- key: "contactGroupId"
4634
- },
4635
- {
4636
- in: "body",
4637
- key: "from"
4638
- },
4639
- {
4640
- in: "body",
4641
- key: "unsubscribeGroupId"
4642
- },
4643
- {
4644
- in: "body",
4645
- key: "templateSlug"
4646
- },
4647
- {
4648
- in: "body",
4649
- key: "consentIp"
4650
- },
4651
- {
4652
- in: "body",
4653
- key: "consentSource"
4654
- }
4655
- ] }]);
4656
- return (options?.client ?? client).post({
4657
- security: [{
4658
- name: "x-api-key",
4659
- type: "apiKey"
4660
- }],
4661
- url: "/v1/subscriptions",
4662
- ...options,
4663
- ...params,
4664
- headers: {
4665
- "Content-Type": "application/json",
4666
- ...options?.headers,
4667
- ...params.headers
4668
- }
4669
- });
4670
- }
4671
- };
4672
- var ContactGroups = class {
4821
+ var Agents = class {
4673
4822
  /**
4674
- * List contact groups
4823
+ * List agents
4675
4824
  *
4676
- * Returns the organization's contact groups, newest first, filterable by type and active state. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page.
4825
+ * Returns the agents the caller can reach, newest first, without their drafts. Pass nextCursor back as cursor for the next page.
4677
4826
  */
4678
4827
  static list(parameters, options) {
4679
- const params = buildClientParams([parameters], [{ args: [
4680
- {
4681
- in: "query",
4682
- key: "limit"
4683
- },
4684
- {
4685
- in: "query",
4686
- key: "cursor"
4687
- },
4688
- {
4689
- in: "query",
4690
- key: "type"
4691
- },
4692
- {
4693
- in: "query",
4694
- key: "isActive"
4695
- }
4696
- ] }]);
4828
+ const params = buildClientParams([parameters], [{ args: [{
4829
+ in: "query",
4830
+ key: "limit"
4831
+ }, {
4832
+ in: "query",
4833
+ key: "cursor"
4834
+ }] }]);
4697
4835
  return (options?.client ?? client).get({
4698
4836
  security: [{
4699
4837
  name: "x-api-key",
4700
4838
  type: "apiKey"
4701
4839
  }],
4702
- url: "/v1/contact-groups",
4840
+ url: "/v1/agents",
4703
4841
  ...options,
4704
4842
  ...params
4705
4843
  });
4706
4844
  }
4707
4845
  /**
4708
- * Create a contact group
4846
+ * Create an agent
4709
4847
  *
4710
- * Creates a new contact group and returns it with a 201 status.
4848
+ * Creates an agent with a draft and returns it with status 201. The agent answers nothing until its draft is published. A new agent starts in supervised mode, so each reply waits for a person to approve it. The namespace is set at creation and cannot change.
4711
4849
  */
4712
4850
  static create(parameters, options) {
4713
4851
  const params = buildClientParams([parameters], [{ args: [
@@ -4717,31 +4855,11 @@ var ContactGroups = class {
4717
4855
  },
4718
4856
  {
4719
4857
  in: "body",
4720
- key: "description"
4721
- },
4722
- {
4723
- in: "body",
4724
- key: "type"
4725
- },
4726
- {
4727
- in: "body",
4728
- key: "criteria"
4729
- },
4730
- {
4731
- in: "body",
4732
- key: "color"
4733
- },
4734
- {
4735
- in: "body",
4736
- key: "icon"
4737
- },
4738
- {
4739
- in: "body",
4740
- key: "parentGroupId"
4858
+ key: "namespaceId"
4741
4859
  },
4742
4860
  {
4743
4861
  in: "body",
4744
- key: "isActive"
4862
+ key: "definition"
4745
4863
  }
4746
4864
  ] }]);
4747
4865
  return (options?.client ?? client).post({
@@ -4749,9 +4867,10 @@ var ContactGroups = class {
4749
4867
  name: "x-api-key",
4750
4868
  type: "apiKey"
4751
4869
  }],
4752
- url: "/v1/contact-groups",
4870
+ url: "/v1/agents",
4753
4871
  ...options,
4754
4872
  ...params,
4873
+ body: params.body ?? {},
4755
4874
  headers: {
4756
4875
  "Content-Type": "application/json",
4757
4876
  ...options?.headers,
@@ -4760,9 +4879,9 @@ var ContactGroups = class {
4760
4879
  });
4761
4880
  }
4762
4881
  /**
4763
- * Delete a contact group
4882
+ * Delete an agent
4764
4883
  *
4765
- * Permanently deletes a contact group by its ID.
4884
+ * Deletes an agent with its draft and published versions. The endpoints it answered on stop being answered by an agent. A reply already running finishes on the version it started on.
4766
4885
  */
4767
4886
  static remove(parameters, options) {
4768
4887
  const params = buildClientParams([parameters], [{ args: [{
@@ -4774,17 +4893,17 @@ var ContactGroups = class {
4774
4893
  name: "x-api-key",
4775
4894
  type: "apiKey"
4776
4895
  }],
4777
- url: "/v1/contact-groups/{id}",
4896
+ url: "/v1/agents/{id}",
4778
4897
  ...options,
4779
4898
  ...params
4780
4899
  });
4781
4900
  }
4782
4901
  /**
4783
- * Get a contact group
4902
+ * Get an agent
4784
4903
  *
4785
- * Returns a single contact group by its ID.
4904
+ * Returns an agent with its draft, its current revision, and its newest published version number.
4786
4905
  */
4787
- static getById(parameters, options) {
4906
+ static get(parameters, options) {
4788
4907
  const params = buildClientParams([parameters], [{ args: [{
4789
4908
  in: "path",
4790
4909
  key: "id"
@@ -4794,36 +4913,365 @@ var ContactGroups = class {
4794
4913
  name: "x-api-key",
4795
4914
  type: "apiKey"
4796
4915
  }],
4797
- url: "/v1/contact-groups/{id}",
4916
+ url: "/v1/agents/{id}",
4798
4917
  ...options,
4799
4918
  ...params
4800
4919
  });
4801
4920
  }
4802
4921
  /**
4803
- * Update a contact group
4922
+ * Rename an agent
4804
4923
  *
4805
- * Updates an existing contact group's fields and returns the updated group.
4924
+ * Renames an agent.
4806
4925
  */
4807
4926
  static update(parameters, options) {
4808
- const params = buildClientParams([parameters], [{ args: [
4809
- {
4810
- in: "path",
4811
- key: "id"
4812
- },
4813
- {
4814
- in: "body",
4815
- key: "name"
4816
- },
4817
- {
4818
- in: "body",
4819
- key: "description"
4820
- },
4821
- {
4822
- in: "body",
4823
- key: "type"
4824
- },
4825
- {
4826
- in: "body",
4927
+ const params = buildClientParams([parameters], [{ args: [{
4928
+ in: "path",
4929
+ key: "id"
4930
+ }, {
4931
+ in: "body",
4932
+ key: "name"
4933
+ }] }]);
4934
+ return (options?.client ?? client).patch({
4935
+ security: [{
4936
+ name: "x-api-key",
4937
+ type: "apiKey"
4938
+ }],
4939
+ url: "/v1/agents/{id}",
4940
+ ...options,
4941
+ ...params,
4942
+ body: params.body ?? {},
4943
+ headers: {
4944
+ "Content-Type": "application/json",
4945
+ ...options?.headers,
4946
+ ...params.headers
4947
+ }
4948
+ });
4949
+ }
4950
+ /**
4951
+ * Replace an agent draft
4952
+ *
4953
+ * Replaces the whole draft and returns the agent with a new revision. The request names the revision it read; a stale revision returns 409. Published versions, and the conversations answered on them, do not change. An endpoint answers for one agent at a time: a draft that names an endpoint another agent answers on returns 409.
4954
+ */
4955
+ static replaceDraft(parameters, options) {
4956
+ const params = buildClientParams([parameters], [{ args: [
4957
+ {
4958
+ in: "path",
4959
+ key: "id"
4960
+ },
4961
+ {
4962
+ in: "body",
4963
+ key: "revision"
4964
+ },
4965
+ {
4966
+ in: "body",
4967
+ key: "definition"
4968
+ }
4969
+ ] }]);
4970
+ return (options?.client ?? client).put({
4971
+ security: [{
4972
+ name: "x-api-key",
4973
+ type: "apiKey"
4974
+ }],
4975
+ url: "/v1/agents/{id}/draft",
4976
+ ...options,
4977
+ ...params,
4978
+ body: params.body ?? {},
4979
+ headers: {
4980
+ "Content-Type": "application/json",
4981
+ ...options?.headers,
4982
+ ...params.headers
4983
+ }
4984
+ });
4985
+ }
4986
+ /**
4987
+ * Publish an agent
4988
+ *
4989
+ * Publishes the draft as the next immutable version. Each conversation moves to it from its next agent reply; a reply already running finishes on the version it started on. The request names the revision it read; a stale revision returns 409. Publishing a draft identical to the newest version changes nothing and answers published false. An endpoint answers for one agent at a time: publishing a draft whose endpoint another agent answers on returns 409. In supervised mode each reply waits for a person to approve it.
4990
+ */
4991
+ static publish(parameters, options) {
4992
+ const params = buildClientParams([parameters], [{ args: [{
4993
+ in: "path",
4994
+ key: "id"
4995
+ }, {
4996
+ in: "body",
4997
+ key: "revision"
4998
+ }] }]);
4999
+ return (options?.client ?? client).post({
5000
+ security: [{
5001
+ name: "x-api-key",
5002
+ type: "apiKey"
5003
+ }],
5004
+ url: "/v1/agents/{id}/publish",
5005
+ ...options,
5006
+ ...params,
5007
+ body: params.body ?? {},
5008
+ headers: {
5009
+ "Content-Type": "application/json",
5010
+ ...options?.headers,
5011
+ ...params.headers
5012
+ }
5013
+ });
5014
+ }
5015
+ /**
5016
+ * List published agent versions
5017
+ *
5018
+ * Returns an agent's published versions, newest first, without their definitions. Pass nextCursor back as cursor for the next page.
5019
+ */
5020
+ static listVersions(parameters, options) {
5021
+ const params = buildClientParams([parameters], [{ args: [
5022
+ {
5023
+ in: "path",
5024
+ key: "id"
5025
+ },
5026
+ {
5027
+ in: "query",
5028
+ key: "limit"
5029
+ },
5030
+ {
5031
+ in: "query",
5032
+ key: "cursor"
5033
+ }
5034
+ ] }]);
5035
+ return (options?.client ?? client).get({
5036
+ security: [{
5037
+ name: "x-api-key",
5038
+ type: "apiKey"
5039
+ }],
5040
+ url: "/v1/agents/{id}/versions",
5041
+ ...options,
5042
+ ...params
5043
+ });
5044
+ }
5045
+ /**
5046
+ * Get a published agent version
5047
+ *
5048
+ * Returns the immutable definition of one published version.
5049
+ */
5050
+ static getVersion(parameters, options) {
5051
+ const params = buildClientParams([parameters], [{ args: [{
5052
+ in: "path",
5053
+ key: "id"
5054
+ }, {
5055
+ in: "path",
5056
+ key: "version"
5057
+ }] }]);
5058
+ return (options?.client ?? client).get({
5059
+ security: [{
5060
+ name: "x-api-key",
5061
+ type: "apiKey"
5062
+ }],
5063
+ url: "/v1/agents/{id}/versions/{version}",
5064
+ ...options,
5065
+ ...params
5066
+ });
5067
+ }
5068
+ };
5069
+ var Subscriptions = class {
5070
+ /**
5071
+ * Request subscription confirmation
5072
+ *
5073
+ * Sends a confirmation email from your sender. Only the recipient's explicit confirmation creates their contact and subscribes them to the named topic. The link expires after seven days and can be used once. A custom published email template receives confirmUrl. Sending follows ordinary sender, admission, billing, and brand-footer settings. Requires email send authority in addition to the declared contact grants, including the topic subscription change.
5074
+ */
5075
+ static subscribe(parameters, options) {
5076
+ const params = buildClientParams([parameters], [{ args: [
5077
+ {
5078
+ in: "body",
5079
+ key: "email"
5080
+ },
5081
+ {
5082
+ in: "body",
5083
+ key: "topicId"
5084
+ },
5085
+ {
5086
+ in: "body",
5087
+ key: "from"
5088
+ },
5089
+ {
5090
+ in: "body",
5091
+ key: "templateSlug"
5092
+ },
5093
+ {
5094
+ in: "body",
5095
+ key: "consentIp"
5096
+ },
5097
+ {
5098
+ in: "body",
5099
+ key: "consentSource"
5100
+ }
5101
+ ] }]);
5102
+ return (options?.client ?? client).post({
5103
+ security: [{
5104
+ name: "x-api-key",
5105
+ type: "apiKey"
5106
+ }],
5107
+ url: "/v1/subscriptions",
5108
+ ...options,
5109
+ ...params,
5110
+ body: params.body ?? {},
5111
+ headers: {
5112
+ "Content-Type": "application/json",
5113
+ ...options?.headers,
5114
+ ...params.headers
5115
+ }
5116
+ });
5117
+ }
5118
+ };
5119
+ var ContactGroups = class {
5120
+ /**
5121
+ * List contact groups
5122
+ *
5123
+ * Returns the organization's contact groups, newest first, filterable by type and active state. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page.
5124
+ */
5125
+ static list(parameters, options) {
5126
+ const params = buildClientParams([parameters], [{ args: [
5127
+ {
5128
+ in: "query",
5129
+ key: "limit"
5130
+ },
5131
+ {
5132
+ in: "query",
5133
+ key: "cursor"
5134
+ },
5135
+ {
5136
+ in: "query",
5137
+ key: "type"
5138
+ },
5139
+ {
5140
+ in: "query",
5141
+ key: "isActive"
5142
+ }
5143
+ ] }]);
5144
+ return (options?.client ?? client).get({
5145
+ security: [{
5146
+ name: "x-api-key",
5147
+ type: "apiKey"
5148
+ }],
5149
+ url: "/v1/contact-groups",
5150
+ ...options,
5151
+ ...params
5152
+ });
5153
+ }
5154
+ /**
5155
+ * Create a contact group
5156
+ *
5157
+ * Creates a new contact group and returns it with a 201 status.
5158
+ */
5159
+ static create(parameters, options) {
5160
+ const params = buildClientParams([parameters], [{ args: [
5161
+ {
5162
+ in: "body",
5163
+ key: "name"
5164
+ },
5165
+ {
5166
+ in: "body",
5167
+ key: "description"
5168
+ },
5169
+ {
5170
+ in: "body",
5171
+ key: "type"
5172
+ },
5173
+ {
5174
+ in: "body",
5175
+ key: "criteria"
5176
+ },
5177
+ {
5178
+ in: "body",
5179
+ key: "color"
5180
+ },
5181
+ {
5182
+ in: "body",
5183
+ key: "icon"
5184
+ },
5185
+ {
5186
+ in: "body",
5187
+ key: "parentGroupId"
5188
+ },
5189
+ {
5190
+ in: "body",
5191
+ key: "isActive"
5192
+ }
5193
+ ] }]);
5194
+ return (options?.client ?? client).post({
5195
+ security: [{
5196
+ name: "x-api-key",
5197
+ type: "apiKey"
5198
+ }],
5199
+ url: "/v1/contact-groups",
5200
+ ...options,
5201
+ ...params,
5202
+ body: params.body ?? {},
5203
+ headers: {
5204
+ "Content-Type": "application/json",
5205
+ ...options?.headers,
5206
+ ...params.headers
5207
+ }
5208
+ });
5209
+ }
5210
+ /**
5211
+ * Delete a contact group
5212
+ *
5213
+ * Permanently deletes a contact group by its ID.
5214
+ */
5215
+ static remove(parameters, options) {
5216
+ const params = buildClientParams([parameters], [{ args: [{
5217
+ in: "path",
5218
+ key: "id"
5219
+ }] }]);
5220
+ return (options?.client ?? client).delete({
5221
+ security: [{
5222
+ name: "x-api-key",
5223
+ type: "apiKey"
5224
+ }],
5225
+ url: "/v1/contact-groups/{id}",
5226
+ ...options,
5227
+ ...params
5228
+ });
5229
+ }
5230
+ /**
5231
+ * Get a contact group
5232
+ *
5233
+ * Returns a single contact group by its ID.
5234
+ */
5235
+ static getById(parameters, options) {
5236
+ const params = buildClientParams([parameters], [{ args: [{
5237
+ in: "path",
5238
+ key: "id"
5239
+ }] }]);
5240
+ return (options?.client ?? client).get({
5241
+ security: [{
5242
+ name: "x-api-key",
5243
+ type: "apiKey"
5244
+ }],
5245
+ url: "/v1/contact-groups/{id}",
5246
+ ...options,
5247
+ ...params
5248
+ });
5249
+ }
5250
+ /**
5251
+ * Update a contact group
5252
+ *
5253
+ * Updates an existing contact group's fields and returns the updated group.
5254
+ */
5255
+ static update(parameters, options) {
5256
+ const params = buildClientParams([parameters], [{ args: [
5257
+ {
5258
+ in: "path",
5259
+ key: "id"
5260
+ },
5261
+ {
5262
+ in: "body",
5263
+ key: "name"
5264
+ },
5265
+ {
5266
+ in: "body",
5267
+ key: "description"
5268
+ },
5269
+ {
5270
+ in: "body",
5271
+ key: "type"
5272
+ },
5273
+ {
5274
+ in: "body",
4827
5275
  key: "criteria"
4828
5276
  },
4829
5277
  {
@@ -4851,6 +5299,7 @@ var ContactGroups = class {
4851
5299
  url: "/v1/contact-groups/{id}",
4852
5300
  ...options,
4853
5301
  ...params,
5302
+ body: params.body ?? {},
4854
5303
  headers: {
4855
5304
  "Content-Type": "application/json",
4856
5305
  ...options?.headers,
@@ -4861,7 +5310,7 @@ var ContactGroups = class {
4861
5310
  /**
4862
5311
  * Remove members from a contact group
4863
5312
  *
4864
- * Removes one or more contacts from a contact group, returning the count of removed members.
5313
+ * Removes one or more contacts from a contact group, returning the count of removed members. One request carries at most 1000 ids.
4865
5314
  */
4866
5315
  static removeMembers(parameters, options) {
4867
5316
  const params = buildClientParams([parameters], [{ args: [{
@@ -4879,6 +5328,7 @@ var ContactGroups = class {
4879
5328
  url: "/v1/contact-groups/{id}/members",
4880
5329
  ...options,
4881
5330
  ...params,
5331
+ body: params.body ?? {},
4882
5332
  headers: {
4883
5333
  "Content-Type": "application/json",
4884
5334
  ...options?.headers,
@@ -4919,7 +5369,7 @@ var ContactGroups = class {
4919
5369
  /**
4920
5370
  * Add members to a contact group
4921
5371
  *
4922
- * Adds one or more contacts to a contact group, returning counts of added and skipped members.
5372
+ * Adds one or more contacts to a contact group, returning counts of added and skipped members. One request carries at most 1000 ids.
4923
5373
  */
4924
5374
  static addMembers(parameters, options) {
4925
5375
  const params = buildClientParams([parameters], [{ args: [
@@ -4944,6 +5394,7 @@ var ContactGroups = class {
4944
5394
  url: "/v1/contact-groups/{id}/members",
4945
5395
  ...options,
4946
5396
  ...params,
5397
+ body: params.body ?? {},
4947
5398
  headers: {
4948
5399
  "Content-Type": "application/json",
4949
5400
  ...options?.headers,
@@ -4966,97 +5417,375 @@ var ContactGroups = class {
4966
5417
  name: "x-api-key",
4967
5418
  type: "apiKey"
4968
5419
  }],
4969
- url: "/v1/contact-groups/{id}/evaluate",
5420
+ url: "/v1/contact-groups/{id}/evaluate",
5421
+ ...options,
5422
+ ...params
5423
+ });
5424
+ }
5425
+ /**
5426
+ * Preview contact group criteria
5427
+ *
5428
+ * Evaluates group criteria without persisting, returning the matching contact count and a sample of matches.
5429
+ */
5430
+ static preview(parameters, options) {
5431
+ const params = buildClientParams([parameters], [{ args: [{
5432
+ in: "body",
5433
+ key: "criteria"
5434
+ }] }]);
5435
+ return (options?.client ?? client).post({
5436
+ security: [{
5437
+ name: "x-api-key",
5438
+ type: "apiKey"
5439
+ }],
5440
+ url: "/v1/contact-groups/preview",
5441
+ ...options,
5442
+ ...params,
5443
+ body: params.body ?? {},
5444
+ headers: {
5445
+ "Content-Type": "application/json",
5446
+ ...options?.headers,
5447
+ ...params.headers
5448
+ }
5449
+ });
5450
+ }
5451
+ };
5452
+ var CustomFields = class {
5453
+ /**
5454
+ * List custom fields
5455
+ *
5456
+ * Returns every custom field definition for the organization in display order. An organization defines at most 100, so the list is never paged.
5457
+ */
5458
+ static list(options) {
5459
+ return (options?.client ?? client).get({
5460
+ security: [{
5461
+ name: "x-api-key",
5462
+ type: "apiKey"
5463
+ }],
5464
+ url: "/v1/custom-fields",
5465
+ ...options
5466
+ });
5467
+ }
5468
+ /**
5469
+ * Create a custom field
5470
+ *
5471
+ * Creates a new custom field definition and returns it with a 201 status; the field key must be unique, and an organization defines at most 100.
5472
+ */
5473
+ static create(parameters, options) {
5474
+ const params = buildClientParams([parameters], [{ args: [
5475
+ {
5476
+ in: "body",
5477
+ key: "key"
5478
+ },
5479
+ {
5480
+ in: "body",
5481
+ key: "label"
5482
+ },
5483
+ {
5484
+ in: "body",
5485
+ key: "type"
5486
+ },
5487
+ {
5488
+ in: "body",
5489
+ key: "options"
5490
+ },
5491
+ {
5492
+ in: "body",
5493
+ key: "defaultValue"
5494
+ },
5495
+ {
5496
+ in: "body",
5497
+ key: "isRequired"
5498
+ },
5499
+ {
5500
+ in: "body",
5501
+ key: "sortOrder"
5502
+ }
5503
+ ] }]);
5504
+ return (options?.client ?? client).post({
5505
+ security: [{
5506
+ name: "x-api-key",
5507
+ type: "apiKey"
5508
+ }],
5509
+ url: "/v1/custom-fields",
5510
+ ...options,
5511
+ ...params,
5512
+ body: params.body ?? {},
5513
+ headers: {
5514
+ "Content-Type": "application/json",
5515
+ ...options?.headers,
5516
+ ...params.headers
5517
+ }
5518
+ });
5519
+ }
5520
+ /**
5521
+ * Delete a custom field
5522
+ *
5523
+ * Permanently deletes a custom field definition by its ID.
5524
+ */
5525
+ static remove(parameters, options) {
5526
+ const params = buildClientParams([parameters], [{ args: [{
5527
+ in: "path",
5528
+ key: "id"
5529
+ }] }]);
5530
+ return (options?.client ?? client).delete({
5531
+ security: [{
5532
+ name: "x-api-key",
5533
+ type: "apiKey"
5534
+ }],
5535
+ url: "/v1/custom-fields/{id}",
5536
+ ...options,
5537
+ ...params
5538
+ });
5539
+ }
5540
+ /**
5541
+ * Update a custom field
5542
+ *
5543
+ * Updates an existing custom field definition and returns the updated field.
5544
+ */
5545
+ static update(parameters, options) {
5546
+ const params = buildClientParams([parameters], [{ args: [
5547
+ {
5548
+ in: "path",
5549
+ key: "id"
5550
+ },
5551
+ {
5552
+ in: "body",
5553
+ key: "label"
5554
+ },
5555
+ {
5556
+ in: "body",
5557
+ key: "options"
5558
+ },
5559
+ {
5560
+ in: "body",
5561
+ key: "defaultValue"
5562
+ },
5563
+ {
5564
+ in: "body",
5565
+ key: "isRequired"
5566
+ },
5567
+ {
5568
+ in: "body",
5569
+ key: "sortOrder"
5570
+ }
5571
+ ] }]);
5572
+ return (options?.client ?? client).patch({
5573
+ security: [{
5574
+ name: "x-api-key",
5575
+ type: "apiKey"
5576
+ }],
5577
+ url: "/v1/custom-fields/{id}",
5578
+ ...options,
5579
+ ...params,
5580
+ body: params.body ?? {},
5581
+ headers: {
5582
+ "Content-Type": "application/json",
5583
+ ...options?.headers,
5584
+ ...params.headers
5585
+ }
5586
+ });
5587
+ }
5588
+ };
5589
+ var Topics = class {
5590
+ /**
5591
+ * List topics
5592
+ *
5593
+ * Lists visible topics, default first then by name. The organization holds at most 200 topics, so the list is bounded and unpaged.
5594
+ */
5595
+ static list(parameters, options) {
5596
+ const params = buildClientParams([parameters], [{ args: [{
5597
+ in: "query",
5598
+ key: "namespaceId"
5599
+ }] }]);
5600
+ return (options?.client ?? client).get({
5601
+ security: [{
5602
+ name: "x-api-key",
5603
+ type: "apiKey"
5604
+ }],
5605
+ url: "/v1/topics",
5606
+ ...options,
5607
+ ...params
5608
+ });
5609
+ }
5610
+ /**
5611
+ * Create a topic
5612
+ *
5613
+ * Creates a topic in the caller's or requested namespace. The subscription default is opt_out when omitted. Publishing defaults must be compatible with that namespace. An organization holds at most 200 topics.
5614
+ */
5615
+ static create(parameters, options) {
5616
+ const params = buildClientParams([parameters], [{ args: [
5617
+ {
5618
+ in: "body",
5619
+ key: "name"
5620
+ },
5621
+ {
5622
+ in: "body",
5623
+ key: "description"
5624
+ },
5625
+ {
5626
+ in: "body",
5627
+ key: "namespaceId"
5628
+ },
5629
+ {
5630
+ in: "body",
5631
+ key: "default"
5632
+ },
5633
+ {
5634
+ in: "body",
5635
+ key: "defaultSenderId"
5636
+ },
5637
+ {
5638
+ in: "body",
5639
+ key: "replyMailboxId"
5640
+ },
5641
+ {
5642
+ in: "body",
5643
+ key: "templateId"
5644
+ }
5645
+ ] }]);
5646
+ return (options?.client ?? client).post({
5647
+ security: [{
5648
+ name: "x-api-key",
5649
+ type: "apiKey"
5650
+ }],
5651
+ url: "/v1/topics",
5652
+ ...options,
5653
+ ...params,
5654
+ body: params.body ?? {},
5655
+ headers: {
5656
+ "Content-Type": "application/json",
5657
+ ...options?.headers,
5658
+ ...params.headers
5659
+ }
5660
+ });
5661
+ }
5662
+ /**
5663
+ * Check topic subscriptions
5664
+ *
5665
+ * Name exactly one contactId, email, or phone and a channel. Returns effective status, using the topic default when no explicit subscription exists. topicIds is an optional comma-separated list. Addresses resolve within the requested namespace; an unknown address returns contactId null and the effective defaults.
5666
+ */
5667
+ static checkSubscription(parameters, options) {
5668
+ const params = buildClientParams([parameters], [{ args: [
5669
+ {
5670
+ in: "query",
5671
+ key: "contactId"
5672
+ },
5673
+ {
5674
+ in: "query",
5675
+ key: "email"
5676
+ },
5677
+ {
5678
+ in: "query",
5679
+ key: "phone"
5680
+ },
5681
+ {
5682
+ in: "query",
5683
+ key: "namespaceId"
5684
+ },
5685
+ {
5686
+ in: "query",
5687
+ key: "channel"
5688
+ },
5689
+ {
5690
+ in: "query",
5691
+ key: "topicIds"
5692
+ }
5693
+ ] }]);
5694
+ return (options?.client ?? client).get({
5695
+ security: [{
5696
+ name: "x-api-key",
5697
+ type: "apiKey"
5698
+ }],
5699
+ url: "/v1/topics/check",
4970
5700
  ...options,
4971
5701
  ...params
4972
5702
  });
4973
5703
  }
4974
5704
  /**
4975
- * Preview contact group criteria
5705
+ * Delete a topic
4976
5706
  *
4977
- * Evaluates group criteria without persisting, returning the matching contact count and a sample of matches.
5707
+ * Refuses the default topic and any topic a scheduled or running campaign uses.
4978
5708
  */
4979
- static preview(parameters, options) {
5709
+ static remove(parameters, options) {
4980
5710
  const params = buildClientParams([parameters], [{ args: [{
4981
- in: "body",
4982
- key: "criteria"
5711
+ in: "path",
5712
+ key: "id"
4983
5713
  }] }]);
4984
- return (options?.client ?? client).post({
5714
+ return (options?.client ?? client).delete({
4985
5715
  security: [{
4986
5716
  name: "x-api-key",
4987
5717
  type: "apiKey"
4988
5718
  }],
4989
- url: "/v1/contact-groups/preview",
5719
+ url: "/v1/topics/{id}",
4990
5720
  ...options,
4991
- ...params,
4992
- headers: {
4993
- "Content-Type": "application/json",
4994
- ...options?.headers,
4995
- ...params.headers
4996
- }
5721
+ ...params
4997
5722
  });
4998
5723
  }
4999
- };
5000
- var CustomFields = class {
5001
5724
  /**
5002
- * List custom fields
5725
+ * Get a topic
5003
5726
  *
5004
- * Returns every custom field definition for the organization in display order. An organization defines at most 100, so the list is never paged.
5727
+ * Returns a visible topic, its publishing defaults, and explicit subscription counts by channel and status. Individual subscriptions are read through listSubscriptions.
5005
5728
  */
5006
- static list(options) {
5729
+ static get(parameters, options) {
5730
+ const params = buildClientParams([parameters], [{ args: [{
5731
+ in: "path",
5732
+ key: "id"
5733
+ }] }]);
5007
5734
  return (options?.client ?? client).get({
5008
5735
  security: [{
5009
5736
  name: "x-api-key",
5010
5737
  type: "apiKey"
5011
5738
  }],
5012
- url: "/v1/custom-fields",
5013
- ...options
5739
+ url: "/v1/topics/{id}",
5740
+ ...options,
5741
+ ...params
5014
5742
  });
5015
5743
  }
5016
5744
  /**
5017
- * Create a custom field
5745
+ * Update a topic
5018
5746
  *
5019
- * Creates a new custom field definition and returns it with a 201 status; the field key must be unique, and an organization defines at most 100.
5747
+ * Updates named fields. Changing the default does not change any explicit subscription status. Null clears a publishing default.
5020
5748
  */
5021
- static create(parameters, options) {
5749
+ static update(parameters, options) {
5022
5750
  const params = buildClientParams([parameters], [{ args: [
5023
5751
  {
5024
- in: "body",
5025
- key: "key"
5752
+ in: "path",
5753
+ key: "id"
5026
5754
  },
5027
5755
  {
5028
5756
  in: "body",
5029
- key: "label"
5757
+ key: "name"
5030
5758
  },
5031
5759
  {
5032
5760
  in: "body",
5033
- key: "type"
5761
+ key: "description"
5034
5762
  },
5035
5763
  {
5036
5764
  in: "body",
5037
- key: "options"
5765
+ key: "default"
5038
5766
  },
5039
5767
  {
5040
5768
  in: "body",
5041
- key: "defaultValue"
5769
+ key: "defaultSenderId"
5042
5770
  },
5043
5771
  {
5044
5772
  in: "body",
5045
- key: "isRequired"
5773
+ key: "replyMailboxId"
5046
5774
  },
5047
5775
  {
5048
5776
  in: "body",
5049
- key: "sortOrder"
5777
+ key: "templateId"
5050
5778
  }
5051
5779
  ] }]);
5052
- return (options?.client ?? client).post({
5780
+ return (options?.client ?? client).patch({
5053
5781
  security: [{
5054
5782
  name: "x-api-key",
5055
5783
  type: "apiKey"
5056
5784
  }],
5057
- url: "/v1/custom-fields",
5785
+ url: "/v1/topics/{id}",
5058
5786
  ...options,
5059
5787
  ...params,
5788
+ body: params.body ?? {},
5060
5789
  headers: {
5061
5790
  "Content-Type": "application/json",
5062
5791
  ...options?.headers,
@@ -5065,110 +5794,100 @@ var CustomFields = class {
5065
5794
  });
5066
5795
  }
5067
5796
  /**
5068
- * Delete a custom field
5797
+ * Make a topic the default
5069
5798
  *
5070
- * Permanently deletes a custom field definition by its ID.
5799
+ * Makes this the default category of messages in its namespace. Existing explicit subscription statuses remain unchanged.
5071
5800
  */
5072
- static remove(parameters, options) {
5801
+ static setDefault(parameters, options) {
5073
5802
  const params = buildClientParams([parameters], [{ args: [{
5074
5803
  in: "path",
5075
5804
  key: "id"
5076
5805
  }] }]);
5077
- return (options?.client ?? client).delete({
5806
+ return (options?.client ?? client).post({
5078
5807
  security: [{
5079
5808
  name: "x-api-key",
5080
5809
  type: "apiKey"
5081
5810
  }],
5082
- url: "/v1/custom-fields/{id}",
5811
+ url: "/v1/topics/{id}/default",
5083
5812
  ...options,
5084
5813
  ...params
5085
5814
  });
5086
5815
  }
5087
5816
  /**
5088
- * Update a custom field
5817
+ * List topic subscriptions
5089
5818
  *
5090
- * Updates an existing custom field definition and returns the updated field.
5819
+ * Returns explicit per-channel subscriptions, newest first, optionally filtered by channel and status. Pass nextCursor as cursor to continue; nextCursor is null on the last page. Contacts without an explicit subscription are absent from this list.
5091
5820
  */
5092
- static update(parameters, options) {
5821
+ static listSubscriptions(parameters, options) {
5093
5822
  const params = buildClientParams([parameters], [{ args: [
5094
5823
  {
5095
5824
  in: "path",
5096
5825
  key: "id"
5097
5826
  },
5098
5827
  {
5099
- in: "body",
5100
- key: "label"
5101
- },
5102
- {
5103
- in: "body",
5104
- key: "options"
5828
+ in: "query",
5829
+ key: "limit"
5105
5830
  },
5106
5831
  {
5107
- in: "body",
5108
- key: "defaultValue"
5832
+ in: "query",
5833
+ key: "cursor"
5109
5834
  },
5110
5835
  {
5111
- in: "body",
5112
- key: "isRequired"
5836
+ in: "query",
5837
+ key: "channel"
5113
5838
  },
5114
5839
  {
5115
- in: "body",
5116
- key: "sortOrder"
5840
+ in: "query",
5841
+ key: "status"
5117
5842
  }
5118
5843
  ] }]);
5119
- return (options?.client ?? client).patch({
5120
- security: [{
5121
- name: "x-api-key",
5122
- type: "apiKey"
5123
- }],
5124
- url: "/v1/custom-fields/{id}",
5125
- ...options,
5126
- ...params,
5127
- headers: {
5128
- "Content-Type": "application/json",
5129
- ...options?.headers,
5130
- ...params.headers
5131
- }
5132
- });
5133
- }
5134
- };
5135
- var Unsubscribe = class {
5136
- /**
5137
- * List unsubscribe groups
5138
- *
5139
- * Returns every unsubscribe group in the organization, the default group first, then by name. An organization holds at most 200, so the list is never paged.
5140
- */
5141
- static list(options) {
5142
5844
  return (options?.client ?? client).get({
5143
5845
  security: [{
5144
5846
  name: "x-api-key",
5145
5847
  type: "apiKey"
5146
5848
  }],
5147
- url: "/v1/unsubscribe-groups",
5148
- ...options
5849
+ url: "/v1/topics/{id}/subscriptions",
5850
+ ...options,
5851
+ ...params
5149
5852
  });
5150
5853
  }
5151
5854
  /**
5152
- * Create an unsubscribe group
5855
+ * Set topic subscriptions
5153
5856
  *
5154
- * Creates a new unsubscribe group and returns it with a 201 Created status. An organization holds at most 200 groups.
5857
+ * Upserts explicit subscribed or unsubscribed status for one channel. Each contact is named by ID, email, or phone. New addresses create contacts in the topic's namespace. Repeating the same status is idempotent.
5155
5858
  */
5156
- static create(parameters, options) {
5157
- const params = buildClientParams([parameters], [{ args: [{
5158
- in: "body",
5159
- key: "name"
5160
- }, {
5161
- in: "body",
5162
- key: "description"
5163
- }] }]);
5859
+ static setSubscriptions(parameters, options) {
5860
+ const params = buildClientParams([parameters], [{ args: [
5861
+ {
5862
+ in: "path",
5863
+ key: "id"
5864
+ },
5865
+ {
5866
+ in: "body",
5867
+ key: "contacts"
5868
+ },
5869
+ {
5870
+ in: "body",
5871
+ key: "channel"
5872
+ },
5873
+ {
5874
+ in: "body",
5875
+ key: "status"
5876
+ },
5877
+ {
5878
+ in: "body",
5879
+ key: "source"
5880
+ }
5881
+ ] }]);
5164
5882
  return (options?.client ?? client).post({
5165
5883
  security: [{
5166
5884
  name: "x-api-key",
5167
5885
  type: "apiKey"
5168
5886
  }],
5169
- url: "/v1/unsubscribe-groups",
5887
+ url: "/v1/topics/{id}/subscriptions",
5170
5888
  ...options,
5171
5889
  ...params,
5890
+ body: params.body ?? {},
5172
5891
  headers: {
5173
5892
  "Content-Type": "application/json",
5174
5893
  ...options?.headers,
@@ -5176,32 +5895,34 @@ var Unsubscribe = class {
5176
5895
  }
5177
5896
  });
5178
5897
  }
5898
+ };
5899
+ var TopicForms = class {
5179
5900
  /**
5180
- * Delete an unsubscribe group
5901
+ * List topic forms
5181
5902
  *
5182
- * Permanently deletes an unsubscribe group by its ID. The default group cannot be deleted; make another group the default first. A group a scheduled or running campaign uses cannot be deleted until that run finishes or is cancelled.
5903
+ * Lists the signup forms belonging to the visible topic. Requires topicSignup. Forms contain exact HTTPS allowed origins, bounded confirmation and success copy, an optional HTTPS redirect, and a public key for hosted or embedded signup.
5183
5904
  */
5184
- static remove(parameters, options) {
5905
+ static list(parameters, options) {
5185
5906
  const params = buildClientParams([parameters], [{ args: [{
5186
5907
  in: "path",
5187
5908
  key: "id"
5188
5909
  }] }]);
5189
- return (options?.client ?? client).delete({
5910
+ return (options?.client ?? client).get({
5190
5911
  security: [{
5191
5912
  name: "x-api-key",
5192
5913
  type: "apiKey"
5193
5914
  }],
5194
- url: "/v1/unsubscribe-groups/{id}",
5915
+ url: "/v1/topics/{id}/forms",
5195
5916
  ...options,
5196
5917
  ...params
5197
5918
  });
5198
5919
  }
5199
5920
  /**
5200
- * Update an unsubscribe group
5921
+ * Create a topic form
5201
5922
  *
5202
- * Updates the name or description of an unsubscribe group.
5923
+ * Creates a signup form for the visible topic and returns 201. The server generates its opaque public key. allowedOrigins contains exact HTTPS origins; the canonical web origin and current topic link origin are also accepted. Copy is plain text and redirectUrl is HTTPS or null. Requires topicSignup.
5203
5924
  */
5204
- static update(parameters, options) {
5925
+ static create(parameters, options) {
5205
5926
  const params = buildClientParams([parameters], [{ args: [
5206
5927
  {
5207
5928
  in: "path",
@@ -5209,21 +5930,38 @@ var Unsubscribe = class {
5209
5930
  },
5210
5931
  {
5211
5932
  in: "body",
5212
- key: "name"
5933
+ key: "allowedOrigins"
5213
5934
  },
5214
5935
  {
5215
5936
  in: "body",
5216
- key: "description"
5937
+ key: "confirmationTitle"
5938
+ },
5939
+ {
5940
+ in: "body",
5941
+ key: "confirmationMessage"
5942
+ },
5943
+ {
5944
+ in: "body",
5945
+ key: "successTitle"
5946
+ },
5947
+ {
5948
+ in: "body",
5949
+ key: "successMessage"
5950
+ },
5951
+ {
5952
+ in: "body",
5953
+ key: "redirectUrl"
5217
5954
  }
5218
5955
  ] }]);
5219
- return (options?.client ?? client).patch({
5956
+ return (options?.client ?? client).post({
5220
5957
  security: [{
5221
5958
  name: "x-api-key",
5222
5959
  type: "apiKey"
5223
5960
  }],
5224
- url: "/v1/unsubscribe-groups/{id}",
5961
+ url: "/v1/topics/{id}/forms",
5225
5962
  ...options,
5226
5963
  ...params,
5964
+ body: params.body ?? {},
5227
5965
  headers: {
5228
5966
  "Content-Type": "application/json",
5229
5967
  ...options?.headers,
@@ -5232,111 +5970,100 @@ var Unsubscribe = class {
5232
5970
  });
5233
5971
  }
5234
5972
  /**
5235
- * Make an unsubscribe group the default
5973
+ * Delete a topic form
5236
5974
  *
5237
- * Makes this group the organization's default: campaigns that name no group, and whose template and sending domain name none, unsubscribe recipients from it.
5975
+ * Deletes a form belonging to the visible topic. Its public key immediately stops accepting signups. Existing email confirmation links keep their snapshotted copy and remain valid until expiry. Requires topicSignup.
5238
5976
  */
5239
- static setDefault(parameters, options) {
5977
+ static remove(parameters, options) {
5240
5978
  const params = buildClientParams([parameters], [{ args: [{
5241
5979
  in: "path",
5242
5980
  key: "id"
5981
+ }, {
5982
+ in: "path",
5983
+ key: "formId"
5243
5984
  }] }]);
5244
- return (options?.client ?? client).post({
5985
+ return (options?.client ?? client).delete({
5245
5986
  security: [{
5246
5987
  name: "x-api-key",
5247
5988
  type: "apiKey"
5248
5989
  }],
5249
- url: "/v1/unsubscribe-groups/{id}/default",
5990
+ url: "/v1/topics/{id}/forms/{formId}",
5250
5991
  ...options,
5251
5992
  ...params
5252
5993
  });
5253
5994
  }
5254
5995
  /**
5255
- * Remove contacts from an unsubscribe group
5996
+ * Get a topic form
5256
5997
  *
5257
- * Returns contacts to an unsubscribe group's audience and returns the number removed. Each member is a contact ID, an email address, or a phone number; an address no contact holds is skipped.
5998
+ * Returns a signup form belonging to the visible topic, including its public key and current link origin. Forms outside the caller namespace or organization return 404. Requires topicSignup.
5258
5999
  */
5259
- static removeMembers(parameters, options) {
6000
+ static get(parameters, options) {
5260
6001
  const params = buildClientParams([parameters], [{ args: [{
5261
6002
  in: "path",
5262
6003
  key: "id"
5263
6004
  }, {
5264
- in: "body",
5265
- key: "members"
6005
+ in: "path",
6006
+ key: "formId"
5266
6007
  }] }]);
5267
- return (options?.client ?? client).delete({
6008
+ return (options?.client ?? client).get({
5268
6009
  security: [{
5269
6010
  name: "x-api-key",
5270
6011
  type: "apiKey"
5271
6012
  }],
5272
- url: "/v1/unsubscribe-groups/{id}/members",
6013
+ url: "/v1/topics/{id}/forms/{formId}",
5273
6014
  ...options,
5274
- ...params,
5275
- headers: {
5276
- "Content-Type": "application/json",
5277
- ...options?.headers,
5278
- ...params.headers
5279
- }
6015
+ ...params
5280
6016
  });
5281
6017
  }
5282
6018
  /**
5283
- * List unsubscribe group members
6019
+ * Update a topic form
5284
6020
  *
5285
- * Returns the contacts that have left an unsubscribe group, newest first. Pass `nextCursor` back as `cursor` for the next page; it is null on the last page.
6021
+ * Updates only the supplied form fields. allowedOrigins replaces the complete exact-origin allowlist; redirectUrl null clears the success redirect. The public key remains stable. Requires topicSignup.
5286
6022
  */
5287
- static listMembers(parameters, options) {
6023
+ static update(parameters, options) {
5288
6024
  const params = buildClientParams([parameters], [{ args: [
5289
6025
  {
5290
6026
  in: "path",
5291
6027
  key: "id"
5292
6028
  },
5293
6029
  {
5294
- in: "query",
5295
- key: "limit"
6030
+ in: "path",
6031
+ key: "formId"
5296
6032
  },
5297
6033
  {
5298
- in: "query",
5299
- key: "cursor"
5300
- }
5301
- ] }]);
5302
- return (options?.client ?? client).get({
5303
- security: [{
5304
- name: "x-api-key",
5305
- type: "apiKey"
5306
- }],
5307
- url: "/v1/unsubscribe-groups/{id}/members",
5308
- ...options,
5309
- ...params
5310
- });
5311
- }
5312
- /**
5313
- * Add contacts to an unsubscribe group
5314
- *
5315
- * Moves contacts out of an unsubscribe group's audience and returns the number added and the number skipped. Leaving a group stops that group's sends to the contact on every channel. Each member is a contact ID, an email address, or a phone number; an address no contact holds gets a new contact, so an import from another email service needs no contacts first.
5316
- */
5317
- static addMembers(parameters, options) {
5318
- const params = buildClientParams([parameters], [{ args: [
6034
+ in: "body",
6035
+ key: "allowedOrigins"
6036
+ },
5319
6037
  {
5320
- in: "path",
5321
- key: "id"
6038
+ in: "body",
6039
+ key: "confirmationTitle"
5322
6040
  },
5323
6041
  {
5324
6042
  in: "body",
5325
- key: "members"
6043
+ key: "confirmationMessage"
5326
6044
  },
5327
6045
  {
5328
6046
  in: "body",
5329
- key: "source"
6047
+ key: "successTitle"
6048
+ },
6049
+ {
6050
+ in: "body",
6051
+ key: "successMessage"
6052
+ },
6053
+ {
6054
+ in: "body",
6055
+ key: "redirectUrl"
5330
6056
  }
5331
6057
  ] }]);
5332
- return (options?.client ?? client).post({
6058
+ return (options?.client ?? client).patch({
5333
6059
  security: [{
5334
6060
  name: "x-api-key",
5335
6061
  type: "apiKey"
5336
6062
  }],
5337
- url: "/v1/unsubscribe-groups/{id}/members",
6063
+ url: "/v1/topics/{id}/forms/{formId}",
5338
6064
  ...options,
5339
6065
  ...params,
6066
+ body: params.body ?? {},
5340
6067
  headers: {
5341
6068
  "Content-Type": "application/json",
5342
6069
  ...options?.headers,
@@ -5344,40 +6071,6 @@ var Unsubscribe = class {
5344
6071
  }
5345
6072
  });
5346
6073
  }
5347
- /**
5348
- * Check unsubscribe group membership
5349
- *
5350
- * Returns the unsubscribe groups a contact has left, optionally limited to a specified set of groups. Name the contact by exactly one of `contactId`, `email`, or `phone`. Membership belongs to the contact, so the answer is the same whichever identifier names it; `contactId` is null, and no groups are returned, when no contact holds the email or phone.
5351
- */
5352
- static checkSubscription(parameters, options) {
5353
- const params = buildClientParams([parameters], [{ args: [
5354
- {
5355
- in: "query",
5356
- key: "contactId"
5357
- },
5358
- {
5359
- in: "query",
5360
- key: "email"
5361
- },
5362
- {
5363
- in: "query",
5364
- key: "phone"
5365
- },
5366
- {
5367
- in: "query",
5368
- key: "groupIds"
5369
- }
5370
- ] }]);
5371
- return (options?.client ?? client).get({
5372
- security: [{
5373
- name: "x-api-key",
5374
- type: "apiKey"
5375
- }],
5376
- url: "/v1/unsubscribe-groups/check",
5377
- ...options,
5378
- ...params
5379
- });
5380
- }
5381
6074
  };
5382
6075
  var Analytics = class {
5383
6076
  /**
@@ -5556,6 +6249,7 @@ var Analytics = class {
5556
6249
  url: "/v1/analytics/export",
5557
6250
  ...options,
5558
6251
  ...params,
6252
+ body: params.body ?? {},
5559
6253
  headers: {
5560
6254
  "Content-Type": "application/json",
5561
6255
  ...options?.headers,
@@ -5679,6 +6373,7 @@ var Templates = class {
5679
6373
  url: "/v1/templates",
5680
6374
  ...options,
5681
6375
  ...params,
6376
+ body: params.body ?? {},
5682
6377
  headers: {
5683
6378
  "Content-Type": "application/json",
5684
6379
  ...options?.headers,
@@ -5727,6 +6422,7 @@ var Templates = class {
5727
6422
  url: "/v1/templates/families",
5728
6423
  ...options,
5729
6424
  ...params,
6425
+ body: params.body ?? {},
5730
6426
  headers: {
5731
6427
  "Content-Type": "application/json",
5732
6428
  ...options?.headers,
@@ -5795,6 +6491,7 @@ var Templates = class {
5795
6491
  url: "/v1/templates/families/{id}",
5796
6492
  ...options,
5797
6493
  ...params,
6494
+ body: params.body ?? {},
5798
6495
  headers: {
5799
6496
  "Content-Type": "application/json",
5800
6497
  ...options?.headers,
@@ -5823,6 +6520,7 @@ var Templates = class {
5823
6520
  url: "/v1/templates/families/from-template/{templateId}",
5824
6521
  ...options,
5825
6522
  ...params,
6523
+ body: params.body ?? {},
5826
6524
  headers: {
5827
6525
  "Content-Type": "application/json",
5828
6526
  ...options?.headers,
@@ -5937,6 +6635,7 @@ var Templates = class {
5937
6635
  url: "/v1/templates/{id}",
5938
6636
  ...options,
5939
6637
  ...params,
6638
+ body: params.body ?? {},
5940
6639
  headers: {
5941
6640
  "Content-Type": "application/json",
5942
6641
  ...options?.headers,
@@ -5976,6 +6675,7 @@ var Templates = class {
5976
6675
  url: "/v1/templates/from-website",
5977
6676
  ...options,
5978
6677
  ...params,
6678
+ body: params.body ?? {},
5979
6679
  headers: {
5980
6680
  "Content-Type": "application/json",
5981
6681
  ...options?.headers,
@@ -6023,6 +6723,7 @@ var Templates = class {
6023
6723
  url: "/v1/templates/projects/{id}/entries",
6024
6724
  ...options,
6025
6725
  ...params,
6726
+ body: params.body ?? {},
6026
6727
  headers: {
6027
6728
  "Content-Type": "application/json",
6028
6729
  ...options?.headers,
@@ -6062,6 +6763,7 @@ var Templates = class {
6062
6763
  url: "/v1/templates/{id}/workspace",
6063
6764
  ...options,
6064
6765
  ...params,
6766
+ body: params.body ?? {},
6065
6767
  headers: {
6066
6768
  "Content-Type": "application/json",
6067
6769
  ...options?.headers,
@@ -6110,6 +6812,7 @@ var Templates = class {
6110
6812
  url: "/v1/templates/{id}/workspace/diff",
6111
6813
  ...options,
6112
6814
  ...params,
6815
+ body: params.body ?? {},
6113
6816
  headers: {
6114
6817
  "Content-Type": "application/json",
6115
6818
  ...options?.headers,
@@ -6157,6 +6860,7 @@ var Templates = class {
6157
6860
  url: "/v1/templates/{id}/workspace/assets",
6158
6861
  ...options,
6159
6862
  ...params,
6863
+ body: params.body ?? {},
6160
6864
  headers: {
6161
6865
  "Content-Type": "application/json",
6162
6866
  ...options?.headers,
@@ -6200,6 +6904,7 @@ var Templates = class {
6200
6904
  url: "/v1/templates/{id}/workspace/conflicts",
6201
6905
  ...options,
6202
6906
  ...params,
6907
+ body: params.body ?? {},
6203
6908
  headers: {
6204
6909
  "Content-Type": "application/json",
6205
6910
  ...options?.headers,
@@ -6243,6 +6948,7 @@ var Templates = class {
6243
6948
  url: "/v1/templates/{id}/workspace/save",
6244
6949
  ...options,
6245
6950
  ...params,
6951
+ body: params.body ?? {},
6246
6952
  headers: {
6247
6953
  "Content-Type": "application/json",
6248
6954
  ...options?.headers,
@@ -6282,6 +6988,7 @@ var Templates = class {
6282
6988
  url: "/v1/templates/{id}/workspace/restore",
6283
6989
  ...options,
6284
6990
  ...params,
6991
+ body: params.body ?? {},
6285
6992
  headers: {
6286
6993
  "Content-Type": "application/json",
6287
6994
  ...options?.headers,
@@ -6333,6 +7040,7 @@ var Templates = class {
6333
7040
  url: "/v1/templates/{id}/workspace/check",
6334
7041
  ...options,
6335
7042
  ...params,
7043
+ body: params.body ?? {},
6336
7044
  headers: {
6337
7045
  "Content-Type": "application/json",
6338
7046
  ...options?.headers,
@@ -6368,6 +7076,7 @@ var Templates = class {
6368
7076
  url: "/v1/templates/{id}/workspace/fixtures",
6369
7077
  ...options,
6370
7078
  ...params,
7079
+ body: params.body ?? {},
6371
7080
  headers: {
6372
7081
  "Content-Type": "application/json",
6373
7082
  ...options?.headers,
@@ -6415,6 +7124,7 @@ var Templates = class {
6415
7124
  url: "/v1/templates/{id}/publications",
6416
7125
  ...options,
6417
7126
  ...params,
7127
+ body: params.body ?? {},
6418
7128
  headers: {
6419
7129
  "Content-Type": "application/json",
6420
7130
  ...options?.headers,
@@ -6481,6 +7191,7 @@ var Templates = class {
6481
7191
  url: "/v1/templates/{id}/publications/{publicationId}/render",
6482
7192
  ...options,
6483
7193
  ...params,
7194
+ body: params.body ?? {},
6484
7195
  headers: {
6485
7196
  "Content-Type": "application/json",
6486
7197
  ...options?.headers,
@@ -6582,6 +7293,7 @@ var Templates = class {
6582
7293
  url: "/v1/templates/{id}/repository/credentials",
6583
7294
  ...options,
6584
7295
  ...params,
7296
+ body: params.body ?? {},
6585
7297
  headers: {
6586
7298
  "Content-Type": "application/json",
6587
7299
  ...options?.headers,
@@ -6621,6 +7333,7 @@ var Templates = class {
6621
7333
  url: "/v1/templates/{id}/workspace/resources",
6622
7334
  ...options,
6623
7335
  ...params,
7336
+ body: params.body ?? {},
6624
7337
  headers: {
6625
7338
  "Content-Type": "application/json",
6626
7339
  ...options?.headers,
@@ -6660,6 +7373,7 @@ var Templates = class {
6660
7373
  url: "/v1/templates/{id}/workspace/resources/{resourceId}/remove",
6661
7374
  ...options,
6662
7375
  ...params,
7376
+ body: params.body ?? {},
6663
7377
  headers: {
6664
7378
  "Content-Type": "application/json",
6665
7379
  ...options?.headers,
@@ -6724,6 +7438,7 @@ var Brands = class {
6724
7438
  url: "/v1/brands",
6725
7439
  ...options,
6726
7440
  ...params,
7441
+ body: params.body ?? {},
6727
7442
  headers: {
6728
7443
  "Content-Type": "application/json",
6729
7444
  ...options?.headers,
@@ -6811,6 +7526,7 @@ var Brands = class {
6811
7526
  url: "/v1/brands/{slug}",
6812
7527
  ...options,
6813
7528
  ...params,
7529
+ body: params.body ?? {},
6814
7530
  headers: {
6815
7531
  "Content-Type": "application/json",
6816
7532
  ...options?.headers,
@@ -6922,6 +7638,7 @@ var Webhooks = class {
6922
7638
  url: "/v1/webhooks",
6923
7639
  ...options,
6924
7640
  ...params,
7641
+ body: params.body ?? {},
6925
7642
  headers: {
6926
7643
  "Content-Type": "application/json",
6927
7644
  ...options?.headers,
@@ -7021,6 +7738,7 @@ var Webhooks = class {
7021
7738
  url: "/v1/webhooks/{id}",
7022
7739
  ...options,
7023
7740
  ...params,
7741
+ body: params.body ?? {},
7024
7742
  headers: {
7025
7743
  "Content-Type": "application/json",
7026
7744
  ...options?.headers,
@@ -7049,6 +7767,7 @@ var Webhooks = class {
7049
7767
  url: "/v1/webhooks/{id}/test",
7050
7768
  ...options,
7051
7769
  ...params,
7770
+ body: params.body ?? {},
7052
7771
  headers: {
7053
7772
  "Content-Type": "application/json",
7054
7773
  ...options?.headers,
@@ -7199,6 +7918,7 @@ var Organizations = class {
7199
7918
  url: "/v1/organizations",
7200
7919
  ...options,
7201
7920
  ...params,
7921
+ body: params.body ?? {},
7202
7922
  headers: {
7203
7923
  "Content-Type": "application/json",
7204
7924
  ...options?.headers,
@@ -7273,6 +7993,7 @@ var Organizations = class {
7273
7993
  url: "/v1/organizations/current",
7274
7994
  ...options,
7275
7995
  ...params,
7996
+ body: params.body ?? {},
7276
7997
  headers: {
7277
7998
  "Content-Type": "application/json",
7278
7999
  ...options?.headers,
@@ -7369,6 +8090,7 @@ var Organizations = class {
7369
8090
  url: "/v1/organizations/deletion-operations",
7370
8091
  ...options,
7371
8092
  ...params,
8093
+ body: params.body ?? {},
7372
8094
  headers: {
7373
8095
  "Content-Type": "application/json",
7374
8096
  ...options?.headers,
@@ -7444,6 +8166,7 @@ var ApiKeys = class {
7444
8166
  url: "/v1/api-keys",
7445
8167
  ...options,
7446
8168
  ...params,
8169
+ body: params.body ?? {},
7447
8170
  headers: {
7448
8171
  "Content-Type": "application/json",
7449
8172
  ...options?.headers,
@@ -7503,6 +8226,7 @@ var ApiKeys = class {
7503
8226
  url: "/v1/api-keys/{id}",
7504
8227
  ...options,
7505
8228
  ...params,
8229
+ body: params.body ?? {},
7506
8230
  headers: {
7507
8231
  "Content-Type": "application/json",
7508
8232
  ...options?.headers,
@@ -7640,6 +8364,7 @@ var Feedback = class {
7640
8364
  url: "/v1/feedback",
7641
8365
  ...options,
7642
8366
  ...params,
8367
+ body: params.body ?? {},
7643
8368
  headers: {
7644
8369
  "Content-Type": "application/json",
7645
8370
  ...options?.headers,
@@ -7736,6 +8461,7 @@ var Mailboxes = class {
7736
8461
  url: "/v1/mailboxes",
7737
8462
  ...options,
7738
8463
  ...params,
8464
+ body: params.body ?? {},
7739
8465
  headers: {
7740
8466
  "Content-Type": "application/json",
7741
8467
  ...options?.headers,
@@ -7811,6 +8537,7 @@ var Mailboxes = class {
7811
8537
  url: "/v1/mailboxes/{id}",
7812
8538
  ...options,
7813
8539
  ...params,
8540
+ body: params.body ?? {},
7814
8541
  headers: {
7815
8542
  "Content-Type": "application/json",
7816
8543
  ...options?.headers,
@@ -7850,6 +8577,7 @@ var Mailboxes = class {
7850
8577
  url: "/v1/mailboxes/{id}/endpoints",
7851
8578
  ...options,
7852
8579
  ...params,
8580
+ body: params.body ?? {},
7853
8581
  headers: {
7854
8582
  "Content-Type": "application/json",
7855
8583
  ...options?.headers,
@@ -7912,6 +8640,7 @@ var Mailboxes = class {
7912
8640
  url: "/v1/mailboxes/{id}/endpoints/{endpointId}",
7913
8641
  ...options,
7914
8642
  ...params,
8643
+ body: params.body ?? {},
7915
8644
  headers: {
7916
8645
  "Content-Type": "application/json",
7917
8646
  ...options?.headers,
@@ -8051,6 +8780,7 @@ var Mailboxes = class {
8051
8780
  url: "/v1/mailboxes/{id}/grants",
8052
8781
  ...options,
8053
8782
  ...params,
8783
+ body: params.body ?? {},
8054
8784
  headers: {
8055
8785
  "Content-Type": "application/json",
8056
8786
  ...options?.headers,
@@ -8113,6 +8843,7 @@ var Mailboxes = class {
8113
8843
  url: "/v1/mailboxes/{id}/grants/{grantId}",
8114
8844
  ...options,
8115
8845
  ...params,
8846
+ body: params.body ?? {},
8116
8847
  headers: {
8117
8848
  "Content-Type": "application/json",
8118
8849
  ...options?.headers,
@@ -8176,6 +8907,7 @@ var Mailboxes = class {
8176
8907
  url: "/v1/mailboxes/{id}/policies",
8177
8908
  ...options,
8178
8909
  ...params,
8910
+ body: params.body ?? {},
8179
8911
  headers: {
8180
8912
  "Content-Type": "application/json",
8181
8913
  ...options?.headers,
@@ -8269,6 +9001,7 @@ var Mailboxes = class {
8269
9001
  url: "/v1/mailboxes/{id}/policies/{policyId}",
8270
9002
  ...options,
8271
9003
  ...params,
9004
+ body: params.body ?? {},
8272
9005
  headers: {
8273
9006
  "Content-Type": "application/json",
8274
9007
  ...options?.headers,
@@ -8348,6 +9081,7 @@ var Mailboxes = class {
8348
9081
  url: "/v1/mailboxes/{id}/labels",
8349
9082
  ...options,
8350
9083
  ...params,
9084
+ body: params.body ?? {},
8351
9085
  headers: {
8352
9086
  "Content-Type": "application/json",
8353
9087
  ...options?.headers,
@@ -8410,6 +9144,7 @@ var Mailboxes = class {
8410
9144
  url: "/v1/mailboxes/{id}/labels/{labelId}",
8411
9145
  ...options,
8412
9146
  ...params,
9147
+ body: params.body ?? {},
8413
9148
  headers: {
8414
9149
  "Content-Type": "application/json",
8415
9150
  ...options?.headers,
@@ -8546,6 +9281,7 @@ var Mailboxes = class {
8546
9281
  url: "/v1/mailboxes/{id}/threads/{threadId}",
8547
9282
  ...options,
8548
9283
  ...params,
9284
+ body: params.body ?? {},
8549
9285
  headers: {
8550
9286
  "Content-Type": "application/json",
8551
9287
  ...options?.headers,
@@ -8581,6 +9317,7 @@ var Mailboxes = class {
8581
9317
  url: "/v1/mailboxes/{id}/threads/{threadId}/labels",
8582
9318
  ...options,
8583
9319
  ...params,
9320
+ body: params.body ?? {},
8584
9321
  headers: {
8585
9322
  "Content-Type": "application/json",
8586
9323
  ...options?.headers,
@@ -8616,6 +9353,7 @@ var Mailboxes = class {
8616
9353
  url: "/v1/mailboxes/{id}/threads/{threadId}/labels",
8617
9354
  ...options,
8618
9355
  ...params,
9356
+ body: params.body ?? {},
8619
9357
  headers: {
8620
9358
  "Content-Type": "application/json",
8621
9359
  ...options?.headers,
@@ -8761,6 +9499,7 @@ var Mailboxes = class {
8761
9499
  url: "/v1/mailboxes/{id}/threads/{threadId}/notes",
8762
9500
  ...options,
8763
9501
  ...params,
9502
+ body: params.body ?? {},
8764
9503
  headers: {
8765
9504
  "Content-Type": "application/json",
8766
9505
  ...options?.headers,
@@ -8838,6 +9577,7 @@ var Mailboxes = class {
8838
9577
  url: "/v1/mailboxes/{id}/threads/{threadId}/notes/{noteId}",
8839
9578
  ...options,
8840
9579
  ...params,
9580
+ body: params.body ?? {},
8841
9581
  headers: {
8842
9582
  "Content-Type": "application/json",
8843
9583
  ...options?.headers,
@@ -8905,6 +9645,7 @@ var Mailboxes = class {
8905
9645
  url: "/v1/mailboxes/{id}/messages",
8906
9646
  ...options,
8907
9647
  ...params,
9648
+ body: params.body ?? {},
8908
9649
  headers: {
8909
9650
  "Content-Type": "application/json",
8910
9651
  ...options?.headers,
@@ -9070,6 +9811,7 @@ var Mailboxes = class {
9070
9811
  url: "/v1/mailboxes/{id}/messages/{messageId}/reply",
9071
9812
  ...options,
9072
9813
  ...params,
9814
+ body: params.body ?? {},
9073
9815
  headers: {
9074
9816
  "Content-Type": "application/json",
9075
9817
  ...options?.headers,
@@ -9129,6 +9871,7 @@ var Mailboxes = class {
9129
9871
  url: "/v1/mailboxes/{id}/messages/{messageId}/reply-all",
9130
9872
  ...options,
9131
9873
  ...params,
9874
+ body: params.body ?? {},
9132
9875
  headers: {
9133
9876
  "Content-Type": "application/json",
9134
9877
  ...options?.headers,
@@ -9188,6 +9931,7 @@ var Mailboxes = class {
9188
9931
  url: "/v1/mailboxes/{id}/messages/{messageId}/forward",
9189
9932
  ...options,
9190
9933
  ...params,
9934
+ body: params.body ?? {},
9191
9935
  headers: {
9192
9936
  "Content-Type": "application/json",
9193
9937
  ...options?.headers,
@@ -9377,6 +10121,7 @@ var Mailboxes = class {
9377
10121
  url: "/v1/mailboxes/{id}/drafts",
9378
10122
  ...options,
9379
10123
  ...params,
10124
+ body: params.body ?? {},
9380
10125
  headers: {
9381
10126
  "Content-Type": "application/json",
9382
10127
  ...options?.headers,
@@ -9486,6 +10231,7 @@ var Mailboxes = class {
9486
10231
  url: "/v1/mailboxes/{id}/drafts/{draftId}",
9487
10232
  ...options,
9488
10233
  ...params,
10234
+ body: params.body ?? {},
9489
10235
  headers: {
9490
10236
  "Content-Type": "application/json",
9491
10237
  ...options?.headers,
@@ -9689,6 +10435,7 @@ var Mailboxes = class {
9689
10435
  url: "/v1/mailboxes/{id}/actions/{actionId}/deny",
9690
10436
  ...options,
9691
10437
  ...params,
10438
+ body: params.body ?? {},
9692
10439
  headers: {
9693
10440
  "Content-Type": "application/json",
9694
10441
  ...options?.headers,
@@ -9791,6 +10538,7 @@ var Namespaces = class {
9791
10538
  url: "/v1/namespaces",
9792
10539
  ...options,
9793
10540
  ...params,
10541
+ body: params.body ?? {},
9794
10542
  headers: {
9795
10543
  "Content-Type": "application/json",
9796
10544
  ...options?.headers,
@@ -9866,6 +10614,7 @@ var Namespaces = class {
9866
10614
  url: "/v1/namespaces/{id}",
9867
10615
  ...options,
9868
10616
  ...params,
10617
+ body: params.body ?? {},
9869
10618
  headers: {
9870
10619
  "Content-Type": "application/json",
9871
10620
  ...options?.headers,
@@ -9901,6 +10650,7 @@ var Namespaces = class {
9901
10650
  url: "/v1/namespaces/{id}/resources",
9902
10651
  ...options,
9903
10652
  ...params,
10653
+ body: params.body ?? {},
9904
10654
  headers: {
9905
10655
  "Content-Type": "application/json",
9906
10656
  ...options?.headers,
@@ -10025,6 +10775,7 @@ var Extensions = class {
10025
10775
  url: "/v1/extensions",
10026
10776
  ...options,
10027
10777
  ...params,
10778
+ body: params.body ?? {},
10028
10779
  headers: {
10029
10780
  "Content-Type": "application/json",
10030
10781
  ...options?.headers,
@@ -10185,6 +10936,7 @@ var ExtensionInstallations = class {
10185
10936
  url: "/v1/extension-installations",
10186
10937
  ...options,
10187
10938
  ...params,
10939
+ body: params.body ?? {},
10188
10940
  headers: {
10189
10941
  "Content-Type": "application/json",
10190
10942
  ...options?.headers,
@@ -10264,6 +11016,7 @@ var ExtensionInstallations = class {
10264
11016
  url: "/v1/extension-installations/{id}/upgrade",
10265
11017
  ...options,
10266
11018
  ...params,
11019
+ body: params.body ?? {},
10267
11020
  headers: {
10268
11021
  "Content-Type": "application/json",
10269
11022
  ...options?.headers,
@@ -10356,6 +11109,6 @@ var ExtensionInstallations = class {
10356
11109
  }
10357
11110
  };
10358
11111
  //#endregion
10359
- export { Analytics, ApiKeys, Attachments, Brands, Campaigns, ContactEvents, ContactGroups, Contacts, Conversations, CustomFields, Email, Events, ExtensionInstallations, Extensions, Feedback, Journeys, Mailboxes, Media, Messages, Namespaces, Operations, Organizations, ScheduledMessages, Subscriptions, Templates, Unsubscribe, Webhooks, Whoami };
11112
+ export { Agents, Analytics, ApiKeys, Attachments, Brands, Campaigns, ContactEvents, ContactGroups, Contacts, Conversations, CustomFields, Email, Events, ExtensionInstallations, Extensions, Feedback, Journeys, Mailboxes, Media, Messages, Namespaces, Operations, Organizations, ScheduledMessages, Subscriptions, Templates, TopicForms, Topics, Webhooks, Whoami };
10360
11113
 
10361
11114
  //# sourceMappingURL=sdk.gen.js.map