@pidgeon-ai/cli 0.0.0-stage → 1.0.1

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.
@@ -0,0 +1,2878 @@
1
+ #!/usr/bin/env node
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, { get: all[name], enumerable: true });
6
+ };
7
+
8
+ // src/commands.gen.ts
9
+ var COMMANDS = [
10
+ {
11
+ "group": "agent",
12
+ "name": "attachHuman",
13
+ "operationId": "agentAttachHuman",
14
+ "method": "POST",
15
+ "path": "/agent/human",
16
+ "summary": "Name the human for a signup",
17
+ "flags": [
18
+ {
19
+ "name": "signup_id",
20
+ "kind": "string",
21
+ "required": true,
22
+ "where": "body",
23
+ "describe": "From the signup this is finishing."
24
+ },
25
+ {
26
+ "name": "human_email",
27
+ "kind": "string",
28
+ "required": true,
29
+ "where": "body",
30
+ "describe": "A person who can be reached. They receive the code that finishes the signup."
31
+ }
32
+ ]
33
+ },
34
+ {
35
+ "group": "agent",
36
+ "name": "signUp",
37
+ "operationId": "agentSignUp",
38
+ "method": "POST",
39
+ "path": "/agent/signup",
40
+ "summary": "Sign an agent up",
41
+ "flags": [
42
+ {
43
+ "name": "username",
44
+ "kind": "string",
45
+ "required": true,
46
+ "where": "body",
47
+ "describe": "The local part you want on the shared domain."
48
+ },
49
+ {
50
+ "name": "human_email",
51
+ "kind": "string",
52
+ "required": true,
53
+ "where": "body",
54
+ "describe": "A person who can be reached. They receive the code that finishes the signup."
55
+ },
56
+ {
57
+ "name": "source",
58
+ "kind": "string",
59
+ "required": false,
60
+ "where": "body"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "group": "agent",
66
+ "name": "verify",
67
+ "operationId": "agentVerify",
68
+ "method": "POST",
69
+ "path": "/agent/verify",
70
+ "summary": "Verify an agent with the human\u2019s code",
71
+ "flags": [
72
+ {
73
+ "name": "signup_id",
74
+ "kind": "string",
75
+ "required": true,
76
+ "where": "body",
77
+ "describe": "From the signup this is finishing."
78
+ },
79
+ {
80
+ "name": "code",
81
+ "kind": "string",
82
+ "required": true,
83
+ "where": "body"
84
+ }
85
+ ]
86
+ },
87
+ {
88
+ "group": "appPasswords",
89
+ "name": "create",
90
+ "operationId": "appPasswordsCreate",
91
+ "method": "POST",
92
+ "path": "/app-passwords",
93
+ "summary": "Issue IMAP and SMTP credentials for one address",
94
+ "flags": [
95
+ {
96
+ "name": "identity_id",
97
+ "kind": "string",
98
+ "required": true,
99
+ "where": "body",
100
+ "describe": "The address this belongs to."
101
+ },
102
+ {
103
+ "name": "name",
104
+ "kind": "string",
105
+ "required": true,
106
+ "where": "body"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "group": "appPasswords",
112
+ "name": "list",
113
+ "operationId": "appPasswordsList",
114
+ "method": "GET",
115
+ "path": "/app-passwords",
116
+ "summary": "List the devices that reach one address",
117
+ "flags": [
118
+ {
119
+ "name": "identity_id",
120
+ "kind": "string",
121
+ "required": true,
122
+ "where": "query"
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ "group": "appPasswords",
128
+ "name": "revoke",
129
+ "operationId": "appPasswordsRevoke",
130
+ "method": "DELETE",
131
+ "path": "/app-passwords/{id}",
132
+ "summary": "Revoke an app password",
133
+ "flags": [
134
+ {
135
+ "name": "id",
136
+ "kind": "string",
137
+ "required": true,
138
+ "where": "path"
139
+ }
140
+ ]
141
+ },
142
+ {
143
+ "group": "attachments",
144
+ "name": "downloadUrl",
145
+ "operationId": "attachmentsDownloadUrl",
146
+ "method": "GET",
147
+ "path": "/attachments/{id}",
148
+ "summary": "Get a download link for an attachment",
149
+ "flags": [
150
+ {
151
+ "name": "id",
152
+ "kind": "string",
153
+ "required": true,
154
+ "where": "path"
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "group": "attachments",
160
+ "name": "upload",
161
+ "operationId": "attachmentsUpload",
162
+ "method": "POST",
163
+ "path": "/attachments",
164
+ "summary": "Upload a file to send",
165
+ "flags": []
166
+ },
167
+ {
168
+ "group": "calendar",
169
+ "name": "createEvent",
170
+ "operationId": "calendarCreateEvent",
171
+ "method": "POST",
172
+ "path": "/identities/{id}/calendar/events",
173
+ "summary": "Put something on the calendar",
174
+ "flags": [
175
+ {
176
+ "name": "id",
177
+ "kind": "string",
178
+ "required": true,
179
+ "where": "path"
180
+ },
181
+ {
182
+ "name": "title",
183
+ "kind": "string",
184
+ "required": true,
185
+ "where": "body"
186
+ },
187
+ {
188
+ "name": "start",
189
+ "kind": "string",
190
+ "required": true,
191
+ "where": "body"
192
+ },
193
+ {
194
+ "name": "end",
195
+ "kind": "string",
196
+ "required": true,
197
+ "where": "body"
198
+ },
199
+ {
200
+ "name": "timezone",
201
+ "kind": "string",
202
+ "required": false,
203
+ "where": "body",
204
+ "describe": "An IANA name, like `Europe/Lisbon`. The times above are read in it."
205
+ },
206
+ {
207
+ "name": "all_day",
208
+ "kind": "boolean",
209
+ "required": false,
210
+ "where": "body"
211
+ },
212
+ {
213
+ "name": "description",
214
+ "kind": "string",
215
+ "required": false,
216
+ "where": "body"
217
+ },
218
+ {
219
+ "name": "location",
220
+ "kind": "string",
221
+ "required": false,
222
+ "where": "body"
223
+ },
224
+ {
225
+ "name": "status",
226
+ "kind": "string",
227
+ "choices": [
228
+ "confirmed",
229
+ "tentative",
230
+ "cancelled"
231
+ ],
232
+ "required": false,
233
+ "where": "body"
234
+ },
235
+ {
236
+ "name": "metadata",
237
+ "kind": "string",
238
+ "required": false,
239
+ "where": "body"
240
+ },
241
+ {
242
+ "name": "attendees",
243
+ "kind": "json",
244
+ "required": false,
245
+ "where": "body"
246
+ },
247
+ {
248
+ "name": "send_invites",
249
+ "kind": "boolean",
250
+ "required": false,
251
+ "where": "body"
252
+ },
253
+ {
254
+ "name": "recurrence",
255
+ "kind": "json",
256
+ "required": false,
257
+ "where": "body"
258
+ }
259
+ ]
260
+ },
261
+ {
262
+ "group": "calendar",
263
+ "name": "deleteEvent",
264
+ "operationId": "calendarDeleteEvent",
265
+ "method": "DELETE",
266
+ "path": "/identities/{id}/calendar/events/{eventId}",
267
+ "summary": "Take it off the calendar",
268
+ "flags": [
269
+ {
270
+ "name": "id",
271
+ "kind": "string",
272
+ "required": true,
273
+ "where": "path"
274
+ },
275
+ {
276
+ "name": "eventId",
277
+ "kind": "string",
278
+ "required": true,
279
+ "where": "path"
280
+ },
281
+ {
282
+ "name": "mode",
283
+ "kind": "string",
284
+ "choices": [
285
+ "single",
286
+ "future"
287
+ ],
288
+ "required": false,
289
+ "where": "query"
290
+ }
291
+ ]
292
+ },
293
+ {
294
+ "group": "calendar",
295
+ "name": "get",
296
+ "operationId": "calendarGet",
297
+ "method": "GET",
298
+ "path": "/identities/{id}/calendar",
299
+ "summary": "A mailbox\u2019s calendar",
300
+ "flags": [
301
+ {
302
+ "name": "id",
303
+ "kind": "string",
304
+ "required": true,
305
+ "where": "path"
306
+ }
307
+ ]
308
+ },
309
+ {
310
+ "group": "calendar",
311
+ "name": "getAgenda",
312
+ "operationId": "calendarGetAgenda",
313
+ "method": "GET",
314
+ "path": "/identities/{id}/calendar/agenda",
315
+ "summary": "What is on, in a window, in order",
316
+ "flags": [
317
+ {
318
+ "name": "id",
319
+ "kind": "string",
320
+ "required": true,
321
+ "where": "path"
322
+ },
323
+ {
324
+ "name": "after",
325
+ "kind": "string",
326
+ "required": false,
327
+ "where": "query"
328
+ },
329
+ {
330
+ "name": "before",
331
+ "kind": "string",
332
+ "required": false,
333
+ "where": "query"
334
+ },
335
+ {
336
+ "name": "include_overlapping",
337
+ "kind": "string",
338
+ "choices": [
339
+ "true",
340
+ "false"
341
+ ],
342
+ "required": false,
343
+ "where": "query"
344
+ },
345
+ {
346
+ "name": "limit",
347
+ "kind": "number",
348
+ "required": false,
349
+ "where": "query"
350
+ }
351
+ ]
352
+ },
353
+ {
354
+ "group": "calendar",
355
+ "name": "getEvent",
356
+ "operationId": "calendarGetEvent",
357
+ "method": "GET",
358
+ "path": "/identities/{id}/calendar/events/{eventId}",
359
+ "summary": "One event",
360
+ "flags": [
361
+ {
362
+ "name": "id",
363
+ "kind": "string",
364
+ "required": true,
365
+ "where": "path"
366
+ },
367
+ {
368
+ "name": "eventId",
369
+ "kind": "string",
370
+ "required": true,
371
+ "where": "path"
372
+ }
373
+ ]
374
+ },
375
+ {
376
+ "group": "calendar",
377
+ "name": "listEventInstances",
378
+ "operationId": "calendarListEventInstances",
379
+ "method": "GET",
380
+ "path": "/identities/{id}/calendar/events/{eventId}/instances",
381
+ "summary": "The dates a series actually happens",
382
+ "flags": [
383
+ {
384
+ "name": "id",
385
+ "kind": "string",
386
+ "required": true,
387
+ "where": "path"
388
+ },
389
+ {
390
+ "name": "eventId",
391
+ "kind": "string",
392
+ "required": true,
393
+ "where": "path"
394
+ },
395
+ {
396
+ "name": "after",
397
+ "kind": "string",
398
+ "required": false,
399
+ "where": "query"
400
+ },
401
+ {
402
+ "name": "before",
403
+ "kind": "string",
404
+ "required": false,
405
+ "where": "query"
406
+ },
407
+ {
408
+ "name": "limit",
409
+ "kind": "number",
410
+ "required": false,
411
+ "where": "query"
412
+ }
413
+ ]
414
+ },
415
+ {
416
+ "group": "calendar",
417
+ "name": "listEvents",
418
+ "operationId": "calendarListEvents",
419
+ "method": "GET",
420
+ "path": "/identities/{id}/calendar/events",
421
+ "summary": "Everything on the calendar",
422
+ "flags": [
423
+ {
424
+ "name": "id",
425
+ "kind": "string",
426
+ "required": true,
427
+ "where": "path"
428
+ },
429
+ {
430
+ "name": "limit",
431
+ "kind": "number",
432
+ "required": false,
433
+ "where": "query"
434
+ },
435
+ {
436
+ "name": "cursor",
437
+ "kind": "string",
438
+ "required": false,
439
+ "where": "query",
440
+ "describe": "From a previous page\u2019s `next_cursor`. Opaque \u2014 do not parse it."
441
+ }
442
+ ]
443
+ },
444
+ {
445
+ "group": "calendar",
446
+ "name": "respondToEvent",
447
+ "operationId": "calendarRespondToEvent",
448
+ "method": "POST",
449
+ "path": "/identities/{id}/calendar/events/{eventId}/respond",
450
+ "summary": "Answer a meeting from the calendar",
451
+ "flags": [
452
+ {
453
+ "name": "id",
454
+ "kind": "string",
455
+ "required": true,
456
+ "where": "path"
457
+ },
458
+ {
459
+ "name": "eventId",
460
+ "kind": "string",
461
+ "required": true,
462
+ "where": "path"
463
+ },
464
+ {
465
+ "name": "status",
466
+ "kind": "string",
467
+ "choices": [
468
+ "accepted",
469
+ "declined",
470
+ "tentative"
471
+ ],
472
+ "required": true,
473
+ "where": "body"
474
+ },
475
+ {
476
+ "name": "comment",
477
+ "kind": "string",
478
+ "required": false,
479
+ "where": "body"
480
+ },
481
+ {
482
+ "name": "send_reply",
483
+ "kind": "boolean",
484
+ "required": false,
485
+ "where": "body"
486
+ }
487
+ ]
488
+ },
489
+ {
490
+ "group": "calendar",
491
+ "name": "update",
492
+ "operationId": "calendarUpdate",
493
+ "method": "PATCH",
494
+ "path": "/identities/{id}/calendar",
495
+ "summary": "Set the default time zone",
496
+ "flags": [
497
+ {
498
+ "name": "id",
499
+ "kind": "string",
500
+ "required": true,
501
+ "where": "path"
502
+ },
503
+ {
504
+ "name": "timezone",
505
+ "kind": "string",
506
+ "required": true,
507
+ "where": "body",
508
+ "describe": "An IANA name, like `Europe/Lisbon`. The times above are read in it."
509
+ }
510
+ ]
511
+ },
512
+ {
513
+ "group": "calendar",
514
+ "name": "updateEvent",
515
+ "operationId": "calendarUpdateEvent",
516
+ "method": "PATCH",
517
+ "path": "/identities/{id}/calendar/events/{eventId}",
518
+ "summary": "Change an event",
519
+ "flags": [
520
+ {
521
+ "name": "id",
522
+ "kind": "string",
523
+ "required": true,
524
+ "where": "path"
525
+ },
526
+ {
527
+ "name": "eventId",
528
+ "kind": "string",
529
+ "required": true,
530
+ "where": "path"
531
+ },
532
+ {
533
+ "name": "mode",
534
+ "kind": "string",
535
+ "choices": [
536
+ "single",
537
+ "future"
538
+ ],
539
+ "required": false,
540
+ "where": "query"
541
+ },
542
+ {
543
+ "name": "title",
544
+ "kind": "string",
545
+ "required": false,
546
+ "where": "body"
547
+ },
548
+ {
549
+ "name": "start",
550
+ "kind": "string",
551
+ "required": false,
552
+ "where": "body"
553
+ },
554
+ {
555
+ "name": "end",
556
+ "kind": "string",
557
+ "required": false,
558
+ "where": "body"
559
+ },
560
+ {
561
+ "name": "timezone",
562
+ "kind": "string",
563
+ "required": false,
564
+ "where": "body",
565
+ "describe": "An IANA name, like `Europe/Lisbon`. The times above are read in it."
566
+ },
567
+ {
568
+ "name": "all_day",
569
+ "kind": "boolean",
570
+ "required": false,
571
+ "where": "body"
572
+ },
573
+ {
574
+ "name": "description",
575
+ "kind": "string",
576
+ "required": false,
577
+ "where": "body"
578
+ },
579
+ {
580
+ "name": "location",
581
+ "kind": "string",
582
+ "required": false,
583
+ "where": "body"
584
+ },
585
+ {
586
+ "name": "status",
587
+ "kind": "string",
588
+ "choices": [
589
+ "confirmed",
590
+ "tentative",
591
+ "cancelled"
592
+ ],
593
+ "required": false,
594
+ "where": "body"
595
+ },
596
+ {
597
+ "name": "metadata",
598
+ "kind": "string",
599
+ "required": false,
600
+ "where": "body"
601
+ },
602
+ {
603
+ "name": "attendees",
604
+ "kind": "json",
605
+ "required": false,
606
+ "where": "body"
607
+ },
608
+ {
609
+ "name": "recurrence",
610
+ "kind": "json",
611
+ "required": false,
612
+ "where": "body"
613
+ },
614
+ {
615
+ "name": "send_invites",
616
+ "kind": "boolean",
617
+ "required": false,
618
+ "where": "body"
619
+ }
620
+ ]
621
+ },
622
+ {
623
+ "group": "domains",
624
+ "name": "create",
625
+ "operationId": "domainsCreate",
626
+ "method": "POST",
627
+ "path": "/domains",
628
+ "summary": "Connect a domain",
629
+ "flags": [
630
+ {
631
+ "name": "domain",
632
+ "kind": "string",
633
+ "required": true,
634
+ "where": "body",
635
+ "describe": "A domain name you own, or the shared one. An alternative to `domain_id`."
636
+ }
637
+ ]
638
+ },
639
+ {
640
+ "group": "domains",
641
+ "name": "delete",
642
+ "operationId": "domainsDelete",
643
+ "method": "DELETE",
644
+ "path": "/domains/{id}",
645
+ "summary": "Disconnect a domain",
646
+ "flags": [
647
+ {
648
+ "name": "id",
649
+ "kind": "string",
650
+ "required": true,
651
+ "where": "path"
652
+ }
653
+ ]
654
+ },
655
+ {
656
+ "group": "domains",
657
+ "name": "get",
658
+ "operationId": "domainsGet",
659
+ "method": "GET",
660
+ "path": "/domains/{id}",
661
+ "summary": "Fetch one domain, with the state of each record",
662
+ "flags": [
663
+ {
664
+ "name": "id",
665
+ "kind": "string",
666
+ "required": true,
667
+ "where": "path"
668
+ }
669
+ ]
670
+ },
671
+ {
672
+ "group": "domains",
673
+ "name": "getSetupLink",
674
+ "operationId": "domainsGetSetupLink",
675
+ "method": "GET",
676
+ "path": "/domains/{id}/setup-link",
677
+ "summary": "One-click DNS setup, when the provider supports it",
678
+ "flags": [
679
+ {
680
+ "name": "id",
681
+ "kind": "string",
682
+ "required": true,
683
+ "where": "path"
684
+ },
685
+ {
686
+ "name": "template",
687
+ "kind": "string",
688
+ "choices": [
689
+ "mail",
690
+ "mx"
691
+ ],
692
+ "required": false,
693
+ "where": "query"
694
+ }
695
+ ]
696
+ },
697
+ {
698
+ "group": "domains",
699
+ "name": "list",
700
+ "operationId": "domainsList",
701
+ "method": "GET",
702
+ "path": "/domains",
703
+ "summary": "List domains",
704
+ "flags": [
705
+ {
706
+ "name": "limit",
707
+ "kind": "number",
708
+ "required": false,
709
+ "where": "query"
710
+ },
711
+ {
712
+ "name": "cursor",
713
+ "kind": "string",
714
+ "required": false,
715
+ "where": "query",
716
+ "describe": "From a previous page\u2019s `next_cursor`. Opaque \u2014 do not parse it."
717
+ }
718
+ ]
719
+ },
720
+ {
721
+ "group": "domains",
722
+ "name": "update",
723
+ "operationId": "domainsUpdate",
724
+ "method": "PATCH",
725
+ "path": "/domains/{id}",
726
+ "summary": "Turn the catch-all on or off",
727
+ "flags": [
728
+ {
729
+ "name": "id",
730
+ "kind": "string",
731
+ "required": true,
732
+ "where": "path"
733
+ },
734
+ {
735
+ "name": "catch_all_enabled",
736
+ "kind": "boolean",
737
+ "required": true,
738
+ "where": "body"
739
+ }
740
+ ]
741
+ },
742
+ {
743
+ "group": "domains",
744
+ "name": "verify",
745
+ "operationId": "domainsVerify",
746
+ "method": "POST",
747
+ "path": "/domains/{id}/verify",
748
+ "summary": "Check the zone again",
749
+ "flags": [
750
+ {
751
+ "name": "id",
752
+ "kind": "string",
753
+ "required": true,
754
+ "where": "path"
755
+ }
756
+ ]
757
+ },
758
+ {
759
+ "group": "domains",
760
+ "name": "zoneFile",
761
+ "operationId": "domainsZoneFile",
762
+ "method": "GET",
763
+ "path": "/domains/{id}/zone-file",
764
+ "summary": "The records as a zone file",
765
+ "flags": [
766
+ {
767
+ "name": "id",
768
+ "kind": "string",
769
+ "required": true,
770
+ "where": "path"
771
+ }
772
+ ]
773
+ },
774
+ {
775
+ "group": "drafts",
776
+ "name": "cancelSchedule",
777
+ "operationId": "draftsCancelSchedule",
778
+ "method": "DELETE",
779
+ "path": "/drafts/{id}/schedule",
780
+ "summary": "Back to being an ordinary draft",
781
+ "flags": [
782
+ {
783
+ "name": "id",
784
+ "kind": "string",
785
+ "required": true,
786
+ "where": "path"
787
+ }
788
+ ]
789
+ },
790
+ {
791
+ "group": "drafts",
792
+ "name": "create",
793
+ "operationId": "draftsCreate",
794
+ "method": "POST",
795
+ "path": "/drafts",
796
+ "summary": "Write one without sending it",
797
+ "flags": [
798
+ {
799
+ "name": "identity_id",
800
+ "kind": "string",
801
+ "required": true,
802
+ "where": "body",
803
+ "describe": "The address this belongs to."
804
+ },
805
+ {
806
+ "name": "from",
807
+ "kind": "string",
808
+ "required": false,
809
+ "where": "body",
810
+ "describe": "An address on a domain you own, and one this key may send from."
811
+ },
812
+ {
813
+ "name": "to",
814
+ "kind": "list",
815
+ "required": false,
816
+ "where": "body",
817
+ "describe": "One address or several. A string is accepted for the single case."
818
+ },
819
+ {
820
+ "name": "cc",
821
+ "kind": "list",
822
+ "required": false,
823
+ "where": "body",
824
+ "describe": "Copied, and visible to everybody who receives the message."
825
+ },
826
+ {
827
+ "name": "bcc",
828
+ "kind": "list",
829
+ "required": false,
830
+ "where": "body",
831
+ "describe": "Copied, and visible to nobody else."
832
+ },
833
+ {
834
+ "name": "subject",
835
+ "kind": "string",
836
+ "required": false,
837
+ "where": "body",
838
+ "describe": "Left off a reply, where the thread already has one."
839
+ },
840
+ {
841
+ "name": "text",
842
+ "kind": "string",
843
+ "required": false,
844
+ "where": "body",
845
+ "describe": "The plain-text body. Send this even when you send `html` \u2014 some clients only read it."
846
+ },
847
+ {
848
+ "name": "in_reply_to_message_id",
849
+ "kind": "string",
850
+ "required": false,
851
+ "where": "body"
852
+ },
853
+ {
854
+ "name": "attachment_ids",
855
+ "kind": "list",
856
+ "required": false,
857
+ "where": "body",
858
+ "describe": "Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20."
859
+ }
860
+ ]
861
+ },
862
+ {
863
+ "group": "drafts",
864
+ "name": "delete",
865
+ "operationId": "draftsDelete",
866
+ "method": "DELETE",
867
+ "path": "/drafts/{id}",
868
+ "summary": "Throw it away",
869
+ "flags": [
870
+ {
871
+ "name": "id",
872
+ "kind": "string",
873
+ "required": true,
874
+ "where": "path"
875
+ }
876
+ ]
877
+ },
878
+ {
879
+ "group": "drafts",
880
+ "name": "get",
881
+ "operationId": "draftsGet",
882
+ "method": "GET",
883
+ "path": "/drafts/{id}",
884
+ "summary": "Fetch one draft",
885
+ "flags": [
886
+ {
887
+ "name": "id",
888
+ "kind": "string",
889
+ "required": true,
890
+ "where": "path"
891
+ }
892
+ ]
893
+ },
894
+ {
895
+ "group": "drafts",
896
+ "name": "list",
897
+ "operationId": "draftsList",
898
+ "method": "GET",
899
+ "path": "/drafts",
900
+ "summary": "Every draft in one mailbox",
901
+ "flags": [
902
+ {
903
+ "name": "identity_id",
904
+ "kind": "string",
905
+ "required": true,
906
+ "where": "query"
907
+ },
908
+ {
909
+ "name": "limit",
910
+ "kind": "number",
911
+ "required": false,
912
+ "where": "query"
913
+ }
914
+ ]
915
+ },
916
+ {
917
+ "group": "drafts",
918
+ "name": "removeAttachment",
919
+ "operationId": "draftsRemoveAttachment",
920
+ "method": "DELETE",
921
+ "path": "/drafts/{id}/attachments/{attachmentId}",
922
+ "summary": "Take a file off a draft",
923
+ "flags": [
924
+ {
925
+ "name": "id",
926
+ "kind": "string",
927
+ "required": true,
928
+ "where": "path"
929
+ },
930
+ {
931
+ "name": "attachmentId",
932
+ "kind": "string",
933
+ "required": true,
934
+ "where": "path"
935
+ }
936
+ ]
937
+ },
938
+ {
939
+ "group": "drafts",
940
+ "name": "schedule",
941
+ "operationId": "draftsSchedule",
942
+ "method": "POST",
943
+ "path": "/drafts/{id}/schedule",
944
+ "summary": "Send it later",
945
+ "flags": [
946
+ {
947
+ "name": "id",
948
+ "kind": "string",
949
+ "required": true,
950
+ "where": "path"
951
+ },
952
+ {
953
+ "name": "send_at",
954
+ "kind": "string",
955
+ "required": true,
956
+ "where": "body"
957
+ }
958
+ ]
959
+ },
960
+ {
961
+ "group": "drafts",
962
+ "name": "send",
963
+ "operationId": "draftsSend",
964
+ "method": "POST",
965
+ "path": "/drafts/{id}/send",
966
+ "summary": "Send what is stored",
967
+ "flags": [
968
+ {
969
+ "name": "id",
970
+ "kind": "string",
971
+ "required": true,
972
+ "where": "path"
973
+ }
974
+ ]
975
+ },
976
+ {
977
+ "group": "drafts",
978
+ "name": "update",
979
+ "operationId": "draftsUpdate",
980
+ "method": "PATCH",
981
+ "path": "/drafts/{id}",
982
+ "summary": "Change some of it, and leave the rest",
983
+ "flags": [
984
+ {
985
+ "name": "id",
986
+ "kind": "string",
987
+ "required": true,
988
+ "where": "path"
989
+ },
990
+ {
991
+ "name": "from",
992
+ "kind": "string",
993
+ "required": false,
994
+ "where": "body",
995
+ "describe": "An address on a domain you own, and one this key may send from."
996
+ },
997
+ {
998
+ "name": "to",
999
+ "kind": "list",
1000
+ "required": false,
1001
+ "where": "body",
1002
+ "describe": "One address or several. A string is accepted for the single case."
1003
+ },
1004
+ {
1005
+ "name": "cc",
1006
+ "kind": "list",
1007
+ "required": false,
1008
+ "where": "body",
1009
+ "describe": "Copied, and visible to everybody who receives the message."
1010
+ },
1011
+ {
1012
+ "name": "bcc",
1013
+ "kind": "list",
1014
+ "required": false,
1015
+ "where": "body",
1016
+ "describe": "Copied, and visible to nobody else."
1017
+ },
1018
+ {
1019
+ "name": "subject",
1020
+ "kind": "string",
1021
+ "required": false,
1022
+ "where": "body",
1023
+ "describe": "Left off a reply, where the thread already has one."
1024
+ },
1025
+ {
1026
+ "name": "text",
1027
+ "kind": "string",
1028
+ "required": false,
1029
+ "where": "body",
1030
+ "describe": "The plain-text body. Send this even when you send `html` \u2014 some clients only read it."
1031
+ },
1032
+ {
1033
+ "name": "attachment_ids",
1034
+ "kind": "list",
1035
+ "required": false,
1036
+ "where": "body",
1037
+ "describe": "Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20."
1038
+ }
1039
+ ]
1040
+ },
1041
+ {
1042
+ "group": "events",
1043
+ "name": "get",
1044
+ "operationId": "eventsGet",
1045
+ "method": "GET",
1046
+ "path": "/events/{id}",
1047
+ "summary": "Fetch one event",
1048
+ "flags": [
1049
+ {
1050
+ "name": "id",
1051
+ "kind": "string",
1052
+ "required": true,
1053
+ "where": "path"
1054
+ }
1055
+ ]
1056
+ },
1057
+ {
1058
+ "group": "events",
1059
+ "name": "list",
1060
+ "operationId": "eventsList",
1061
+ "method": "GET",
1062
+ "path": "/events",
1063
+ "summary": "List events",
1064
+ "flags": [
1065
+ {
1066
+ "name": "limit",
1067
+ "kind": "number",
1068
+ "required": false,
1069
+ "where": "query"
1070
+ },
1071
+ {
1072
+ "name": "cursor",
1073
+ "kind": "string",
1074
+ "required": false,
1075
+ "where": "query",
1076
+ "describe": "From a previous page\u2019s `next_cursor`. Opaque \u2014 do not parse it."
1077
+ },
1078
+ {
1079
+ "name": "type",
1080
+ "kind": "string",
1081
+ "required": false,
1082
+ "where": "query"
1083
+ },
1084
+ {
1085
+ "name": "identity_id",
1086
+ "kind": "string",
1087
+ "required": false,
1088
+ "where": "query"
1089
+ },
1090
+ {
1091
+ "name": "after",
1092
+ "kind": "string",
1093
+ "required": false,
1094
+ "where": "query"
1095
+ }
1096
+ ]
1097
+ },
1098
+ {
1099
+ "group": "identities",
1100
+ "name": "accessCreate",
1101
+ "operationId": "identitiesAccessCreate",
1102
+ "method": "POST",
1103
+ "path": "/identities/{id}/access",
1104
+ "summary": "Grant access",
1105
+ "flags": [
1106
+ {
1107
+ "name": "id",
1108
+ "kind": "string",
1109
+ "required": true,
1110
+ "where": "path"
1111
+ },
1112
+ {
1113
+ "name": "user_id",
1114
+ "kind": "string",
1115
+ "required": false,
1116
+ "where": "body"
1117
+ },
1118
+ {
1119
+ "name": "api_key_id",
1120
+ "kind": "string",
1121
+ "required": false,
1122
+ "where": "body"
1123
+ },
1124
+ {
1125
+ "name": "everyone",
1126
+ "kind": "boolean",
1127
+ "required": false,
1128
+ "where": "body"
1129
+ },
1130
+ {
1131
+ "name": "access",
1132
+ "kind": "string",
1133
+ "choices": [
1134
+ "read",
1135
+ "send",
1136
+ "admin"
1137
+ ],
1138
+ "required": true,
1139
+ "where": "body",
1140
+ "describe": "What a key may do. Give an agent the narrowest one that works."
1141
+ }
1142
+ ]
1143
+ },
1144
+ {
1145
+ "group": "identities",
1146
+ "name": "accessDelete",
1147
+ "operationId": "identitiesAccessDelete",
1148
+ "method": "DELETE",
1149
+ "path": "/identities/{id}/access",
1150
+ "summary": "Revoke access",
1151
+ "flags": [
1152
+ {
1153
+ "name": "id",
1154
+ "kind": "string",
1155
+ "required": true,
1156
+ "where": "path"
1157
+ },
1158
+ {
1159
+ "name": "grant_id",
1160
+ "kind": "string",
1161
+ "required": true,
1162
+ "where": "query"
1163
+ }
1164
+ ]
1165
+ },
1166
+ {
1167
+ "group": "identities",
1168
+ "name": "accessGet",
1169
+ "operationId": "identitiesAccessGet",
1170
+ "method": "GET",
1171
+ "path": "/identities/{id}/access",
1172
+ "summary": "Who can reach this address",
1173
+ "flags": [
1174
+ {
1175
+ "name": "id",
1176
+ "kind": "string",
1177
+ "required": true,
1178
+ "where": "path"
1179
+ }
1180
+ ]
1181
+ },
1182
+ {
1183
+ "group": "identities",
1184
+ "name": "create",
1185
+ "operationId": "identitiesCreate",
1186
+ "method": "POST",
1187
+ "path": "/identities",
1188
+ "summary": "Create an address",
1189
+ "flags": [
1190
+ {
1191
+ "name": "domain_id",
1192
+ "kind": "string",
1193
+ "required": false,
1194
+ "where": "body",
1195
+ "describe": "From `GET /domains`, or the `domain_id` on any address you already have."
1196
+ },
1197
+ {
1198
+ "name": "domain",
1199
+ "kind": "string",
1200
+ "required": false,
1201
+ "where": "body",
1202
+ "describe": "A domain name you own, or the shared one. An alternative to `domain_id`."
1203
+ },
1204
+ {
1205
+ "name": "address",
1206
+ "kind": "string",
1207
+ "required": false,
1208
+ "where": "body",
1209
+ "describe": "A whole address \u2014 the local part and the domain in one. An alternative to the other two."
1210
+ },
1211
+ {
1212
+ "name": "local_part",
1213
+ "kind": "string",
1214
+ "required": false,
1215
+ "where": "body",
1216
+ "describe": "Everything before the `@`."
1217
+ },
1218
+ {
1219
+ "name": "display_name",
1220
+ "kind": "string",
1221
+ "required": false,
1222
+ "where": "body",
1223
+ "describe": "The name a recipient sees beside the address."
1224
+ },
1225
+ {
1226
+ "name": "inbox",
1227
+ "kind": "boolean",
1228
+ "required": false,
1229
+ "where": "body",
1230
+ "describe": "Whether it keeps mail. With an inbox what arrives is stored and a person can open it; without one it becomes an event and your webhook fires. Defaults from `type`."
1231
+ },
1232
+ {
1233
+ "name": "type",
1234
+ "kind": "string",
1235
+ "choices": [
1236
+ "human",
1237
+ "team",
1238
+ "application",
1239
+ "workflow",
1240
+ "agent"
1241
+ ],
1242
+ "required": false,
1243
+ "where": "body",
1244
+ "describe": "A label for what this address is for. It does not change what the address can do \u2014 that is `inbox`."
1245
+ },
1246
+ {
1247
+ "name": "mode",
1248
+ "kind": "string",
1249
+ "choices": [
1250
+ "human",
1251
+ "automated",
1252
+ "hybrid"
1253
+ ],
1254
+ "required": false,
1255
+ "where": "body",
1256
+ "describe": "Who answers: a person, software, or both."
1257
+ },
1258
+ {
1259
+ "name": "expires_at",
1260
+ "kind": "string",
1261
+ "required": false,
1262
+ "where": "body",
1263
+ "describe": "When it stops accepting mail. Expiry suspends; it never deletes, so the correspondence survives."
1264
+ },
1265
+ {
1266
+ "name": "send_policy",
1267
+ "kind": "string",
1268
+ "choices": [
1269
+ "open",
1270
+ "reply_only",
1271
+ "list"
1272
+ ],
1273
+ "required": false,
1274
+ "where": "body",
1275
+ "describe": "Who it may write to. `reply_only` makes an address structurally unable to start a conversation with a stranger."
1276
+ },
1277
+ {
1278
+ "name": "tenant_id",
1279
+ "kind": "string",
1280
+ "required": false,
1281
+ "where": "body",
1282
+ "describe": "Your own opaque grouping \u2014 a customer id, whatever your side calls it. Never parsed here."
1283
+ }
1284
+ ]
1285
+ },
1286
+ {
1287
+ "group": "identities",
1288
+ "name": "delete",
1289
+ "operationId": "identitiesDelete",
1290
+ "method": "DELETE",
1291
+ "path": "/identities/{id}",
1292
+ "summary": "Delete an address",
1293
+ "flags": [
1294
+ {
1295
+ "name": "id",
1296
+ "kind": "string",
1297
+ "required": true,
1298
+ "where": "path"
1299
+ }
1300
+ ]
1301
+ },
1302
+ {
1303
+ "group": "identities",
1304
+ "name": "get",
1305
+ "operationId": "identitiesGet",
1306
+ "method": "GET",
1307
+ "path": "/identities/{id}",
1308
+ "summary": "Fetch one address",
1309
+ "flags": [
1310
+ {
1311
+ "name": "id",
1312
+ "kind": "string",
1313
+ "required": true,
1314
+ "where": "path"
1315
+ }
1316
+ ]
1317
+ },
1318
+ {
1319
+ "group": "identities",
1320
+ "name": "list",
1321
+ "operationId": "identitiesList",
1322
+ "method": "GET",
1323
+ "path": "/identities",
1324
+ "summary": "List addresses",
1325
+ "flags": [
1326
+ {
1327
+ "name": "limit",
1328
+ "kind": "number",
1329
+ "required": false,
1330
+ "where": "query"
1331
+ },
1332
+ {
1333
+ "name": "cursor",
1334
+ "kind": "string",
1335
+ "required": false,
1336
+ "where": "query",
1337
+ "describe": "From a previous page\u2019s `next_cursor`. Opaque \u2014 do not parse it."
1338
+ },
1339
+ {
1340
+ "name": "tenant_id",
1341
+ "kind": "string",
1342
+ "required": false,
1343
+ "where": "query"
1344
+ }
1345
+ ]
1346
+ },
1347
+ {
1348
+ "group": "identities",
1349
+ "name": "receiveRulesCreate",
1350
+ "operationId": "identitiesReceiveRulesCreate",
1351
+ "method": "POST",
1352
+ "path": "/identities/{id}/receive-rules",
1353
+ "summary": "Decide what happens to a sender",
1354
+ "flags": [
1355
+ {
1356
+ "name": "id",
1357
+ "kind": "string",
1358
+ "required": true,
1359
+ "where": "path"
1360
+ },
1361
+ {
1362
+ "name": "action",
1363
+ "kind": "string",
1364
+ "choices": [
1365
+ "reject",
1366
+ "spam",
1367
+ "trash",
1368
+ "archive",
1369
+ "inbox"
1370
+ ],
1371
+ "required": true,
1372
+ "where": "body"
1373
+ },
1374
+ {
1375
+ "name": "value",
1376
+ "kind": "string",
1377
+ "required": true,
1378
+ "where": "body"
1379
+ }
1380
+ ]
1381
+ },
1382
+ {
1383
+ "group": "identities",
1384
+ "name": "receiveRulesDelete",
1385
+ "operationId": "identitiesReceiveRulesDelete",
1386
+ "method": "DELETE",
1387
+ "path": "/identities/{id}/receive-rules",
1388
+ "summary": "Remove a rule",
1389
+ "flags": [
1390
+ {
1391
+ "name": "id",
1392
+ "kind": "string",
1393
+ "required": true,
1394
+ "where": "path"
1395
+ },
1396
+ {
1397
+ "name": "rule_id",
1398
+ "kind": "string",
1399
+ "required": true,
1400
+ "where": "query"
1401
+ }
1402
+ ]
1403
+ },
1404
+ {
1405
+ "group": "identities",
1406
+ "name": "receiveRulesGet",
1407
+ "operationId": "identitiesReceiveRulesGet",
1408
+ "method": "GET",
1409
+ "path": "/identities/{id}/receive-rules",
1410
+ "summary": "Who may write to this address",
1411
+ "flags": [
1412
+ {
1413
+ "name": "id",
1414
+ "kind": "string",
1415
+ "required": true,
1416
+ "where": "path"
1417
+ }
1418
+ ]
1419
+ },
1420
+ {
1421
+ "group": "identities",
1422
+ "name": "sendRulesCreate",
1423
+ "operationId": "identitiesSendRulesCreate",
1424
+ "method": "POST",
1425
+ "path": "/identities/{id}/send-rules",
1426
+ "summary": "Allow or block a recipient",
1427
+ "flags": [
1428
+ {
1429
+ "name": "id",
1430
+ "kind": "string",
1431
+ "required": true,
1432
+ "where": "path"
1433
+ },
1434
+ {
1435
+ "name": "effect",
1436
+ "kind": "string",
1437
+ "choices": [
1438
+ "allow",
1439
+ "block"
1440
+ ],
1441
+ "required": true,
1442
+ "where": "body"
1443
+ },
1444
+ {
1445
+ "name": "value",
1446
+ "kind": "string",
1447
+ "required": true,
1448
+ "where": "body"
1449
+ }
1450
+ ]
1451
+ },
1452
+ {
1453
+ "group": "identities",
1454
+ "name": "sendRulesDelete",
1455
+ "operationId": "identitiesSendRulesDelete",
1456
+ "method": "DELETE",
1457
+ "path": "/identities/{id}/send-rules",
1458
+ "summary": "Remove a rule",
1459
+ "flags": [
1460
+ {
1461
+ "name": "id",
1462
+ "kind": "string",
1463
+ "required": true,
1464
+ "where": "path"
1465
+ },
1466
+ {
1467
+ "name": "rule_id",
1468
+ "kind": "string",
1469
+ "required": true,
1470
+ "where": "query"
1471
+ }
1472
+ ]
1473
+ },
1474
+ {
1475
+ "group": "identities",
1476
+ "name": "sendRulesGet",
1477
+ "operationId": "identitiesSendRulesGet",
1478
+ "method": "GET",
1479
+ "path": "/identities/{id}/send-rules",
1480
+ "summary": "What this address may write to",
1481
+ "flags": [
1482
+ {
1483
+ "name": "id",
1484
+ "kind": "string",
1485
+ "required": true,
1486
+ "where": "path"
1487
+ }
1488
+ ]
1489
+ },
1490
+ {
1491
+ "group": "identities",
1492
+ "name": "suspendTenant",
1493
+ "operationId": "identitiesSuspendTenant",
1494
+ "method": "POST",
1495
+ "path": "/tenants/{id}/suspend",
1496
+ "summary": "Offboard one of your customers",
1497
+ "flags": [
1498
+ {
1499
+ "name": "id",
1500
+ "kind": "string",
1501
+ "required": true,
1502
+ "where": "path"
1503
+ }
1504
+ ]
1505
+ },
1506
+ {
1507
+ "group": "identities",
1508
+ "name": "update",
1509
+ "operationId": "identitiesUpdate",
1510
+ "method": "PATCH",
1511
+ "path": "/identities/{id}",
1512
+ "summary": "Update an address",
1513
+ "flags": [
1514
+ {
1515
+ "name": "id",
1516
+ "kind": "string",
1517
+ "required": true,
1518
+ "where": "path"
1519
+ },
1520
+ {
1521
+ "name": "display_name",
1522
+ "kind": "string",
1523
+ "required": false,
1524
+ "where": "body",
1525
+ "describe": "The name a recipient sees beside the address."
1526
+ },
1527
+ {
1528
+ "name": "mode",
1529
+ "kind": "string",
1530
+ "choices": [
1531
+ "human",
1532
+ "automated",
1533
+ "hybrid"
1534
+ ],
1535
+ "required": false,
1536
+ "where": "body",
1537
+ "describe": "Who answers: a person, software, or both."
1538
+ },
1539
+ {
1540
+ "name": "capabilities",
1541
+ "kind": "json",
1542
+ "required": false,
1543
+ "where": "body"
1544
+ },
1545
+ {
1546
+ "name": "status",
1547
+ "kind": "string",
1548
+ "choices": [
1549
+ "active",
1550
+ "suspended",
1551
+ "archived"
1552
+ ],
1553
+ "required": false,
1554
+ "where": "body"
1555
+ },
1556
+ {
1557
+ "name": "expires_at",
1558
+ "kind": "string",
1559
+ "required": false,
1560
+ "where": "body",
1561
+ "describe": "When it stops accepting mail. Expiry suspends; it never deletes, so the correspondence survives."
1562
+ },
1563
+ {
1564
+ "name": "send_policy",
1565
+ "kind": "string",
1566
+ "choices": [
1567
+ "open",
1568
+ "reply_only",
1569
+ "list"
1570
+ ],
1571
+ "required": false,
1572
+ "where": "body",
1573
+ "describe": "Who it may write to. `reply_only` makes an address structurally unable to start a conversation with a stranger."
1574
+ },
1575
+ {
1576
+ "name": "tenant_id",
1577
+ "kind": "string",
1578
+ "required": false,
1579
+ "where": "body",
1580
+ "describe": "Your own opaque grouping \u2014 a customer id, whatever your side calls it. Never parsed here."
1581
+ }
1582
+ ]
1583
+ },
1584
+ {
1585
+ "group": "keys",
1586
+ "name": "create",
1587
+ "operationId": "keysCreate",
1588
+ "method": "POST",
1589
+ "path": "/api-keys",
1590
+ "summary": "Mint a key",
1591
+ "flags": [
1592
+ {
1593
+ "name": "name",
1594
+ "kind": "string",
1595
+ "required": true,
1596
+ "where": "body"
1597
+ },
1598
+ {
1599
+ "name": "identity_ids",
1600
+ "kind": "list",
1601
+ "required": true,
1602
+ "where": "body"
1603
+ },
1604
+ {
1605
+ "name": "access",
1606
+ "kind": "string",
1607
+ "choices": [
1608
+ "read",
1609
+ "send",
1610
+ "admin"
1611
+ ],
1612
+ "required": false,
1613
+ "where": "body",
1614
+ "describe": "What a key may do. Give an agent the narrowest one that works."
1615
+ },
1616
+ {
1617
+ "name": "expires_at",
1618
+ "kind": "string",
1619
+ "required": false,
1620
+ "where": "body",
1621
+ "describe": "When it stops accepting mail. Expiry suspends; it never deletes, so the correspondence survives."
1622
+ }
1623
+ ]
1624
+ },
1625
+ {
1626
+ "group": "keys",
1627
+ "name": "get",
1628
+ "operationId": "keysGet",
1629
+ "method": "GET",
1630
+ "path": "/api-keys/{id}",
1631
+ "summary": "Fetch one key",
1632
+ "flags": [
1633
+ {
1634
+ "name": "id",
1635
+ "kind": "string",
1636
+ "required": true,
1637
+ "where": "path"
1638
+ }
1639
+ ]
1640
+ },
1641
+ {
1642
+ "group": "keys",
1643
+ "name": "list",
1644
+ "operationId": "keysList",
1645
+ "method": "GET",
1646
+ "path": "/api-keys",
1647
+ "summary": "List the keys in this workspace",
1648
+ "flags": []
1649
+ },
1650
+ {
1651
+ "group": "keys",
1652
+ "name": "revoke",
1653
+ "operationId": "keysRevoke",
1654
+ "method": "DELETE",
1655
+ "path": "/api-keys/{id}",
1656
+ "summary": "Revoke a key, and everything it minted",
1657
+ "flags": [
1658
+ {
1659
+ "name": "id",
1660
+ "kind": "string",
1661
+ "required": true,
1662
+ "where": "path"
1663
+ }
1664
+ ]
1665
+ },
1666
+ {
1667
+ "group": "keys",
1668
+ "name": "update",
1669
+ "operationId": "keysUpdate",
1670
+ "method": "PATCH",
1671
+ "path": "/api-keys/{id}",
1672
+ "summary": "Rename a key",
1673
+ "flags": [
1674
+ {
1675
+ "name": "id",
1676
+ "kind": "string",
1677
+ "required": true,
1678
+ "where": "path"
1679
+ },
1680
+ {
1681
+ "name": "name",
1682
+ "kind": "string",
1683
+ "required": true,
1684
+ "where": "body"
1685
+ }
1686
+ ]
1687
+ },
1688
+ {
1689
+ "group": "labels",
1690
+ "name": "create",
1691
+ "operationId": "labelsCreate",
1692
+ "method": "POST",
1693
+ "path": "/labels",
1694
+ "summary": "Create a label",
1695
+ "flags": [
1696
+ {
1697
+ "name": "identity_id",
1698
+ "kind": "string",
1699
+ "required": true,
1700
+ "where": "body",
1701
+ "describe": "The address this belongs to."
1702
+ },
1703
+ {
1704
+ "name": "name",
1705
+ "kind": "string",
1706
+ "required": true,
1707
+ "where": "body"
1708
+ },
1709
+ {
1710
+ "name": "colour",
1711
+ "kind": "string",
1712
+ "required": false,
1713
+ "where": "body"
1714
+ }
1715
+ ]
1716
+ },
1717
+ {
1718
+ "group": "labels",
1719
+ "name": "delete",
1720
+ "operationId": "labelsDelete",
1721
+ "method": "DELETE",
1722
+ "path": "/labels/{id}",
1723
+ "summary": "Delete a label",
1724
+ "flags": [
1725
+ {
1726
+ "name": "id",
1727
+ "kind": "string",
1728
+ "required": true,
1729
+ "where": "path"
1730
+ }
1731
+ ]
1732
+ },
1733
+ {
1734
+ "group": "labels",
1735
+ "name": "list",
1736
+ "operationId": "labelsList",
1737
+ "method": "GET",
1738
+ "path": "/labels",
1739
+ "summary": "List labels",
1740
+ "flags": [
1741
+ {
1742
+ "name": "identity_id",
1743
+ "kind": "string",
1744
+ "required": true,
1745
+ "where": "query"
1746
+ }
1747
+ ]
1748
+ },
1749
+ {
1750
+ "group": "labels",
1751
+ "name": "update",
1752
+ "operationId": "labelsUpdate",
1753
+ "method": "PATCH",
1754
+ "path": "/labels/{id}",
1755
+ "summary": "Rename or recolour a label",
1756
+ "flags": [
1757
+ {
1758
+ "name": "id",
1759
+ "kind": "string",
1760
+ "required": true,
1761
+ "where": "path"
1762
+ },
1763
+ {
1764
+ "name": "name",
1765
+ "kind": "string",
1766
+ "required": false,
1767
+ "where": "body"
1768
+ },
1769
+ {
1770
+ "name": "colour",
1771
+ "kind": "string",
1772
+ "required": false,
1773
+ "where": "body"
1774
+ }
1775
+ ]
1776
+ },
1777
+ {
1778
+ "group": "mailboxes",
1779
+ "name": "changes",
1780
+ "operationId": "mailboxesChanges",
1781
+ "method": "GET",
1782
+ "path": "/mailboxes/changes",
1783
+ "summary": "What changed since you last looked",
1784
+ "flags": [
1785
+ {
1786
+ "name": "identity_id",
1787
+ "kind": "string",
1788
+ "required": true,
1789
+ "where": "query"
1790
+ },
1791
+ {
1792
+ "name": "since",
1793
+ "kind": "string",
1794
+ "required": true,
1795
+ "where": "query"
1796
+ },
1797
+ {
1798
+ "name": "limit",
1799
+ "kind": "number",
1800
+ "required": false,
1801
+ "where": "query"
1802
+ }
1803
+ ]
1804
+ },
1805
+ {
1806
+ "group": "mailboxes",
1807
+ "name": "emptyTrash",
1808
+ "operationId": "mailboxesEmptyTrash",
1809
+ "method": "DELETE",
1810
+ "path": "/mailboxes/{folder}",
1811
+ "summary": "Empty the trash",
1812
+ "flags": [
1813
+ {
1814
+ "name": "folder",
1815
+ "kind": "string",
1816
+ "required": true,
1817
+ "where": "path"
1818
+ },
1819
+ {
1820
+ "name": "identity_id",
1821
+ "kind": "string",
1822
+ "required": true,
1823
+ "where": "query"
1824
+ }
1825
+ ]
1826
+ },
1827
+ {
1828
+ "group": "mailboxes",
1829
+ "name": "list",
1830
+ "operationId": "mailboxesList",
1831
+ "method": "GET",
1832
+ "path": "/mailboxes",
1833
+ "summary": "List the folders of one mailbox",
1834
+ "flags": [
1835
+ {
1836
+ "name": "identity_id",
1837
+ "kind": "string",
1838
+ "required": true,
1839
+ "where": "query"
1840
+ }
1841
+ ]
1842
+ },
1843
+ {
1844
+ "group": "mailboxes",
1845
+ "name": "listFolder",
1846
+ "operationId": "mailboxesListFolder",
1847
+ "method": "GET",
1848
+ "path": "/mailboxes/{folder}",
1849
+ "summary": "List one folder",
1850
+ "flags": [
1851
+ {
1852
+ "name": "folder",
1853
+ "kind": "string",
1854
+ "required": true,
1855
+ "where": "path"
1856
+ },
1857
+ {
1858
+ "name": "identity_id",
1859
+ "kind": "string",
1860
+ "required": true,
1861
+ "where": "query"
1862
+ },
1863
+ {
1864
+ "name": "limit",
1865
+ "kind": "number",
1866
+ "required": false,
1867
+ "where": "query"
1868
+ },
1869
+ {
1870
+ "name": "cursor",
1871
+ "kind": "string",
1872
+ "required": false,
1873
+ "where": "query",
1874
+ "describe": "From a previous page\u2019s `next_cursor`. Opaque \u2014 do not parse it."
1875
+ },
1876
+ {
1877
+ "name": "label_id",
1878
+ "kind": "string",
1879
+ "required": false,
1880
+ "where": "query"
1881
+ }
1882
+ ]
1883
+ },
1884
+ {
1885
+ "group": "messages",
1886
+ "name": "act",
1887
+ "operationId": "messagesAct",
1888
+ "method": "POST",
1889
+ "path": "/messages/actions",
1890
+ "summary": "Apply one action to many conversations",
1891
+ "flags": [
1892
+ {
1893
+ "name": "message_ids",
1894
+ "kind": "list",
1895
+ "required": true,
1896
+ "where": "body"
1897
+ },
1898
+ {
1899
+ "name": "action",
1900
+ "kind": "string",
1901
+ "choices": [
1902
+ "read",
1903
+ "unread",
1904
+ "star",
1905
+ "unstar",
1906
+ "archive",
1907
+ "unarchive",
1908
+ "delete",
1909
+ "restore",
1910
+ "spam",
1911
+ "not_spam",
1912
+ "delete_forever"
1913
+ ],
1914
+ "required": true,
1915
+ "where": "body"
1916
+ }
1917
+ ]
1918
+ },
1919
+ {
1920
+ "group": "messages",
1921
+ "name": "forward",
1922
+ "operationId": "messagesForward",
1923
+ "method": "POST",
1924
+ "path": "/messages/{id}/forward",
1925
+ "summary": "Forward one message",
1926
+ "flags": [
1927
+ {
1928
+ "name": "id",
1929
+ "kind": "string",
1930
+ "required": true,
1931
+ "where": "path"
1932
+ },
1933
+ {
1934
+ "name": "text",
1935
+ "kind": "string",
1936
+ "required": false,
1937
+ "where": "body",
1938
+ "describe": "The plain-text body. Send this even when you send `html` \u2014 some clients only read it."
1939
+ },
1940
+ {
1941
+ "name": "html",
1942
+ "kind": "string",
1943
+ "required": false,
1944
+ "where": "body",
1945
+ "describe": "The rich body. Sanitised on the way in; scripts and remote content are removed."
1946
+ },
1947
+ {
1948
+ "name": "to",
1949
+ "kind": "list",
1950
+ "required": false,
1951
+ "where": "body",
1952
+ "describe": "One address or several. A string is accepted for the single case."
1953
+ },
1954
+ {
1955
+ "name": "cc",
1956
+ "kind": "list",
1957
+ "required": false,
1958
+ "where": "body",
1959
+ "describe": "Copied, and visible to everybody who receives the message."
1960
+ },
1961
+ {
1962
+ "name": "bcc",
1963
+ "kind": "list",
1964
+ "required": false,
1965
+ "where": "body",
1966
+ "describe": "Copied, and visible to nobody else."
1967
+ },
1968
+ {
1969
+ "name": "attachment_ids",
1970
+ "kind": "list",
1971
+ "required": false,
1972
+ "where": "body",
1973
+ "describe": "Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20."
1974
+ }
1975
+ ]
1976
+ },
1977
+ {
1978
+ "group": "messages",
1979
+ "name": "get",
1980
+ "operationId": "messagesGet",
1981
+ "method": "GET",
1982
+ "path": "/messages/{id}",
1983
+ "summary": "Fetch one message",
1984
+ "flags": [
1985
+ {
1986
+ "name": "id",
1987
+ "kind": "string",
1988
+ "required": true,
1989
+ "where": "path"
1990
+ }
1991
+ ]
1992
+ },
1993
+ {
1994
+ "group": "messages",
1995
+ "name": "listInThread",
1996
+ "operationId": "messagesListInThread",
1997
+ "method": "GET",
1998
+ "path": "/messages",
1999
+ "summary": "List messages",
2000
+ "flags": [
2001
+ {
2002
+ "name": "limit",
2003
+ "kind": "number",
2004
+ "required": false,
2005
+ "where": "query"
2006
+ },
2007
+ {
2008
+ "name": "cursor",
2009
+ "kind": "string",
2010
+ "required": false,
2011
+ "where": "query",
2012
+ "describe": "From a previous page\u2019s `next_cursor`. Opaque \u2014 do not parse it."
2013
+ },
2014
+ {
2015
+ "name": "thread_id",
2016
+ "kind": "string",
2017
+ "required": true,
2018
+ "where": "query"
2019
+ }
2020
+ ]
2021
+ },
2022
+ {
2023
+ "group": "messages",
2024
+ "name": "raw",
2025
+ "operationId": "messagesRaw",
2026
+ "method": "GET",
2027
+ "path": "/messages/{id}/raw",
2028
+ "summary": "The message as it arrived",
2029
+ "flags": [
2030
+ {
2031
+ "name": "id",
2032
+ "kind": "string",
2033
+ "required": true,
2034
+ "where": "path"
2035
+ }
2036
+ ]
2037
+ },
2038
+ {
2039
+ "group": "messages",
2040
+ "name": "reply",
2041
+ "operationId": "messagesReply",
2042
+ "method": "POST",
2043
+ "path": "/messages/{id}/reply",
2044
+ "summary": "Reply to one message",
2045
+ "flags": [
2046
+ {
2047
+ "name": "id",
2048
+ "kind": "string",
2049
+ "required": true,
2050
+ "where": "path"
2051
+ },
2052
+ {
2053
+ "name": "text",
2054
+ "kind": "string",
2055
+ "required": false,
2056
+ "where": "body",
2057
+ "describe": "The plain-text body. Send this even when you send `html` \u2014 some clients only read it."
2058
+ },
2059
+ {
2060
+ "name": "html",
2061
+ "kind": "string",
2062
+ "required": false,
2063
+ "where": "body",
2064
+ "describe": "The rich body. Sanitised on the way in; scripts and remote content are removed."
2065
+ },
2066
+ {
2067
+ "name": "to",
2068
+ "kind": "list",
2069
+ "required": false,
2070
+ "where": "body",
2071
+ "describe": "One address or several. A string is accepted for the single case."
2072
+ },
2073
+ {
2074
+ "name": "cc",
2075
+ "kind": "list",
2076
+ "required": false,
2077
+ "where": "body",
2078
+ "describe": "Copied, and visible to everybody who receives the message."
2079
+ },
2080
+ {
2081
+ "name": "bcc",
2082
+ "kind": "list",
2083
+ "required": false,
2084
+ "where": "body",
2085
+ "describe": "Copied, and visible to nobody else."
2086
+ },
2087
+ {
2088
+ "name": "attachment_ids",
2089
+ "kind": "list",
2090
+ "required": false,
2091
+ "where": "body",
2092
+ "describe": "Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20."
2093
+ }
2094
+ ]
2095
+ },
2096
+ {
2097
+ "group": "messages",
2098
+ "name": "replyAll",
2099
+ "operationId": "messagesReplyAll",
2100
+ "method": "POST",
2101
+ "path": "/messages/{id}/reply-all",
2102
+ "summary": "Reply to everybody on one message",
2103
+ "flags": [
2104
+ {
2105
+ "name": "id",
2106
+ "kind": "string",
2107
+ "required": true,
2108
+ "where": "path"
2109
+ },
2110
+ {
2111
+ "name": "text",
2112
+ "kind": "string",
2113
+ "required": false,
2114
+ "where": "body",
2115
+ "describe": "The plain-text body. Send this even when you send `html` \u2014 some clients only read it."
2116
+ },
2117
+ {
2118
+ "name": "html",
2119
+ "kind": "string",
2120
+ "required": false,
2121
+ "where": "body",
2122
+ "describe": "The rich body. Sanitised on the way in; scripts and remote content are removed."
2123
+ },
2124
+ {
2125
+ "name": "to",
2126
+ "kind": "list",
2127
+ "required": false,
2128
+ "where": "body",
2129
+ "describe": "One address or several. A string is accepted for the single case."
2130
+ },
2131
+ {
2132
+ "name": "cc",
2133
+ "kind": "list",
2134
+ "required": false,
2135
+ "where": "body",
2136
+ "describe": "Copied, and visible to everybody who receives the message."
2137
+ },
2138
+ {
2139
+ "name": "bcc",
2140
+ "kind": "list",
2141
+ "required": false,
2142
+ "where": "body",
2143
+ "describe": "Copied, and visible to nobody else."
2144
+ },
2145
+ {
2146
+ "name": "attachment_ids",
2147
+ "kind": "list",
2148
+ "required": false,
2149
+ "where": "body",
2150
+ "describe": "Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20."
2151
+ }
2152
+ ]
2153
+ },
2154
+ {
2155
+ "group": "messages",
2156
+ "name": "respondToInvitation",
2157
+ "operationId": "messagesRespondToInvitation",
2158
+ "method": "POST",
2159
+ "path": "/messages/{id}/invitation/respond",
2160
+ "summary": "Accept, decline or tentatively accept a meeting",
2161
+ "flags": [
2162
+ {
2163
+ "name": "id",
2164
+ "kind": "string",
2165
+ "required": true,
2166
+ "where": "path"
2167
+ },
2168
+ {
2169
+ "name": "status",
2170
+ "kind": "string",
2171
+ "choices": [
2172
+ "accepted",
2173
+ "declined",
2174
+ "tentative"
2175
+ ],
2176
+ "required": true,
2177
+ "where": "body"
2178
+ },
2179
+ {
2180
+ "name": "comment",
2181
+ "kind": "string",
2182
+ "required": false,
2183
+ "where": "body"
2184
+ }
2185
+ ]
2186
+ },
2187
+ {
2188
+ "group": "messages",
2189
+ "name": "search",
2190
+ "operationId": "messagesSearch",
2191
+ "method": "GET",
2192
+ "path": "/messages/search",
2193
+ "summary": "Search one mailbox",
2194
+ "flags": [
2195
+ {
2196
+ "name": "identity_id",
2197
+ "kind": "string",
2198
+ "required": true,
2199
+ "where": "query"
2200
+ },
2201
+ {
2202
+ "name": "q",
2203
+ "kind": "string",
2204
+ "required": false,
2205
+ "where": "query"
2206
+ },
2207
+ {
2208
+ "name": "in",
2209
+ "kind": "string",
2210
+ "choices": [
2211
+ "inbox",
2212
+ "starred",
2213
+ "sent",
2214
+ "drafts",
2215
+ "scheduled",
2216
+ "snoozed",
2217
+ "archive",
2218
+ "spam",
2219
+ "trash",
2220
+ "unauthenticated"
2221
+ ],
2222
+ "required": false,
2223
+ "where": "query"
2224
+ },
2225
+ {
2226
+ "name": "from",
2227
+ "kind": "string",
2228
+ "required": false,
2229
+ "where": "query"
2230
+ },
2231
+ {
2232
+ "name": "to",
2233
+ "kind": "string",
2234
+ "required": false,
2235
+ "where": "query"
2236
+ },
2237
+ {
2238
+ "name": "has_attachment",
2239
+ "kind": "string",
2240
+ "required": false,
2241
+ "where": "query"
2242
+ },
2243
+ {
2244
+ "name": "is_unread",
2245
+ "kind": "string",
2246
+ "required": false,
2247
+ "where": "query"
2248
+ },
2249
+ {
2250
+ "name": "is_starred",
2251
+ "kind": "string",
2252
+ "required": false,
2253
+ "where": "query"
2254
+ },
2255
+ {
2256
+ "name": "label_id",
2257
+ "kind": "string",
2258
+ "required": false,
2259
+ "where": "query"
2260
+ },
2261
+ {
2262
+ "name": "limit",
2263
+ "kind": "number",
2264
+ "required": false,
2265
+ "where": "query"
2266
+ }
2267
+ ]
2268
+ },
2269
+ {
2270
+ "group": "messages",
2271
+ "name": "send",
2272
+ "operationId": "messagesSend",
2273
+ "method": "POST",
2274
+ "path": "/messages",
2275
+ "summary": "Send a message",
2276
+ "flags": [
2277
+ {
2278
+ "name": "from",
2279
+ "kind": "string",
2280
+ "required": true,
2281
+ "where": "body",
2282
+ "describe": "An address on a domain you own, and one this key may send from."
2283
+ },
2284
+ {
2285
+ "name": "to",
2286
+ "kind": "list",
2287
+ "required": true,
2288
+ "where": "body",
2289
+ "describe": "One address or several. A string is accepted for the single case."
2290
+ },
2291
+ {
2292
+ "name": "cc",
2293
+ "kind": "list",
2294
+ "required": false,
2295
+ "where": "body",
2296
+ "describe": "Copied, and visible to everybody who receives the message."
2297
+ },
2298
+ {
2299
+ "name": "bcc",
2300
+ "kind": "list",
2301
+ "required": false,
2302
+ "where": "body",
2303
+ "describe": "Copied, and visible to nobody else."
2304
+ },
2305
+ {
2306
+ "name": "subject",
2307
+ "kind": "string",
2308
+ "required": false,
2309
+ "where": "body",
2310
+ "describe": "Left off a reply, where the thread already has one."
2311
+ },
2312
+ {
2313
+ "name": "text",
2314
+ "kind": "string",
2315
+ "required": false,
2316
+ "where": "body",
2317
+ "describe": "The plain-text body. Send this even when you send `html` \u2014 some clients only read it."
2318
+ },
2319
+ {
2320
+ "name": "html",
2321
+ "kind": "string",
2322
+ "required": false,
2323
+ "where": "body",
2324
+ "describe": "The rich body. Sanitised on the way in; scripts and remote content are removed."
2325
+ },
2326
+ {
2327
+ "name": "attachment_ids",
2328
+ "kind": "list",
2329
+ "required": false,
2330
+ "where": "body",
2331
+ "describe": "Ids from `POST /attachments`, uploaded before the message that carries them. Up to 20."
2332
+ },
2333
+ {
2334
+ "name": "in_reply_to",
2335
+ "kind": "string",
2336
+ "required": false,
2337
+ "where": "body",
2338
+ "describe": "The message being answered. Keeps the conversation together in the recipient\u2019s client too."
2339
+ }
2340
+ ]
2341
+ },
2342
+ {
2343
+ "group": "messages",
2344
+ "name": "undo",
2345
+ "operationId": "messagesUndo",
2346
+ "method": "POST",
2347
+ "path": "/messages/undo",
2348
+ "summary": "Put an action back",
2349
+ "flags": [
2350
+ {
2351
+ "name": "undo",
2352
+ "kind": "list",
2353
+ "required": true,
2354
+ "where": "body"
2355
+ }
2356
+ ]
2357
+ },
2358
+ {
2359
+ "group": "messages",
2360
+ "name": "update",
2361
+ "operationId": "messagesUpdate",
2362
+ "method": "PATCH",
2363
+ "path": "/messages/{id}",
2364
+ "summary": "Change one conversation",
2365
+ "flags": [
2366
+ {
2367
+ "name": "id",
2368
+ "kind": "string",
2369
+ "required": true,
2370
+ "where": "path"
2371
+ },
2372
+ {
2373
+ "name": "is_read",
2374
+ "kind": "boolean",
2375
+ "required": false,
2376
+ "where": "body"
2377
+ },
2378
+ {
2379
+ "name": "is_starred",
2380
+ "kind": "boolean",
2381
+ "required": false,
2382
+ "where": "body"
2383
+ },
2384
+ {
2385
+ "name": "folder",
2386
+ "kind": "string",
2387
+ "choices": [
2388
+ "inbox",
2389
+ "archive",
2390
+ "spam",
2391
+ "trash"
2392
+ ],
2393
+ "required": false,
2394
+ "where": "body"
2395
+ }
2396
+ ]
2397
+ },
2398
+ {
2399
+ "group": "metrics",
2400
+ "name": "query",
2401
+ "operationId": "metricsQuery",
2402
+ "method": "GET",
2403
+ "path": "/metrics",
2404
+ "summary": "What happened to the mail",
2405
+ "flags": [
2406
+ {
2407
+ "name": "days",
2408
+ "kind": "number",
2409
+ "required": false,
2410
+ "where": "query"
2411
+ },
2412
+ {
2413
+ "name": "identity_id",
2414
+ "kind": "string",
2415
+ "required": false,
2416
+ "where": "query"
2417
+ }
2418
+ ]
2419
+ },
2420
+ {
2421
+ "group": "routing",
2422
+ "name": "create",
2423
+ "operationId": "routingCreate",
2424
+ "method": "POST",
2425
+ "path": "/routing-rules",
2426
+ "summary": "Route an address somewhere",
2427
+ "flags": []
2428
+ },
2429
+ {
2430
+ "group": "routing",
2431
+ "name": "delete",
2432
+ "operationId": "routingDelete",
2433
+ "method": "DELETE",
2434
+ "path": "/routing-rules/{id}",
2435
+ "summary": "Delete a routing rule",
2436
+ "flags": [
2437
+ {
2438
+ "name": "id",
2439
+ "kind": "string",
2440
+ "required": true,
2441
+ "where": "path"
2442
+ }
2443
+ ]
2444
+ },
2445
+ {
2446
+ "group": "routing",
2447
+ "name": "list",
2448
+ "operationId": "routingList",
2449
+ "method": "GET",
2450
+ "path": "/routing-rules",
2451
+ "summary": "List routing rules",
2452
+ "flags": [
2453
+ {
2454
+ "name": "domain_id",
2455
+ "kind": "string",
2456
+ "required": false,
2457
+ "where": "query"
2458
+ }
2459
+ ]
2460
+ },
2461
+ {
2462
+ "group": "routing",
2463
+ "name": "update",
2464
+ "operationId": "routingUpdate",
2465
+ "method": "PATCH",
2466
+ "path": "/routing-rules/{id}",
2467
+ "summary": "Enable or disable a rule",
2468
+ "flags": [
2469
+ {
2470
+ "name": "id",
2471
+ "kind": "string",
2472
+ "required": true,
2473
+ "where": "path"
2474
+ },
2475
+ {
2476
+ "name": "status",
2477
+ "kind": "string",
2478
+ "choices": [
2479
+ "active",
2480
+ "disabled"
2481
+ ],
2482
+ "required": true,
2483
+ "where": "body"
2484
+ }
2485
+ ]
2486
+ },
2487
+ {
2488
+ "group": "threads",
2489
+ "name": "get",
2490
+ "operationId": "threadsGet",
2491
+ "method": "GET",
2492
+ "path": "/threads/{id}",
2493
+ "summary": "Read a conversation",
2494
+ "flags": [
2495
+ {
2496
+ "name": "id",
2497
+ "kind": "string",
2498
+ "required": true,
2499
+ "where": "path"
2500
+ }
2501
+ ]
2502
+ },
2503
+ {
2504
+ "group": "threads",
2505
+ "name": "labelsCreate",
2506
+ "operationId": "threadsLabelsCreate",
2507
+ "method": "POST",
2508
+ "path": "/threads/{id}/labels",
2509
+ "summary": "Apply a label",
2510
+ "flags": [
2511
+ {
2512
+ "name": "id",
2513
+ "kind": "string",
2514
+ "required": true,
2515
+ "where": "path"
2516
+ },
2517
+ {
2518
+ "name": "label_id",
2519
+ "kind": "string",
2520
+ "required": true,
2521
+ "where": "body"
2522
+ }
2523
+ ]
2524
+ },
2525
+ {
2526
+ "group": "threads",
2527
+ "name": "labelsDelete",
2528
+ "operationId": "threadsLabelsDelete",
2529
+ "method": "DELETE",
2530
+ "path": "/threads/{id}/labels",
2531
+ "summary": "Remove a label",
2532
+ "flags": [
2533
+ {
2534
+ "name": "id",
2535
+ "kind": "string",
2536
+ "required": true,
2537
+ "where": "path"
2538
+ },
2539
+ {
2540
+ "name": "label_id",
2541
+ "kind": "string",
2542
+ "required": true,
2543
+ "where": "query"
2544
+ }
2545
+ ]
2546
+ },
2547
+ {
2548
+ "group": "threads",
2549
+ "name": "labelsGet",
2550
+ "operationId": "threadsLabelsGet",
2551
+ "method": "GET",
2552
+ "path": "/threads/{id}/labels",
2553
+ "summary": "The labels on a conversation",
2554
+ "flags": [
2555
+ {
2556
+ "name": "id",
2557
+ "kind": "string",
2558
+ "required": true,
2559
+ "where": "path"
2560
+ }
2561
+ ]
2562
+ },
2563
+ {
2564
+ "group": "threads",
2565
+ "name": "list",
2566
+ "operationId": "threadsList",
2567
+ "method": "GET",
2568
+ "path": "/threads",
2569
+ "summary": "List threads",
2570
+ "flags": [
2571
+ {
2572
+ "name": "limit",
2573
+ "kind": "number",
2574
+ "required": false,
2575
+ "where": "query"
2576
+ },
2577
+ {
2578
+ "name": "cursor",
2579
+ "kind": "string",
2580
+ "required": false,
2581
+ "where": "query",
2582
+ "describe": "From a previous page\u2019s `next_cursor`. Opaque \u2014 do not parse it."
2583
+ },
2584
+ {
2585
+ "name": "identity_id",
2586
+ "kind": "string",
2587
+ "required": false,
2588
+ "where": "query"
2589
+ },
2590
+ {
2591
+ "name": "status",
2592
+ "kind": "string",
2593
+ "choices": [
2594
+ "open",
2595
+ "waiting",
2596
+ "resolved",
2597
+ "human_review"
2598
+ ],
2599
+ "required": false,
2600
+ "where": "query"
2601
+ },
2602
+ {
2603
+ "name": "owner_type",
2604
+ "kind": "string",
2605
+ "choices": [
2606
+ "human",
2607
+ "automation",
2608
+ "agent"
2609
+ ],
2610
+ "required": false,
2611
+ "where": "query"
2612
+ },
2613
+ {
2614
+ "name": "assignee_id",
2615
+ "kind": "string",
2616
+ "required": false,
2617
+ "where": "query",
2618
+ "describe": "A person\u2019s id, or `unassigned` for the queue nobody has taken."
2619
+ }
2620
+ ]
2621
+ },
2622
+ {
2623
+ "group": "threads",
2624
+ "name": "update",
2625
+ "operationId": "threadsUpdate",
2626
+ "method": "PATCH",
2627
+ "path": "/threads/{id}",
2628
+ "summary": "Update a thread",
2629
+ "flags": [
2630
+ {
2631
+ "name": "id",
2632
+ "kind": "string",
2633
+ "required": true,
2634
+ "where": "path"
2635
+ },
2636
+ {
2637
+ "name": "status",
2638
+ "kind": "string",
2639
+ "choices": [
2640
+ "open",
2641
+ "waiting",
2642
+ "resolved",
2643
+ "human_review"
2644
+ ],
2645
+ "required": false,
2646
+ "where": "body"
2647
+ },
2648
+ {
2649
+ "name": "owner_type",
2650
+ "kind": "string",
2651
+ "choices": [
2652
+ "human",
2653
+ "automation",
2654
+ "agent"
2655
+ ],
2656
+ "required": false,
2657
+ "where": "body"
2658
+ },
2659
+ {
2660
+ "name": "assignee_id",
2661
+ "kind": "string",
2662
+ "required": false,
2663
+ "where": "body"
2664
+ }
2665
+ ]
2666
+ },
2667
+ {
2668
+ "group": "webhooks",
2669
+ "name": "create",
2670
+ "operationId": "webhooksCreate",
2671
+ "method": "POST",
2672
+ "path": "/webhooks",
2673
+ "summary": "Create a webhook",
2674
+ "flags": [
2675
+ {
2676
+ "name": "url",
2677
+ "kind": "string",
2678
+ "required": true,
2679
+ "where": "body",
2680
+ "describe": "Where we POST. HTTPS, and it has to answer within a few seconds."
2681
+ },
2682
+ {
2683
+ "name": "identity_id",
2684
+ "kind": "string",
2685
+ "required": false,
2686
+ "where": "body",
2687
+ "describe": "The address this belongs to."
2688
+ },
2689
+ {
2690
+ "name": "event_types",
2691
+ "kind": "list",
2692
+ "required": false,
2693
+ "where": "body"
2694
+ }
2695
+ ]
2696
+ },
2697
+ {
2698
+ "group": "webhooks",
2699
+ "name": "delete",
2700
+ "operationId": "webhooksDelete",
2701
+ "method": "DELETE",
2702
+ "path": "/webhooks/{id}",
2703
+ "summary": "Delete a webhook",
2704
+ "flags": [
2705
+ {
2706
+ "name": "id",
2707
+ "kind": "string",
2708
+ "required": true,
2709
+ "where": "path"
2710
+ }
2711
+ ]
2712
+ },
2713
+ {
2714
+ "group": "webhooks",
2715
+ "name": "deliveries",
2716
+ "operationId": "webhooksDeliveries",
2717
+ "method": "GET",
2718
+ "path": "/deliveries",
2719
+ "summary": "What happened to each event we tried to hand you",
2720
+ "flags": [
2721
+ {
2722
+ "name": "webhook_id",
2723
+ "kind": "string",
2724
+ "required": true,
2725
+ "where": "query"
2726
+ },
2727
+ {
2728
+ "name": "limit",
2729
+ "kind": "number",
2730
+ "required": false,
2731
+ "where": "query"
2732
+ }
2733
+ ]
2734
+ },
2735
+ {
2736
+ "group": "webhooks",
2737
+ "name": "get",
2738
+ "operationId": "webhooksGet",
2739
+ "method": "GET",
2740
+ "path": "/webhooks/{id}",
2741
+ "summary": "Fetch one endpoint",
2742
+ "flags": [
2743
+ {
2744
+ "name": "id",
2745
+ "kind": "string",
2746
+ "required": true,
2747
+ "where": "path"
2748
+ }
2749
+ ]
2750
+ },
2751
+ {
2752
+ "group": "webhooks",
2753
+ "name": "getHeaders",
2754
+ "operationId": "webhooksGetHeaders",
2755
+ "method": "GET",
2756
+ "path": "/webhooks/{id}/headers",
2757
+ "summary": "The headers this endpoint carries",
2758
+ "flags": [
2759
+ {
2760
+ "name": "id",
2761
+ "kind": "string",
2762
+ "required": true,
2763
+ "where": "path"
2764
+ }
2765
+ ]
2766
+ },
2767
+ {
2768
+ "group": "webhooks",
2769
+ "name": "list",
2770
+ "operationId": "webhooksList",
2771
+ "method": "GET",
2772
+ "path": "/webhooks",
2773
+ "summary": "List webhooks",
2774
+ "flags": [
2775
+ {
2776
+ "name": "limit",
2777
+ "kind": "number",
2778
+ "required": false,
2779
+ "where": "query"
2780
+ },
2781
+ {
2782
+ "name": "cursor",
2783
+ "kind": "string",
2784
+ "required": false,
2785
+ "where": "query",
2786
+ "describe": "From a previous page\u2019s `next_cursor`. Opaque \u2014 do not parse it."
2787
+ }
2788
+ ]
2789
+ },
2790
+ {
2791
+ "group": "webhooks",
2792
+ "name": "replay",
2793
+ "operationId": "webhooksReplay",
2794
+ "method": "POST",
2795
+ "path": "/deliveries/{id}/replay",
2796
+ "summary": "Send it again",
2797
+ "flags": [
2798
+ {
2799
+ "name": "id",
2800
+ "kind": "string",
2801
+ "required": true,
2802
+ "where": "path"
2803
+ }
2804
+ ]
2805
+ },
2806
+ {
2807
+ "group": "webhooks",
2808
+ "name": "update",
2809
+ "operationId": "webhooksUpdate",
2810
+ "method": "PATCH",
2811
+ "path": "/webhooks/{id}",
2812
+ "summary": "Turn an endpoint off, or back on",
2813
+ "flags": [
2814
+ {
2815
+ "name": "id",
2816
+ "kind": "string",
2817
+ "required": true,
2818
+ "where": "path"
2819
+ },
2820
+ {
2821
+ "name": "status",
2822
+ "kind": "string",
2823
+ "choices": [
2824
+ "active",
2825
+ "disabled"
2826
+ ],
2827
+ "required": true,
2828
+ "where": "body"
2829
+ }
2830
+ ]
2831
+ },
2832
+ {
2833
+ "group": "webhooks",
2834
+ "name": "updateHeaders",
2835
+ "operationId": "webhooksUpdateHeaders",
2836
+ "method": "PUT",
2837
+ "path": "/webhooks/{id}/headers",
2838
+ "summary": "Replace the headers this endpoint carries",
2839
+ "flags": [
2840
+ {
2841
+ "name": "id",
2842
+ "kind": "string",
2843
+ "required": true,
2844
+ "where": "path"
2845
+ },
2846
+ {
2847
+ "name": "headers",
2848
+ "kind": "json",
2849
+ "required": false,
2850
+ "where": "body"
2851
+ }
2852
+ ]
2853
+ },
2854
+ {
2855
+ "group": "workspace",
2856
+ "name": "get",
2857
+ "operationId": "workspaceGet",
2858
+ "method": "GET",
2859
+ "path": "/workspace",
2860
+ "summary": "Which account this key is for",
2861
+ "flags": []
2862
+ },
2863
+ {
2864
+ "group": "workspace",
2865
+ "name": "members",
2866
+ "operationId": "workspaceMembers",
2867
+ "method": "GET",
2868
+ "path": "/workspace/members",
2869
+ "summary": "List the people in this workspace",
2870
+ "flags": []
2871
+ }
2872
+ ];
2873
+
2874
+ export {
2875
+ __export,
2876
+ COMMANDS
2877
+ };
2878
+ //# sourceMappingURL=chunk-75GJTRBD.js.map