@automate.ax/integration-contracts 0.147.0 → 0.148.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 (39) hide show
  1. package/dist/close/events.d.ts +4 -4
  2. package/dist/close/schemas.d.ts +6 -6
  3. package/dist/google-drive/index.d.ts +3 -3
  4. package/dist/kit/api.d.ts +78 -0
  5. package/dist/kit/api.js +386 -0
  6. package/dist/kit/events.d.ts +437 -0
  7. package/dist/kit/events.js +285 -0
  8. package/dist/kit/index.d.ts +6 -0
  9. package/dist/kit/index.js +5 -0
  10. package/dist/kit/openapi-operations.generated.d.ts +5 -0
  11. package/dist/kit/openapi-operations.generated.js +5 -0
  12. package/dist/kit/openapi-types.generated.d.ts +9485 -0
  13. package/dist/kit/openapi-types.generated.js +1 -0
  14. package/dist/kit/operation-manifest.d.ts +657 -0
  15. package/dist/kit/operation-manifest.js +98 -0
  16. package/dist/kit/schemas.d.ts +42 -0
  17. package/dist/kit/schemas.js +43 -0
  18. package/dist/kit/types.d.ts +41 -0
  19. package/dist/kit/types.js +1 -0
  20. package/dist/notion/schemas.d.ts +108 -108
  21. package/dist/resend/action-schemas.d.ts +14 -14
  22. package/dist/tally/api.js +5 -2
  23. package/dist/tally/events.d.ts +12 -12
  24. package/dist/tally/openapi-schemas.generated.json +39 -5
  25. package/dist/tally/openapi-types.generated.d.ts +6 -5
  26. package/dist/triggers.d.ts +2 -1
  27. package/package.json +9 -2
  28. package/src/kit/api.ts +523 -0
  29. package/src/kit/events.ts +352 -0
  30. package/src/kit/index.ts +6 -0
  31. package/src/kit/openapi-operations.generated.ts +7 -0
  32. package/src/kit/openapi-types.generated.ts +9710 -0
  33. package/src/kit/operation-manifest.ts +771 -0
  34. package/src/kit/schemas.ts +93 -0
  35. package/src/kit/types.ts +87 -0
  36. package/src/tally/api.ts +4 -2
  37. package/src/tally/openapi-schemas.generated.json +39 -5
  38. package/src/tally/openapi-types.generated.ts +6 -5
  39. package/src/triggers.ts +2 -0
@@ -0,0 +1,771 @@
1
+ /** Retry classification for one Kit operation. */
2
+ export type KitReplaySafety = "safe" | "unsafe"
3
+
4
+ /** HTTP method supported by one Kit operation. */
5
+ export type KitHttpMethod = "DELETE" | "GET" | "PATCH" | "POST" | "PUT"
6
+
7
+ /** Hand-authored public metadata bound to one official Kit V4 operation. */
8
+ export interface KitOperationDefinition {
9
+ readonly alias: string
10
+ readonly description: string
11
+ readonly exportName: string
12
+ readonly method: KitHttpMethod
13
+ readonly oauthOnly: boolean
14
+ readonly path: string
15
+ readonly replaySafety: KitReplaySafety
16
+ readonly title: string
17
+ }
18
+
19
+ /** Complete practical Kit V4 action surface with verifiable request contracts. */
20
+ export const KIT_OPERATION_DEFINITIONS = [
21
+ operation(
22
+ "getCurrentAccount",
23
+ "GET",
24
+ "/v4/account",
25
+ "getKitCurrentAccount",
26
+ "Get current Kit account",
27
+ "Returns the authenticated Kit account and user identity.",
28
+ "safe",
29
+ false,
30
+ ),
31
+ operation(
32
+ "listColors",
33
+ "GET",
34
+ "/v4/account/colors",
35
+ "listKitColors",
36
+ "List Kit colors",
37
+ "Lists the account's saved brand color palette.",
38
+ "safe",
39
+ false,
40
+ ),
41
+ operation(
42
+ "updateColors",
43
+ "PUT",
44
+ "/v4/account/colors",
45
+ "updateKitColors",
46
+ "Update Kit colors",
47
+ "Replaces the account's saved brand color palette.",
48
+ "safe",
49
+ false,
50
+ ),
51
+ operation(
52
+ "getCreatorProfile",
53
+ "GET",
54
+ "/v4/account/creator_profile",
55
+ "getKitCreatorProfile",
56
+ "Get Kit creator profile",
57
+ "Returns the account's public creator profile.",
58
+ "safe",
59
+ false,
60
+ ),
61
+ operation(
62
+ "getEmailStats",
63
+ "GET",
64
+ "/v4/account/email_stats",
65
+ "getKitEmailStats",
66
+ "Get Kit email stats",
67
+ "Returns account-level email performance for the last 90 days.",
68
+ "safe",
69
+ false,
70
+ ),
71
+ operation(
72
+ "getGrowthStats",
73
+ "GET",
74
+ "/v4/account/growth_stats",
75
+ "getKitGrowthStats",
76
+ "Get Kit growth stats",
77
+ "Returns subscriber growth statistics for a selected period.",
78
+ "safe",
79
+ false,
80
+ ),
81
+ operation(
82
+ "listBroadcasts",
83
+ "GET",
84
+ "/v4/broadcasts",
85
+ "listKitBroadcasts",
86
+ "List Kit broadcasts",
87
+ "Lists broadcasts with cursor pagination and lifecycle filters.",
88
+ "safe",
89
+ false,
90
+ ),
91
+ operation(
92
+ "createBroadcast",
93
+ "POST",
94
+ "/v4/broadcasts",
95
+ "createKitBroadcast",
96
+ "Create Kit broadcast",
97
+ "Creates a draft or scheduled Kit broadcast.",
98
+ "unsafe",
99
+ false,
100
+ ),
101
+ operation(
102
+ "listBroadcastStats",
103
+ "GET",
104
+ "/v4/broadcasts/stats",
105
+ "listKitBroadcastStats",
106
+ "List Kit broadcast stats",
107
+ "Lists delivery and engagement statistics for broadcasts.",
108
+ "safe",
109
+ false,
110
+ ),
111
+ operation(
112
+ "listBroadcastLinkClicks",
113
+ "GET",
114
+ "/v4/broadcasts/{broadcast_id}/clicks",
115
+ "listKitBroadcastLinkClicks",
116
+ "List Kit broadcast link clicks",
117
+ "Lists link-level click performance for a broadcast.",
118
+ "safe",
119
+ false,
120
+ ),
121
+ operation(
122
+ "getBroadcastStats",
123
+ "GET",
124
+ "/v4/broadcasts/{broadcast_id}/stats",
125
+ "getKitBroadcastStats",
126
+ "Get Kit broadcast stats",
127
+ "Returns delivery and engagement statistics for one broadcast.",
128
+ "safe",
129
+ false,
130
+ ),
131
+ operation(
132
+ "deleteBroadcast",
133
+ "DELETE",
134
+ "/v4/broadcasts/{id}",
135
+ "deleteKitBroadcast",
136
+ "Delete Kit broadcast",
137
+ "Permanently deletes a draft or scheduled broadcast.",
138
+ "safe",
139
+ false,
140
+ ),
141
+ operation(
142
+ "getBroadcast",
143
+ "GET",
144
+ "/v4/broadcasts/{id}",
145
+ "getKitBroadcast",
146
+ "Get Kit broadcast",
147
+ "Returns one broadcast with content, targeting, and publication settings.",
148
+ "safe",
149
+ false,
150
+ ),
151
+ operation(
152
+ "updateBroadcast",
153
+ "PUT",
154
+ "/v4/broadcasts/{id}",
155
+ "updateKitBroadcast",
156
+ "Update Kit broadcast",
157
+ "Updates a draft or scheduled broadcast.",
158
+ "safe",
159
+ false,
160
+ ),
161
+ operation(
162
+ "bulkCreateCustomFields",
163
+ "POST",
164
+ "/v4/bulk/custom_fields",
165
+ "bulkCreateKitCustomFields",
166
+ "Bulk create Kit custom fields",
167
+ "Creates custom fields synchronously or as an asynchronous bulk job.",
168
+ "unsafe",
169
+ true,
170
+ ),
171
+ operation(
172
+ "bulkUpdateSubscriberCustomFieldValues",
173
+ "POST",
174
+ "/v4/bulk/custom_fields/subscribers",
175
+ "bulkUpdateKitSubscriberCustomFieldValues",
176
+ "Bulk update Kit subscriber custom fields",
177
+ "Updates custom field values across subscribers in one bulk request.",
178
+ "safe",
179
+ true,
180
+ ),
181
+ operation(
182
+ "listCustomFields",
183
+ "GET",
184
+ "/v4/custom_fields",
185
+ "listKitCustomFields",
186
+ "List Kit custom fields",
187
+ "Lists custom fields with cursor pagination.",
188
+ "safe",
189
+ false,
190
+ ),
191
+ operation(
192
+ "createCustomField",
193
+ "POST",
194
+ "/v4/custom_fields",
195
+ "createKitCustomField",
196
+ "Create Kit custom field",
197
+ "Creates one account custom field.",
198
+ "unsafe",
199
+ false,
200
+ ),
201
+ operation(
202
+ "deleteCustomField",
203
+ "DELETE",
204
+ "/v4/custom_fields/{id}",
205
+ "deleteKitCustomField",
206
+ "Delete Kit custom field",
207
+ "Deletes a custom field and all subscriber values stored in it.",
208
+ "safe",
209
+ false,
210
+ ),
211
+ operation(
212
+ "updateCustomField",
213
+ "PUT",
214
+ "/v4/custom_fields/{id}",
215
+ "updateKitCustomField",
216
+ "Update Kit custom field",
217
+ "Renames one custom field.",
218
+ "safe",
219
+ false,
220
+ ),
221
+ operation(
222
+ "listEmailTemplates",
223
+ "GET",
224
+ "/v4/email_templates",
225
+ "listKitEmailTemplates",
226
+ "List Kit email templates",
227
+ "Lists account email templates with cursor pagination.",
228
+ "safe",
229
+ false,
230
+ ),
231
+ operation(
232
+ "bulkAddSubscribersToForms",
233
+ "POST",
234
+ "/v4/bulk/forms/subscribers",
235
+ "bulkAddKitSubscribersToForms",
236
+ "Bulk add Kit subscribers to forms",
237
+ "Adds subscribers to forms synchronously or as an asynchronous bulk job.",
238
+ "safe",
239
+ true,
240
+ ),
241
+ operation(
242
+ "listForms",
243
+ "GET",
244
+ "/v4/forms",
245
+ "listKitForms",
246
+ "List Kit forms",
247
+ "Lists forms and landing pages with status and type filters.",
248
+ "safe",
249
+ false,
250
+ ),
251
+ operation(
252
+ "listFormSubscribers",
253
+ "GET",
254
+ "/v4/forms/{form_id}/subscribers",
255
+ "listKitFormSubscribers",
256
+ "List Kit form subscribers",
257
+ "Lists subscribers associated with one form.",
258
+ "safe",
259
+ false,
260
+ ),
261
+ operation(
262
+ "addSubscriberToFormByEmailAddress",
263
+ "POST",
264
+ "/v4/forms/{form_id}/subscribers",
265
+ "addKitSubscriberToFormByEmailAddress",
266
+ "Add Kit subscriber to form by email",
267
+ "Adds an existing subscriber to a form by email address.",
268
+ "safe",
269
+ false,
270
+ ),
271
+ operation(
272
+ "addSubscriberToForm",
273
+ "POST",
274
+ "/v4/forms/{form_id}/subscribers/{id}",
275
+ "addKitSubscriberToForm",
276
+ "Add Kit subscriber to form",
277
+ "Adds an existing subscriber to a form by subscriber ID.",
278
+ "safe",
279
+ false,
280
+ ),
281
+ operation(
282
+ "listPosts",
283
+ "GET",
284
+ "/v4/posts",
285
+ "listKitPosts",
286
+ "List Kit posts",
287
+ "Lists posts published to the creator's Kit site or email audience.",
288
+ "safe",
289
+ false,
290
+ ),
291
+ operation(
292
+ "getPost",
293
+ "GET",
294
+ "/v4/posts/{id}",
295
+ "getKitPost",
296
+ "Get Kit post",
297
+ "Returns one post with content, publication, and SEO fields.",
298
+ "safe",
299
+ false,
300
+ ),
301
+ operation(
302
+ "listPurchases",
303
+ "GET",
304
+ "/v4/purchases",
305
+ "listKitPurchases",
306
+ "List Kit purchases",
307
+ "Lists purchases recorded in the account.",
308
+ "safe",
309
+ true,
310
+ ),
311
+ operation(
312
+ "createPurchase",
313
+ "POST",
314
+ "/v4/purchases",
315
+ "createKitPurchase",
316
+ "Create Kit purchase",
317
+ "Records a purchase against a subscriber.",
318
+ "unsafe",
319
+ true,
320
+ ),
321
+ operation(
322
+ "getPurchase",
323
+ "GET",
324
+ "/v4/purchases/{id}",
325
+ "getKitPurchase",
326
+ "Get Kit purchase",
327
+ "Returns one recorded purchase.",
328
+ "safe",
329
+ true,
330
+ ),
331
+ operation(
332
+ "listSegments",
333
+ "GET",
334
+ "/v4/segments",
335
+ "listKitSegments",
336
+ "List Kit segments",
337
+ "Lists account segments with cursor pagination.",
338
+ "safe",
339
+ false,
340
+ ),
341
+ operation(
342
+ "listSequenceEmails",
343
+ "GET",
344
+ "/v4/sequences/{sequence_id}/emails",
345
+ "listKitSequenceEmails",
346
+ "List Kit sequence emails",
347
+ "Lists the email steps in one sequence.",
348
+ "safe",
349
+ false,
350
+ ),
351
+ operation(
352
+ "createSequenceEmail",
353
+ "POST",
354
+ "/v4/sequences/{sequence_id}/emails",
355
+ "createKitSequenceEmail",
356
+ "Create Kit sequence email",
357
+ "Adds one email step to a sequence.",
358
+ "unsafe",
359
+ false,
360
+ ),
361
+ operation(
362
+ "deleteSequenceEmail",
363
+ "DELETE",
364
+ "/v4/sequences/{sequence_id}/emails/{id}",
365
+ "deleteKitSequenceEmail",
366
+ "Delete Kit sequence email",
367
+ "Permanently removes one email from a sequence.",
368
+ "safe",
369
+ false,
370
+ ),
371
+ operation(
372
+ "getSequenceEmail",
373
+ "GET",
374
+ "/v4/sequences/{sequence_id}/emails/{id}",
375
+ "getKitSequenceEmail",
376
+ "Get Kit sequence email",
377
+ "Returns one sequence email with its full content.",
378
+ "safe",
379
+ false,
380
+ ),
381
+ operation(
382
+ "updateSequenceEmail",
383
+ "PUT",
384
+ "/v4/sequences/{sequence_id}/emails/{id}",
385
+ "updateKitSequenceEmail",
386
+ "Update Kit sequence email",
387
+ "Updates one sequence email's content, timing, position, or state.",
388
+ "safe",
389
+ false,
390
+ ),
391
+ operation(
392
+ "listSequences",
393
+ "GET",
394
+ "/v4/sequences",
395
+ "listKitSequences",
396
+ "List Kit sequences",
397
+ "Lists automated email sequences.",
398
+ "safe",
399
+ false,
400
+ ),
401
+ operation(
402
+ "createSequence",
403
+ "POST",
404
+ "/v4/sequences",
405
+ "createKitSequence",
406
+ "Create Kit sequence",
407
+ "Creates an empty automated email sequence.",
408
+ "unsafe",
409
+ false,
410
+ ),
411
+ operation(
412
+ "deleteSequence",
413
+ "DELETE",
414
+ "/v4/sequences/{id}",
415
+ "deleteKitSequence",
416
+ "Delete Kit sequence",
417
+ "Soft-deletes a sequence and stops active delivery.",
418
+ "safe",
419
+ false,
420
+ ),
421
+ operation(
422
+ "getSequence",
423
+ "GET",
424
+ "/v4/sequences/{id}",
425
+ "getKitSequence",
426
+ "Get Kit sequence",
427
+ "Returns one sequence and its delivery settings.",
428
+ "safe",
429
+ false,
430
+ ),
431
+ operation(
432
+ "updateSequence",
433
+ "PUT",
434
+ "/v4/sequences/{id}",
435
+ "updateKitSequence",
436
+ "Update Kit sequence",
437
+ "Updates one sequence's schedule and delivery settings.",
438
+ "safe",
439
+ false,
440
+ ),
441
+ operation(
442
+ "listSequenceSubscribers",
443
+ "GET",
444
+ "/v4/sequences/{sequence_id}/subscribers",
445
+ "listKitSequenceSubscribers",
446
+ "List Kit sequence subscribers",
447
+ "Lists subscribers enrolled in one sequence.",
448
+ "safe",
449
+ false,
450
+ ),
451
+ operation(
452
+ "addSubscriberToSequenceByEmailAddress",
453
+ "POST",
454
+ "/v4/sequences/{sequence_id}/subscribers",
455
+ "addKitSubscriberToSequenceByEmailAddress",
456
+ "Add Kit subscriber to sequence by email",
457
+ "Adds an existing subscriber to a sequence by email address.",
458
+ "safe",
459
+ false,
460
+ ),
461
+ operation(
462
+ "addSubscriberToSequence",
463
+ "POST",
464
+ "/v4/sequences/{sequence_id}/subscribers/{id}",
465
+ "addKitSubscriberToSequence",
466
+ "Add Kit subscriber to sequence",
467
+ "Adds an existing subscriber to a sequence by subscriber ID.",
468
+ "safe",
469
+ false,
470
+ ),
471
+ operation(
472
+ "listSnippets",
473
+ "GET",
474
+ "/v4/snippets",
475
+ "listKitSnippets",
476
+ "List Kit snippets",
477
+ "Lists reusable email snippets.",
478
+ "safe",
479
+ false,
480
+ ),
481
+ operation(
482
+ "createSnippet",
483
+ "POST",
484
+ "/v4/snippets",
485
+ "createKitSnippet",
486
+ "Create Kit snippet",
487
+ "Creates a reusable email snippet.",
488
+ "unsafe",
489
+ false,
490
+ ),
491
+ operation(
492
+ "getSnippet",
493
+ "GET",
494
+ "/v4/snippets/{id}",
495
+ "getKitSnippet",
496
+ "Get Kit snippet",
497
+ "Returns one reusable snippet with full content.",
498
+ "safe",
499
+ false,
500
+ ),
501
+ operation(
502
+ "updateSnippet",
503
+ "PUT",
504
+ "/v4/snippets/{id}",
505
+ "updateKitSnippet",
506
+ "Update Kit snippet",
507
+ "Updates a snippet's name, content, or archive state.",
508
+ "safe",
509
+ false,
510
+ ),
511
+ operation(
512
+ "bulkCreateSubscribers",
513
+ "POST",
514
+ "/v4/bulk/subscribers",
515
+ "bulkCreateKitSubscribers",
516
+ "Bulk create Kit subscribers",
517
+ "Creates or updates subscribers in one bulk request.",
518
+ "safe",
519
+ true,
520
+ ),
521
+ operation(
522
+ "listSubscribers",
523
+ "GET",
524
+ "/v4/subscribers",
525
+ "listKitSubscribers",
526
+ "List Kit subscribers",
527
+ "Lists subscribers with cursor, status, date, and engagement sorting filters.",
528
+ "safe",
529
+ false,
530
+ ),
531
+ operation(
532
+ "createSubscriber",
533
+ "POST",
534
+ "/v4/subscribers",
535
+ "createKitSubscriber",
536
+ "Create Kit subscriber",
537
+ "Creates or updates a subscriber by email address.",
538
+ "safe",
539
+ false,
540
+ ),
541
+ operation(
542
+ "filterSubscribers",
543
+ "POST",
544
+ "/v4/subscribers/filter",
545
+ "filterKitSubscribers",
546
+ "Filter Kit subscribers",
547
+ "Filters subscribers by engagement, signup, state, and tags.",
548
+ "safe",
549
+ false,
550
+ ),
551
+ operation(
552
+ "getSubscriber",
553
+ "GET",
554
+ "/v4/subscribers/{id}",
555
+ "getKitSubscriber",
556
+ "Get Kit subscriber",
557
+ "Returns one subscriber and their custom field values.",
558
+ "safe",
559
+ false,
560
+ ),
561
+ operation(
562
+ "updateSubscriber",
563
+ "PUT",
564
+ "/v4/subscribers/{id}",
565
+ "updateKitSubscriber",
566
+ "Update Kit subscriber",
567
+ "Updates one subscriber and their custom field values.",
568
+ "safe",
569
+ false,
570
+ ),
571
+ operation(
572
+ "unsubscribeSubscriber",
573
+ "POST",
574
+ "/v4/subscribers/{id}/unsubscribe",
575
+ "unsubscribeKitSubscriber",
576
+ "Unsubscribe Kit subscriber",
577
+ "Unsubscribes a subscriber from all future Kit email.",
578
+ "safe",
579
+ false,
580
+ ),
581
+ operation(
582
+ "deleteSubscriberLocation",
583
+ "DELETE",
584
+ "/v4/subscribers/{subscriber_id}/location",
585
+ "deleteKitSubscriberLocation",
586
+ "Delete Kit subscriber location",
587
+ "Removes a subscriber's pinned location.",
588
+ "safe",
589
+ false,
590
+ ),
591
+ operation(
592
+ "updateSubscriberLocation",
593
+ "PATCH",
594
+ "/v4/subscribers/{subscriber_id}/location",
595
+ "updateKitSubscriberLocation",
596
+ "Update Kit subscriber location",
597
+ "Replaces a subscriber's pinned location.",
598
+ "safe",
599
+ false,
600
+ ),
601
+ operation(
602
+ "pinSubscriberLocation",
603
+ "POST",
604
+ "/v4/subscribers/{subscriber_id}/location",
605
+ "pinKitSubscriberLocation",
606
+ "Pin Kit subscriber location",
607
+ "Pins an explicit location to a subscriber.",
608
+ "safe",
609
+ false,
610
+ ),
611
+ operation(
612
+ "getSubscriberStats",
613
+ "GET",
614
+ "/v4/subscribers/{subscriber_id}/stats",
615
+ "getKitSubscriberStats",
616
+ "Get Kit subscriber stats",
617
+ "Returns delivery and engagement statistics for one subscriber.",
618
+ "safe",
619
+ false,
620
+ ),
621
+ operation(
622
+ "listSubscriberTags",
623
+ "GET",
624
+ "/v4/subscribers/{subscriber_id}/tags",
625
+ "listKitSubscriberTags",
626
+ "List Kit subscriber tags",
627
+ "Lists tags currently applied to one subscriber.",
628
+ "safe",
629
+ false,
630
+ ),
631
+ operation(
632
+ "bulkDeleteTags",
633
+ "DELETE",
634
+ "/v4/bulk/tags",
635
+ "bulkDeleteKitTags",
636
+ "Bulk delete Kit tags",
637
+ "Deletes tags synchronously or as an asynchronous bulk job.",
638
+ "safe",
639
+ true,
640
+ ),
641
+ operation(
642
+ "bulkCreateTags",
643
+ "POST",
644
+ "/v4/bulk/tags",
645
+ "bulkCreateKitTags",
646
+ "Bulk create Kit tags",
647
+ "Creates tags synchronously or as an asynchronous bulk job.",
648
+ "safe",
649
+ true,
650
+ ),
651
+ operation(
652
+ "bulkTagSubscribers",
653
+ "POST",
654
+ "/v4/bulk/tags/subscribers",
655
+ "bulkTagKitSubscribers",
656
+ "Bulk tag Kit subscribers",
657
+ "Applies tags to subscribers in one bulk request.",
658
+ "safe",
659
+ true,
660
+ ),
661
+ operation(
662
+ "listTags",
663
+ "GET",
664
+ "/v4/tags",
665
+ "listKitTags",
666
+ "List Kit tags",
667
+ "Lists account tags with cursor pagination.",
668
+ "safe",
669
+ false,
670
+ ),
671
+ operation(
672
+ "createTag",
673
+ "POST",
674
+ "/v4/tags",
675
+ "createKitTag",
676
+ "Create Kit tag",
677
+ "Creates a tag or returns the existing case-insensitive name match.",
678
+ "safe",
679
+ false,
680
+ ),
681
+ operation(
682
+ "updateTag",
683
+ "PUT",
684
+ "/v4/tags/{id}",
685
+ "updateKitTag",
686
+ "Update Kit tag",
687
+ "Renames one tag without changing its memberships.",
688
+ "safe",
689
+ false,
690
+ ),
691
+ operation(
692
+ "listTagSubscribers",
693
+ "GET",
694
+ "/v4/tags/{tag_id}/subscribers",
695
+ "listKitTagSubscribers",
696
+ "List Kit tag subscribers",
697
+ "Lists subscribers that have one tag.",
698
+ "safe",
699
+ false,
700
+ ),
701
+ operation(
702
+ "tagSubscriberByEmailAddress",
703
+ "POST",
704
+ "/v4/tags/{tag_id}/subscribers",
705
+ "tagKitSubscriberByEmailAddress",
706
+ "Tag Kit subscriber by email",
707
+ "Applies a tag to an existing subscriber by email address.",
708
+ "safe",
709
+ false,
710
+ ),
711
+ operation(
712
+ "removeTagFromSubscriber",
713
+ "DELETE",
714
+ "/v4/tags/{tag_id}/subscribers/{id}",
715
+ "removeKitTagFromSubscriber",
716
+ "Remove Kit tag from subscriber",
717
+ "Removes one tag from a subscriber by ID.",
718
+ "safe",
719
+ false,
720
+ ),
721
+ operation(
722
+ "tagSubscriber",
723
+ "POST",
724
+ "/v4/tags/{tag_id}/subscribers/{id}",
725
+ "tagKitSubscriber",
726
+ "Tag Kit subscriber",
727
+ "Applies a tag to an existing subscriber by ID.",
728
+ "safe",
729
+ false,
730
+ ),
731
+ ] as const satisfies readonly KitOperationDefinition[]
732
+
733
+ export type KitOperationKey =
734
+ (typeof KIT_OPERATION_DEFINITIONS)[number]["alias"]
735
+
736
+ /**
737
+ * Preserves one Kit operation's public metadata.
738
+ *
739
+ * @param alias Public object alias and generated operation key.
740
+ * @param method Provider HTTP method.
741
+ * @param path Provider-relative V4 path.
742
+ * @param exportName Named SDK export.
743
+ * @param title Public action title.
744
+ * @param description Public action description.
745
+ * @param replaySafety Whether the provider operation can be replayed.
746
+ * @param oauthOnly Whether Kit rejects API-key authentication.
747
+ */
748
+ function operation<
749
+ const TAlias extends string,
750
+ const TExportName extends string,
751
+ >(
752
+ alias: TAlias,
753
+ method: KitHttpMethod,
754
+ path: string,
755
+ exportName: TExportName,
756
+ title: string,
757
+ description: string,
758
+ replaySafety: KitReplaySafety,
759
+ oauthOnly: boolean,
760
+ ) {
761
+ return {
762
+ alias,
763
+ description,
764
+ exportName,
765
+ method,
766
+ oauthOnly,
767
+ path,
768
+ replaySafety,
769
+ title,
770
+ } as const
771
+ }