@leaflow/sdk 0.0.0-dev.101.g01ce843

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 (48) hide show
  1. package/README.md +34 -0
  2. package/dist/account/v1/index.d.ts +54 -0
  3. package/dist/account/v1/index.js +5 -0
  4. package/dist/account/v1/schema.d.ts +1157 -0
  5. package/dist/account/v1/schema.js +5 -0
  6. package/dist/assistant/v1/index.d.ts +108 -0
  7. package/dist/assistant/v1/index.js +5 -0
  8. package/dist/assistant/v1/schema.d.ts +2840 -0
  9. package/dist/assistant/v1/schema.js +5 -0
  10. package/dist/billing/v1/index.d.ts +74 -0
  11. package/dist/billing/v1/index.js +5 -0
  12. package/dist/billing/v1/schema.d.ts +2445 -0
  13. package/dist/billing/v1/schema.js +5 -0
  14. package/dist/canopy/v1/index.d.ts +48 -0
  15. package/dist/canopy/v1/index.js +5 -0
  16. package/dist/canopy/v1/schema.d.ts +1100 -0
  17. package/dist/canopy/v1/schema.js +5 -0
  18. package/dist/compute/v1/index.d.ts +246 -0
  19. package/dist/compute/v1/index.js +5 -0
  20. package/dist/compute/v1/schema.d.ts +4924 -0
  21. package/dist/compute/v1/schema.js +5 -0
  22. package/dist/dns/v1/index.d.ts +42 -0
  23. package/dist/dns/v1/index.js +5 -0
  24. package/dist/dns/v1/schema.d.ts +883 -0
  25. package/dist/dns/v1/schema.js +5 -0
  26. package/dist/iam/v1/index.d.ts +84 -0
  27. package/dist/iam/v1/index.js +5 -0
  28. package/dist/iam/v1/schema.d.ts +1658 -0
  29. package/dist/iam/v1/schema.js +5 -0
  30. package/dist/index.d.ts +11 -0
  31. package/dist/index.js +6 -0
  32. package/dist/monitoring/v1/index.d.ts +176 -0
  33. package/dist/monitoring/v1/index.js +5 -0
  34. package/dist/monitoring/v1/schema.d.ts +4181 -0
  35. package/dist/monitoring/v1/schema.js +5 -0
  36. package/dist/notification/v1/index.d.ts +76 -0
  37. package/dist/notification/v1/index.js +5 -0
  38. package/dist/notification/v1/schema.d.ts +2038 -0
  39. package/dist/notification/v1/schema.js +5 -0
  40. package/dist/support/v1/index.d.ts +50 -0
  41. package/dist/support/v1/index.js +5 -0
  42. package/dist/support/v1/schema.d.ts +1078 -0
  43. package/dist/support/v1/schema.js +5 -0
  44. package/dist/tunnel/v1/index.d.ts +16 -0
  45. package/dist/tunnel/v1/index.js +5 -0
  46. package/dist/tunnel/v1/schema.d.ts +401 -0
  47. package/dist/tunnel/v1/schema.js +5 -0
  48. package/package.json +74 -0
@@ -0,0 +1,2038 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/api/v1/notifications": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /**
14
+ * List notifications addressed to you
15
+ * @description Returns notifications in reverse chronological order, newest first.
16
+ *
17
+ * Announcements are not in this list. They are one row for the whole platform rather than
18
+ * one per reader, so they are listed, read and counted by their own operations under
19
+ * `/api/v1/announcements`. `kind` is on every item here for clients that merge the two lists
20
+ * themselves, and it is `notification` for everything this operation returns.
21
+ */
22
+ get: operations["list-notifications"];
23
+ put?: never;
24
+ post?: never;
25
+ delete?: never;
26
+ options?: never;
27
+ head?: never;
28
+ patch?: never;
29
+ trace?: never;
30
+ };
31
+ "/api/v1/notifications/read": {
32
+ parameters: {
33
+ query?: never;
34
+ header?: never;
35
+ path?: never;
36
+ cookie?: never;
37
+ };
38
+ get?: never;
39
+ put?: never;
40
+ /**
41
+ * Mark several notifications as read
42
+ * @description Marks every listed notification as read. Notifications already read are left alone, and the
43
+ * operation succeeds whether or not any of them changed.
44
+ *
45
+ * Passing an empty list marks everything currently unread as read.
46
+ */
47
+ post: operations["mark-notifications-read"];
48
+ delete?: never;
49
+ options?: never;
50
+ head?: never;
51
+ patch?: never;
52
+ trace?: never;
53
+ };
54
+ "/api/v1/notifications/unread-count": {
55
+ parameters: {
56
+ query?: never;
57
+ header?: never;
58
+ path?: never;
59
+ cookie?: never;
60
+ };
61
+ /**
62
+ * Count unread notifications
63
+ * @description Returns the number of unread notifications. This is the value behind the badge in the
64
+ * console, and it is also carried on every realtime event, so it does not normally need to be
65
+ * requested on its own.
66
+ */
67
+ get: operations["count-unread-notifications"];
68
+ put?: never;
69
+ post?: never;
70
+ delete?: never;
71
+ options?: never;
72
+ head?: never;
73
+ patch?: never;
74
+ trace?: never;
75
+ };
76
+ "/api/v1/notifications/{notificationId}": {
77
+ parameters: {
78
+ query?: never;
79
+ header?: never;
80
+ path?: never;
81
+ cookie?: never;
82
+ };
83
+ /**
84
+ * Get one notification
85
+ * @description A notification addressed to someone else returns `NOTIFICATION_NOT_FOUND`, the same answer
86
+ * as one that does not exist.
87
+ */
88
+ get: operations["get-notification"];
89
+ put?: never;
90
+ post?: never;
91
+ delete?: never;
92
+ options?: never;
93
+ head?: never;
94
+ patch?: never;
95
+ trace?: never;
96
+ };
97
+ "/api/v1/notifications/{notificationId}/read": {
98
+ parameters: {
99
+ query?: never;
100
+ header?: never;
101
+ path?: never;
102
+ cookie?: never;
103
+ };
104
+ get?: never;
105
+ put?: never;
106
+ /**
107
+ * Mark one notification as read
108
+ * @description Marking a notification that is already read succeeds and changes nothing.
109
+ */
110
+ post: operations["mark-notification-read"];
111
+ /**
112
+ * Mark one notification as unread
113
+ * @description Puts it back in the unread count, which is what somebody wants after opening a thing by
114
+ * accident and needing it to stay in front of them.
115
+ *
116
+ * Marking one that is already unread succeeds and changes nothing.
117
+ */
118
+ delete: operations["mark-notification-unread"];
119
+ options?: never;
120
+ head?: never;
121
+ patch?: never;
122
+ trace?: never;
123
+ };
124
+ "/api/v1/notifications/{notificationId}/archive": {
125
+ parameters: {
126
+ query?: never;
127
+ header?: never;
128
+ path?: never;
129
+ cookie?: never;
130
+ };
131
+ get?: never;
132
+ put?: never;
133
+ /**
134
+ * Archive one notification
135
+ * @description Archiving removes a notification from the default listing without deleting it; pass
136
+ * `include_archived` to see it again. Archiving also marks it read.
137
+ */
138
+ post: operations["archive-notification"];
139
+ /**
140
+ * Take one notification out of the archive
141
+ * @description Returns it to the default listing. Archiving is one click away from anything in the list,
142
+ * so undoing it has to be too; without this operation a mistaken archive is permanent, and
143
+ * the notification stays reachable only by asking for archived ones.
144
+ *
145
+ * It does not mark it unread again: archiving marked it read, and that it was read is still
146
+ * true. Use `mark-notification-unread` for that.
147
+ *
148
+ * Unarchiving one that is not archived succeeds and changes nothing.
149
+ */
150
+ delete: operations["unarchive-notification"];
151
+ options?: never;
152
+ head?: never;
153
+ patch?: never;
154
+ trace?: never;
155
+ };
156
+ "/api/v1/announcements": {
157
+ parameters: {
158
+ query?: never;
159
+ header?: never;
160
+ path?: never;
161
+ cookie?: never;
162
+ };
163
+ /**
164
+ * List platform announcements
165
+ * @description Announcements the platform published for everyone, filtered to the ones you can still see:
166
+ * published, not expired, and targeted at you.
167
+ *
168
+ * They are not part of `GET /api/v1/notifications`. A notification is addressed to you and has
169
+ * a row per recipient; an announcement is one row for the whole platform and never fans out —
170
+ * a hundred thousand users would be a hundred thousand rows, and almost none of them would
171
+ * ever be read. Whether you have read one is recorded separately, so unread means "no such
172
+ * record" rather than "a record with a null timestamp".
173
+ *
174
+ * The list is short by design: expired announcements drop out of it. There is no paging.
175
+ *
176
+ * Text comes back in the language on your preferences. An announcement that has no text in
177
+ * that language falls back to the platform default — a readable announcement in the wrong
178
+ * language beats a blank title.
179
+ */
180
+ get: operations["list-announcements"];
181
+ put?: never;
182
+ post?: never;
183
+ delete?: never;
184
+ options?: never;
185
+ head?: never;
186
+ patch?: never;
187
+ trace?: never;
188
+ };
189
+ "/api/v1/announcements/read": {
190
+ parameters: {
191
+ query?: never;
192
+ header?: never;
193
+ path?: never;
194
+ cookie?: never;
195
+ };
196
+ get?: never;
197
+ put?: never;
198
+ /**
199
+ * Mark every visible announcement as read
200
+ * @description Idempotent. Announcements you had already read stay read, and the count only covers the ones this call changed.
201
+ */
202
+ post: operations["read-all-announcements"];
203
+ delete?: never;
204
+ options?: never;
205
+ head?: never;
206
+ patch?: never;
207
+ trace?: never;
208
+ };
209
+ "/api/v1/announcements/{announcementId}/read": {
210
+ parameters: {
211
+ query?: never;
212
+ header?: never;
213
+ path?: never;
214
+ cookie?: never;
215
+ };
216
+ get?: never;
217
+ put?: never;
218
+ /**
219
+ * Mark one announcement as read
220
+ * @description Idempotent: marking one twice is the same as marking it once. There is no way to mark it
221
+ * unread — having read something is a fact, not a state.
222
+ */
223
+ post: operations["read-announcement"];
224
+ delete?: never;
225
+ options?: never;
226
+ head?: never;
227
+ patch?: never;
228
+ trace?: never;
229
+ };
230
+ "/api/v1/notification-types": {
231
+ parameters: {
232
+ query?: never;
233
+ header?: never;
234
+ path?: never;
235
+ cookie?: never;
236
+ };
237
+ /**
238
+ * List every notification type
239
+ * @description The catalogue of everything this platform can notify about, with the default delivery for
240
+ * each type and whether it can be configured. It is the source for a settings interface.
241
+ *
242
+ * This operation does not require authentication: the catalogue is the same for everyone and
243
+ * describes the product rather than any account.
244
+ */
245
+ get: operations["list-notification-types"];
246
+ put?: never;
247
+ post?: never;
248
+ delete?: never;
249
+ options?: never;
250
+ head?: never;
251
+ patch?: never;
252
+ trace?: never;
253
+ };
254
+ "/api/v1/preferences": {
255
+ parameters: {
256
+ query?: never;
257
+ header?: never;
258
+ path?: never;
259
+ cookie?: never;
260
+ };
261
+ /**
262
+ * Get your delivery preferences
263
+ * @description Returns the account-wide settings: the language notifications are written in, the time zone
264
+ * times are stated in, and the address email is delivered to.
265
+ *
266
+ * A person who has never configured anything receives the defaults rather than an error.
267
+ */
268
+ get: operations["get-notification-preferences"];
269
+ put?: never;
270
+ post?: never;
271
+ delete?: never;
272
+ options?: never;
273
+ head?: never;
274
+ /**
275
+ * Update your delivery preferences
276
+ * @description Fields that are omitted are left alone.
277
+ *
278
+ * Setting `email_override` records it as the pending address; nothing is sent to it until
279
+ * `send-email-override-code` is called, and email keeps going where it went before. Setting
280
+ * it to null clears the pending address and any address in use, returning delivery to the
281
+ * account address.
282
+ *
283
+ * An address is never used until somebody proves they can read it. Without that, anybody
284
+ * could point their own notifications at a stranger's mailbox, and the stranger would get
285
+ * mail about an account they have never heard of.
286
+ */
287
+ patch: operations["update-notification-preferences"];
288
+ trace?: never;
289
+ };
290
+ "/api/v1/preferences/email-override/code": {
291
+ parameters: {
292
+ query?: never;
293
+ header?: never;
294
+ path?: never;
295
+ cookie?: never;
296
+ };
297
+ get?: never;
298
+ put?: never;
299
+ /**
300
+ * Send a code to the pending address
301
+ * @description Emails a short code to the address waiting to be confirmed. That address receives this and
302
+ * nothing else; every other notification keeps going where it went before.
303
+ *
304
+ * The code stops working after a few minutes, and a wrong one can only be tried a handful of
305
+ * times before it is thrown away and a new one has to be sent. Both limits exist for the same
306
+ * reason: a six digit code is guessable if it lives forever and can be tried forever.
307
+ *
308
+ * Sending is rate limited per account and per destination address. The second limit is the one
309
+ * that matters to somebody who never asked to be involved: without it, this operation is a way
310
+ * to make the platform mail a stranger repeatedly.
311
+ */
312
+ post: operations["send-email-override-code"];
313
+ /**
314
+ * Give up on the pending address
315
+ * @description Drops the pending address and the code that was sent to it. Nothing else changes: an address
316
+ * that was already confirmed keeps receiving email.
317
+ *
318
+ * It exists because starting this and then changing your mind is ordinary, and the alternative
319
+ * is a settings page that shows an address waiting to be confirmed forever.
320
+ */
321
+ delete: operations["cancel-email-override"];
322
+ options?: never;
323
+ head?: never;
324
+ patch?: never;
325
+ trace?: never;
326
+ };
327
+ "/api/v1/preferences/email-override/code/confirm": {
328
+ parameters: {
329
+ query?: never;
330
+ header?: never;
331
+ path?: never;
332
+ cookie?: never;
333
+ };
334
+ get?: never;
335
+ put?: never;
336
+ /**
337
+ * Confirm the pending address with its code
338
+ * @description A correct code moves the pending address into use: email starts going there instead of the
339
+ * account address, and the pending slot is emptied.
340
+ *
341
+ * A wrong code counts against the attempts on that code. Running out of attempts throws the
342
+ * code away, and a new one has to be sent; the pending address itself is kept, so nobody
343
+ * loses their place by mistyping.
344
+ */
345
+ post: operations["confirm-email-override"];
346
+ delete?: never;
347
+ options?: never;
348
+ head?: never;
349
+ patch?: never;
350
+ trace?: never;
351
+ };
352
+ "/api/v1/preferences/types": {
353
+ parameters: {
354
+ query?: never;
355
+ header?: never;
356
+ path?: never;
357
+ cookie?: never;
358
+ };
359
+ /**
360
+ * List your per-type preferences
361
+ * @description Returns one entry per notification type, whether or not it has been configured. Entries
362
+ * that have never been configured are reported with `inherited: true` and carry the defaults
363
+ * from the catalogue.
364
+ *
365
+ * A preference applies either to one project or to every project. Both are returned; the one
366
+ * naming a project takes precedence for that project.
367
+ */
368
+ get: operations["list-type-preferences"];
369
+ put?: never;
370
+ post?: never;
371
+ delete?: never;
372
+ options?: never;
373
+ head?: never;
374
+ patch?: never;
375
+ trace?: never;
376
+ };
377
+ "/api/v1/preferences/types/{type}": {
378
+ parameters: {
379
+ query?: never;
380
+ header?: never;
381
+ path?: never;
382
+ cookie?: never;
383
+ };
384
+ get?: never;
385
+ /**
386
+ * Set the preference for one type
387
+ * @description States how this type should be delivered, replacing whatever was configured before.
388
+ *
389
+ * Omitting `project_id` configures every project. Naming one configures that project alone
390
+ * and takes precedence there.
391
+ *
392
+ * On a type marked `mandatory`, setting `muted` or omitting `email` from `channels` returns
393
+ * `NOTIFICATION_TYPE_MANDATORY`. Everything else about such a type is configurable, including
394
+ * adding channels and raising `min_severity`.
395
+ *
396
+ * Naming a channel the type does not support returns `NOTIFICATION_CHANNEL_UNSUPPORTED`.
397
+ * `inbox` is accepted but has no effect: every notification is in the inbox regardless.
398
+ */
399
+ put: operations["update-type-preference"];
400
+ post?: never;
401
+ /**
402
+ * Restore the default for one type
403
+ * @description Removes the configured preference so the type follows the default in the catalogue again.
404
+ *
405
+ * **This does not stop the type from being delivered.** To stop receiving it, set `muted`
406
+ * instead. Deleting a preference that was never configured succeeds and changes nothing.
407
+ */
408
+ delete: operations["delete-type-preference"];
409
+ options?: never;
410
+ head?: never;
411
+ patch?: never;
412
+ trace?: never;
413
+ };
414
+ "/api/v1/channels": {
415
+ parameters: {
416
+ query?: never;
417
+ header?: never;
418
+ path?: never;
419
+ cookie?: never;
420
+ };
421
+ /**
422
+ * List outbound channels
423
+ * @description Returns the channels you have registered, and the channels registered for the project in
424
+ * the token. The address of each is not included.
425
+ */
426
+ get: operations["list-user-channels"];
427
+ put?: never;
428
+ /**
429
+ * Register an outbound channel
430
+ * @description Registering a channel does not contact it and does not make it deliver anything: a new
431
+ * channel is unverified, and unverified channels are skipped. Call verify to send it one
432
+ * message and make it usable.
433
+ *
434
+ * A `project` channel is shared with everyone in the project and requires
435
+ * `notification:channels.manage`. A `user` channel is yours alone.
436
+ *
437
+ * The endpoint must be reachable over the public internet. Addresses that resolve to private
438
+ * or link-local ranges are rejected with `CHANNEL_ENDPOINT_NOT_PUBLIC`, both here and again
439
+ * at delivery time. Registering an endpoint already registered in the same scope returns
440
+ * `CHANNEL_DUPLICATE`.
441
+ *
442
+ * The submitted endpoint is not returned by this or any other operation.
443
+ */
444
+ post: operations["create-user-channel"];
445
+ delete?: never;
446
+ options?: never;
447
+ head?: never;
448
+ patch?: never;
449
+ trace?: never;
450
+ };
451
+ "/api/v1/channels/{channelId}": {
452
+ parameters: {
453
+ query?: never;
454
+ header?: never;
455
+ path?: never;
456
+ cookie?: never;
457
+ };
458
+ get?: never;
459
+ put?: never;
460
+ post?: never;
461
+ /**
462
+ * Delete an outbound channel
463
+ * @description Deleting a channel stops delivery to it and destroys the stored endpoint. Deliveries
464
+ * already queued for it are abandoned.
465
+ */
466
+ delete: operations["delete-user-channel"];
467
+ options?: never;
468
+ head?: never;
469
+ /**
470
+ * Rename or re-enable an outbound channel
471
+ * @description Fields that are omitted are left alone.
472
+ *
473
+ * A channel disabled after repeated failures is re-enabled by setting `enabled` to true,
474
+ * which also clears the failure count. It remains verified, so it starts delivering again
475
+ * immediately — verify it first if the cause of the failures is not known to be resolved.
476
+ *
477
+ * Changing the endpoint is not possible; register a new channel and delete this one.
478
+ */
479
+ patch: operations["update-user-channel"];
480
+ trace?: never;
481
+ };
482
+ "/api/v1/channels/{channelId}/verify": {
483
+ parameters: {
484
+ query?: never;
485
+ header?: never;
486
+ path?: never;
487
+ cookie?: never;
488
+ };
489
+ get?: never;
490
+ put?: never;
491
+ /**
492
+ * Verify an outbound channel
493
+ * @description Sends one message to the channel and marks it verified if the endpoint accepted it.
494
+ *
495
+ * **The endpoint accepting the message is not proof that it arrived where it was meant to.**
496
+ * A webhook URL belonging to the wrong group answers exactly the same way. Confirm the
497
+ * message appeared before relying on the channel.
498
+ *
499
+ * A channel that fails verification is not marked verified and continues to be skipped. The
500
+ * reason is reported in `last_error`; it is the provider's own wording and is not translated.
501
+ */
502
+ post: operations["verify-user-channel"];
503
+ delete?: never;
504
+ options?: never;
505
+ head?: never;
506
+ patch?: never;
507
+ trace?: never;
508
+ };
509
+ "/api/v1/credentials/{ticketId}": {
510
+ parameters: {
511
+ query?: never;
512
+ header?: never;
513
+ path?: never;
514
+ cookie?: never;
515
+ };
516
+ /**
517
+ * Describe a one-time credential
518
+ * @description Reports whether the credential is still available without consuming it. It never contains
519
+ * the credential itself.
520
+ *
521
+ * A ticket addressed to someone else returns `CREDENTIAL_TICKET_NOT_FOUND`, the same answer
522
+ * as one that does not exist.
523
+ */
524
+ get: operations["describe-credential-ticket"];
525
+ put?: never;
526
+ post?: never;
527
+ delete?: never;
528
+ options?: never;
529
+ head?: never;
530
+ patch?: never;
531
+ trace?: never;
532
+ };
533
+ "/api/v1/credentials/{ticketId}/reveal": {
534
+ parameters: {
535
+ query?: never;
536
+ header?: never;
537
+ path?: never;
538
+ cookie?: never;
539
+ };
540
+ get?: never;
541
+ put?: never;
542
+ /**
543
+ * Reveal a one-time credential
544
+ * @description Returns the credential and destroys it in the same step. **This is the only operation that
545
+ * ever returns it, and it succeeds only once.**
546
+ *
547
+ * Every subsequent request returns `CREDENTIAL_TICKET_CONSUMED`, including one issued
548
+ * concurrently with the first: exactly one caller receives the credential.
549
+ *
550
+ * A ticket that has expired returns `CREDENTIAL_TICKET_EXPIRED`, and one withdrawn by the
551
+ * service that created it returns `CREDENTIAL_TICKET_REVOKED`. In all three cases the
552
+ * credential is already gone and cannot be recovered; obtain a new one from the service that
553
+ * owns the resource.
554
+ *
555
+ * This operation is a POST rather than a GET because a GET would be followed by link
556
+ * scanners in mail clients and by browser prefetching, either of which would consume the
557
+ * credential before the recipient opened it.
558
+ */
559
+ post: operations["reveal-credential"];
560
+ delete?: never;
561
+ options?: never;
562
+ head?: never;
563
+ patch?: never;
564
+ trace?: never;
565
+ };
566
+ "/api/v1/realtime": {
567
+ parameters: {
568
+ query?: never;
569
+ header?: never;
570
+ path?: never;
571
+ cookie?: never;
572
+ };
573
+ /**
574
+ * Describe the realtime connection
575
+ * @description Returns everything needed to open a realtime connection, and the names of the channels to
576
+ * subscribe to. The parameters are not constants: they differ between environments, so they
577
+ * must be requested rather than compiled in.
578
+ *
579
+ * Realtime delivery is an optimisation. Everything it announces is also readable through the
580
+ * listing operations, so a client that cannot connect stays correct by polling or by
581
+ * refreshing.
582
+ */
583
+ get: operations["describe-realtime-connection"];
584
+ put?: never;
585
+ post?: never;
586
+ delete?: never;
587
+ options?: never;
588
+ head?: never;
589
+ patch?: never;
590
+ trace?: never;
591
+ };
592
+ "/api/v1/realtime/auth": {
593
+ parameters: {
594
+ query?: never;
595
+ header?: never;
596
+ path?: never;
597
+ cookie?: never;
598
+ };
599
+ get?: never;
600
+ put?: never;
601
+ /**
602
+ * Authorize a realtime channel subscription
603
+ * @description Authorizes one subscription. Realtime clients call this on their own while subscribing; it
604
+ * is not normally called directly.
605
+ *
606
+ * Only two channels are authorized: the one naming you, and the one naming the project in
607
+ * the token. Any other channel returns `REALTIME_CHANNEL_FORBIDDEN`.
608
+ *
609
+ * **Authorization is evaluated once, when the subscription is established.** A subscription
610
+ * already open is not revoked when project membership changes, so realtime events carry
611
+ * identifiers and counts only, never the contents of a notification.
612
+ */
613
+ post: operations["authorize-realtime-channel"];
614
+ delete?: never;
615
+ options?: never;
616
+ head?: never;
617
+ patch?: never;
618
+ trace?: never;
619
+ };
620
+ }
621
+ export type webhooks = Record<string, never>;
622
+ export interface components {
623
+ schemas: {
624
+ Error: {
625
+ code?: string;
626
+ message: string;
627
+ meta?: {
628
+ [key: string]: unknown;
629
+ };
630
+ /** Format: int64 */
631
+ status: number;
632
+ };
633
+ /**
634
+ * @description `all` covers every project you belong to as well as notifications that belong to no
635
+ * project. `current_project` covers only the project in the token.
636
+ * @enum {string}
637
+ */
638
+ NotificationScope: "all" | "current_project";
639
+ /**
640
+ * @description How much attention a notification asks for. It is assigned by the type and by the event,
641
+ * not by the recipient.
642
+ *
643
+ * `critical` announces something that is either irreversible or actively costing the
644
+ * recipient something.
645
+ * @enum {string}
646
+ */
647
+ NotificationSeverity: "info" | "warning" | "error" | "critical";
648
+ /**
649
+ * @description `notification` is addressed to you. `announcement` was published to the whole platform and
650
+ * appears in everyone's inbox.
651
+ * @enum {string}
652
+ */
653
+ NotificationKind: "notification" | "announcement";
654
+ /**
655
+ * @description Where a notification is delivered.
656
+ *
657
+ * `inbox` is this API. `email` is the address on your preferences. `webhook` covers every
658
+ * outbound channel you have registered — the message is shaped for each one.
659
+ * @enum {string}
660
+ */
661
+ NotificationChannel: "inbox" | "email" | "webhook";
662
+ /**
663
+ * @description `user` is yours alone. `project` is shared with everyone in the project and requires
664
+ * `notification:channels.manage` to register or delete.
665
+ * @enum {string}
666
+ */
667
+ ChannelScope: "user" | "project";
668
+ /**
669
+ * @description The kind of endpoint, which determines both how the message is shaped and what the
670
+ * endpoint is.
671
+ *
672
+ * `lark_webhook` and `wecom_webhook` are group robot webhook URLs and receive a card.
673
+ * `bark` is a Bark server URL including the device key and receives a short line of text.
674
+ * `generic_webhook` receives a JSON document and is the option for anything else.
675
+ * @enum {string}
676
+ */
677
+ ChannelKind: "lark_webhook" | "wecom_webhook" | "bark" | "generic_webhook";
678
+ /**
679
+ * @description Who a type is addressed to. It is a property of the type, so it is the same for every
680
+ * occurrence.
681
+ *
682
+ * `explicit` is whoever the reporting service names, usually the person who asked for the
683
+ * action. `account` is one person, independently of any project. `address` is an email
684
+ * address belonging to someone who may not have an account yet. `broadcast` is everyone.
685
+ * @enum {string}
686
+ */
687
+ NotificationAudience: "explicit" | "account" | "address" | "project_members" | "project_owner" | "project_admins" | "broadcast";
688
+ /** @description One announcement, with its text in the language on your preferences. */
689
+ AnnouncementResource: {
690
+ /** Format: uuid */
691
+ id: string;
692
+ title: string;
693
+ /** @description The text as a fragment of HTML, same rules as a notification body */
694
+ body: string;
695
+ severity: components["schemas"]["NotificationSeverity"];
696
+ /** @description You cannot dismiss this one. It is a property of the announcement rather than a second type, because what the operator judges when writing it is "is this important enough to push", and that is the question this asks. */
697
+ critical: boolean;
698
+ /** Format: date-time */
699
+ published_at: string;
700
+ /**
701
+ * Format: date-time
702
+ * @description When it drops out of this list; null means it stays
703
+ */
704
+ expires_at?: string | null;
705
+ /**
706
+ * Format: date-time
707
+ * @description When you read it; null means you have not
708
+ */
709
+ read_at?: string | null;
710
+ };
711
+ AnnouncementListResource: {
712
+ items: components["schemas"]["AnnouncementResource"][];
713
+ /** @description How many of them you have not read */
714
+ unread: number;
715
+ };
716
+ AnnouncementReadResultResource: {
717
+ /** @description How many this call changed; already-read ones are not counted */
718
+ marked: number;
719
+ };
720
+ /**
721
+ * @description One notification, with its text rendered in the language on your preferences at the moment
722
+ * it was read.
723
+ */
724
+ NotificationResource: {
725
+ /**
726
+ * Format: date-time
727
+ * @description When you archived it; null if you did not
728
+ */
729
+ archived_at: string | null;
730
+ /** @description The text, as a fragment of HTML. Contains formatting and links, no scripts and no styles */
731
+ body: string;
732
+ /** @description The same text without markup, for clients that cannot render HTML */
733
+ body_text: string;
734
+ /** Format: date-time */
735
+ created_at: string;
736
+ /** Format: uuid */
737
+ id: string;
738
+ kind: components["schemas"]["NotificationKind"];
739
+ /** @description The language this text was rendered in */
740
+ locale: string;
741
+ /**
742
+ * Format: date-time
743
+ * @description When the event itself happened, which precedes created_at
744
+ */
745
+ occurred_at: string;
746
+ /**
747
+ * @description The facts the text was rendered from, for clients that want to link to the resource the
748
+ * notification is about. The names are documented per type in the catalogue.
749
+ */
750
+ params: {
751
+ [key: string]: unknown;
752
+ };
753
+ /**
754
+ * Format: uuid
755
+ * @description The project the event belongs to; null for events that belong to no project
756
+ */
757
+ project_id: string | null;
758
+ /**
759
+ * Format: date-time
760
+ * @description When you read it; null if you have not
761
+ */
762
+ read_at: string | null;
763
+ severity: components["schemas"]["NotificationSeverity"];
764
+ /** @description A single line, without markup */
765
+ title: string;
766
+ /** @description The type identifier; empty for announcements, which have no type */
767
+ type: string;
768
+ };
769
+ LengthAwarePageNotificationResource: {
770
+ /** @description The contents of this page */
771
+ items: components["schemas"]["NotificationResource"][];
772
+ /**
773
+ * Format: int64
774
+ * @description Maximum items per page, echoing the value in the request
775
+ */
776
+ limit: number;
777
+ /**
778
+ * Format: int64
779
+ * @description Items skipped, echoing the value in the request
780
+ */
781
+ offset: number;
782
+ /**
783
+ * Format: int64
784
+ * @description Total number of matching items, not only those in this page
785
+ */
786
+ total: number;
787
+ /**
788
+ * Format: int64
789
+ * @description Unread notifications in the same scope, not only in this page
790
+ */
791
+ unread_count: number;
792
+ };
793
+ UnreadCountResource: {
794
+ /** Format: int64 */
795
+ unread_count: number;
796
+ };
797
+ /** @description An empty list marks everything currently unread as read. */
798
+ MarkNotificationsReadRequestBody: {
799
+ notification_ids: string[];
800
+ };
801
+ /** @description One entry in the catalogue of everything the platform can notify about. */
802
+ NotificationTypeDescriptor: {
803
+ audience: components["schemas"]["NotificationAudience"];
804
+ /** @description The channels this type may be delivered on. Configuring any other channel is rejected */
805
+ available_channels: components["schemas"]["NotificationChannel"][];
806
+ /** @description The channels this type is delivered on when nothing has been configured */
807
+ default_channels: components["schemas"]["NotificationChannel"][];
808
+ /**
809
+ * @description True when this type must reach you: it cannot be muted, and email cannot be removed
810
+ * from its channels. Everything else about it is still configurable
811
+ */
812
+ mandatory: boolean;
813
+ /** @description The names of the facts this type carries, as they appear on NotificationResource.params */
814
+ params: string[];
815
+ /** @description The service that reports this type */
816
+ service: string;
817
+ severity: components["schemas"]["NotificationSeverity"];
818
+ type: string;
819
+ };
820
+ NotificationTypeListResponseBody: {
821
+ items: components["schemas"]["NotificationTypeDescriptor"][];
822
+ };
823
+ PreferencesResource: {
824
+ /** @description Where email is delivered right now, which is the account address unless a verified override replaces it */
825
+ email_address: string;
826
+ /**
827
+ * @description The address email goes to instead of the account address; null when the account address
828
+ * is used. Only ever an address that was confirmed by code
829
+ */
830
+ email_override: string | null;
831
+ /**
832
+ * @description An address waiting to be confirmed; null when nothing is waiting. It receives nothing but
833
+ * the code, and the address in `email_override` keeps being used until this one is
834
+ * confirmed
835
+ */
836
+ email_override_pending: string | null;
837
+ /**
838
+ * Format: date-time
839
+ * @description When the code last sent to the pending address stops working; null when no code is
840
+ * outstanding, in which case a new one has to be sent before it can be confirmed
841
+ */
842
+ email_override_pending_expires_at: string | null;
843
+ /**
844
+ * Format: date-time
845
+ * @description When the address in `email_override` was confirmed; null when there is no override
846
+ */
847
+ email_override_verified_at: string | null;
848
+ /** @description The language notifications are written in, as an IETF language tag */
849
+ locale: string;
850
+ };
851
+ /** @description Fields that are omitted are left alone. */
852
+ UpdatePreferencesRequestBody: {
853
+ /**
854
+ * @description An address to receive email instead of the account address. It is stored as pending and
855
+ * receives nothing until it is confirmed by code, so the address in use does not change
856
+ * here. Null clears both the pending address and the one in use, returning delivery to
857
+ * the account address
858
+ */
859
+ email_override?: string | null;
860
+ /** @description An IETF language tag. A language that is not supported is rejected rather than approximated */
861
+ locale?: string;
862
+ };
863
+ /** @description What was sent, and when the next one may be asked for. */
864
+ EmailOverrideCodeResource: {
865
+ /** @description Where the code went. It is the pending address, echoed so a client can show it */
866
+ address: string;
867
+ /**
868
+ * Format: date-time
869
+ * @description When this code stops working
870
+ */
871
+ expires_at: string;
872
+ /**
873
+ * Format: date-time
874
+ * @description The earliest another code may be asked for. Asking sooner is refused rather than
875
+ * silently ignored, so a client can show the wait instead of a failure
876
+ */
877
+ resend_available_at: string;
878
+ };
879
+ ConfirmEmailOverrideRequestBody: {
880
+ /** @description The code from the email, exactly as it appears there */
881
+ code: string;
882
+ };
883
+ TypePreferenceResource: {
884
+ /** @description Where this type is delivered */
885
+ channels: components["schemas"]["NotificationChannel"][];
886
+ /** @description True when nothing has been configured and these are the defaults from the catalogue */
887
+ inherited: boolean;
888
+ /** @description True when this type cannot be muted and email cannot be removed from it */
889
+ mandatory: boolean;
890
+ /**
891
+ * @description Deliver only at or above this severity. Null delivers every severity. It applies to the
892
+ * channels named here and not to the inbox, which always holds everything
893
+ */
894
+ min_severity: components["schemas"]["NotificationSeverity"] | null;
895
+ /** @description True when this type is not delivered anywhere except the inbox */
896
+ muted: boolean;
897
+ /**
898
+ * Format: uuid
899
+ * @description The project this preference applies to; null when it applies to every project
900
+ */
901
+ project_id: string | null;
902
+ type: string;
903
+ };
904
+ TypePreferenceListResponseBody: {
905
+ items: components["schemas"]["TypePreferenceResource"][];
906
+ };
907
+ /** @description States how this type should be delivered, replacing whatever was configured before. */
908
+ UpdateTypePreferenceRequestBody: {
909
+ /**
910
+ * @description Where to deliver this type, beyond the inbox. An empty list delivers to the inbox only.
911
+ * `inbox` may be listed and is accepted, but has no effect: every notification is in the
912
+ * inbox whatever this says
913
+ */
914
+ channels: components["schemas"]["NotificationChannel"][];
915
+ /** @description Deliver only at or above this severity. Null delivers every severity */
916
+ min_severity?: components["schemas"]["NotificationSeverity"] | null;
917
+ /**
918
+ * @description Stop delivering this type anywhere except the inbox
919
+ * @default false
920
+ */
921
+ muted?: boolean;
922
+ };
923
+ /** @description A registered outbound channel. The endpoint itself is never included. */
924
+ ChannelResource: {
925
+ channel_scope: components["schemas"]["ChannelScope"];
926
+ /**
927
+ * Format: int64
928
+ * @description Deliveries that have failed in a row. Reset by a success, and by re-enabling the channel
929
+ */
930
+ consecutive_failures: number;
931
+ /** Format: date-time */
932
+ created_at: string;
933
+ /**
934
+ * Format: date-time
935
+ * @description When the channel was disabled after repeated failures; null if it is enabled
936
+ */
937
+ disabled_at: string | null;
938
+ /** @description Why it was disabled; null if it is enabled */
939
+ disabled_reason: string | null;
940
+ /** Format: uuid */
941
+ id: string;
942
+ kind: components["schemas"]["ChannelKind"];
943
+ /** @description Why the most recent attempt failed, in the endpoint's own wording; null if the most recent attempt succeeded */
944
+ last_error: string | null;
945
+ /** Format: date-time */
946
+ last_failure_at: string | null;
947
+ /** Format: date-time */
948
+ last_success_at: string | null;
949
+ name: string;
950
+ /**
951
+ * Format: uuid
952
+ * @description The project this channel is shared with; null for a channel of scope user
953
+ */
954
+ project_id: string | null;
955
+ /** @description A partially masked fragment of the endpoint, for visual identification only */
956
+ redacted: string;
957
+ /** Format: date-time */
958
+ updated_at: string;
959
+ /**
960
+ * Format: date-time
961
+ * @description When the endpoint last acknowledged a verification message; null while it never has, during which the channel is skipped
962
+ */
963
+ verified_at: string | null;
964
+ };
965
+ ChannelListResponseBody: {
966
+ items: components["schemas"]["ChannelResource"][];
967
+ };
968
+ CreateChannelRequestBody: {
969
+ channel_scope: components["schemas"]["ChannelScope"];
970
+ /**
971
+ * @description The address messages are sent to. It must be an https URL reachable over the public
972
+ * internet.
973
+ *
974
+ * For `lark_webhook` and `wecom_webhook` this is the group robot webhook URL. For `bark`
975
+ * it is the push URL including the device key, such as
976
+ * `https://api.day.app/your-device-key`. For `generic_webhook` it is any endpoint
977
+ * accepting a JSON POST.
978
+ */
979
+ endpoint: string;
980
+ kind: components["schemas"]["ChannelKind"];
981
+ /** @description A display name for this channel */
982
+ name: string;
983
+ /**
984
+ * @description The signing secret, where the endpoint has one. It is required for a Lark group robot
985
+ * configured with signature verification, and optional for `generic_webhook`, where it
986
+ * signs the request so the receiver can confirm the message came from this platform.
987
+ *
988
+ * It is not returned by any operation.
989
+ */
990
+ secret?: string;
991
+ };
992
+ /** @description Fields that are omitted are left alone. */
993
+ UpdateChannelRequestBody: {
994
+ /** @description Set true to re-enable a channel that was disabled after repeated failures, clearing the failure count */
995
+ enabled?: boolean;
996
+ name?: string;
997
+ };
998
+ /**
999
+ * @description What the credential belongs to.
1000
+ * @enum {string}
1001
+ */
1002
+ CredentialSubjectKind: "compute_instance";
1003
+ /** @description A one-time credential, described without being consumed. */
1004
+ CredentialTicketResource: {
1005
+ /**
1006
+ * @description True when the credential can still be revealed. False once it has been revealed, has
1007
+ * expired, or was withdrawn — in all three cases it is already destroyed
1008
+ */
1009
+ available: boolean;
1010
+ /**
1011
+ * Format: date-time
1012
+ * @description After this moment the credential is destroyed whether or not it was read
1013
+ */
1014
+ expires_at: string;
1015
+ /** Format: uuid */
1016
+ id: string;
1017
+ /**
1018
+ * Format: date-time
1019
+ * @description When it was revealed; null if it has not been
1020
+ */
1021
+ revealed_at: string | null;
1022
+ /**
1023
+ * Format: date-time
1024
+ * @description When the service that issued it withdrew it; null if it did not
1025
+ */
1026
+ revoked_at: string | null;
1027
+ /** @description The resource the credential belongs to */
1028
+ subject_id: string;
1029
+ subject_kind: components["schemas"]["CredentialSubjectKind"];
1030
+ };
1031
+ /**
1032
+ * @description The credential itself. This shape is returned by exactly one operation, and that operation
1033
+ * succeeds at most once per ticket.
1034
+ */
1035
+ RevealedCredentialResource: {
1036
+ /** Format: date-time */
1037
+ revealed_at: string;
1038
+ /** @description The credential. It is destroyed as this response is produced and cannot be obtained again */
1039
+ secret: string;
1040
+ subject_id: string;
1041
+ subject_kind: components["schemas"]["CredentialSubjectKind"];
1042
+ /** @description The account the credential belongs to, where the resource has one; null otherwise */
1043
+ username: string | null;
1044
+ };
1045
+ /**
1046
+ * @description Everything needed to open a realtime connection. The connection speaks the Pusher channels
1047
+ * protocol, so any client library for it works.
1048
+ */
1049
+ RealtimeConnectionResource: {
1050
+ /** @description The path a client posts to while subscribing, relative to this API */
1051
+ auth_path: string;
1052
+ /** @description The cluster name some client libraries require; empty when the deployment does not use one */
1053
+ cluster: string;
1054
+ /** @description False when realtime delivery is not configured in this deployment. Every other field is empty and clients should not attempt to connect */
1055
+ enabled: boolean;
1056
+ host: string;
1057
+ /** @description The application key, which is public and identifies the deployment rather than the caller */
1058
+ key: string;
1059
+ /** Format: int64 */
1060
+ port: number;
1061
+ /**
1062
+ * @description The channel carrying announcements. It is public: subscribing to it needs no
1063
+ * authorization, because an announcement is addressed to everybody. The events on it
1064
+ * carry an identifier and nothing else, so a client fetches the list and sees the
1065
+ * announcements it is entitled to
1066
+ */
1067
+ announcements_channel: string;
1068
+ /** @description The channel carrying events about the project in the token; empty when the token names no project */
1069
+ project_channel: string;
1070
+ /** @description Whether to connect over TLS */
1071
+ secure: boolean;
1072
+ /** @description The channel carrying events addressed to you */
1073
+ user_channel: string;
1074
+ };
1075
+ AuthorizeRealtimeChannelRequestBody: {
1076
+ /** @description The channel being subscribed to */
1077
+ channel_name: string;
1078
+ /** @description The connection identifier the realtime server assigned to this client */
1079
+ socket_id: string;
1080
+ };
1081
+ RealtimeAuthResource: {
1082
+ /** @description The authorization token for this subscription, passed back to the realtime server by the client library */
1083
+ auth: string;
1084
+ };
1085
+ };
1086
+ responses: never;
1087
+ parameters: {
1088
+ /** @description The notification, or the announcement when kind is announcement */
1089
+ NotificationId: string;
1090
+ /** @description A notification type identifier, as listed by list-notification-types */
1091
+ NotificationType: string;
1092
+ /** @description Apply to this project alone; omit to apply to every project */
1093
+ PreferenceProjectId: string;
1094
+ /** @description The outbound channel */
1095
+ ChannelId: string;
1096
+ /** @description The one-time credential */
1097
+ TicketId: string;
1098
+ };
1099
+ requestBodies: never;
1100
+ headers: never;
1101
+ pathItems: never;
1102
+ }
1103
+ export type $defs = Record<string, never>;
1104
+ export interface operations {
1105
+ "list-notifications": {
1106
+ parameters: {
1107
+ query?: {
1108
+ /** @description Maximum number of items to return in this page */
1109
+ limit?: number;
1110
+ /** @description Number of items to skip */
1111
+ offset?: number;
1112
+ /** @description Which projects to include; defaults to every project */
1113
+ scope?: components["schemas"]["NotificationScope"];
1114
+ /** @description Return only notifications of this type; omit for all types */
1115
+ type?: string;
1116
+ /** @description Return only notifications at or above this severity; omit for all severities */
1117
+ min_severity?: components["schemas"]["NotificationSeverity"];
1118
+ /** @description Restrict to unread, to read, or to neither; omit for both */
1119
+ read?: boolean;
1120
+ /** @description Include archived notifications; they are excluded by default */
1121
+ include_archived?: boolean;
1122
+ };
1123
+ header?: never;
1124
+ path?: never;
1125
+ cookie?: never;
1126
+ };
1127
+ requestBody?: never;
1128
+ responses: {
1129
+ /** @description OK */
1130
+ 200: {
1131
+ headers: {
1132
+ [name: string]: unknown;
1133
+ };
1134
+ content: {
1135
+ "application/json": components["schemas"]["LengthAwarePageNotificationResource"];
1136
+ };
1137
+ };
1138
+ /** @description Error */
1139
+ default: {
1140
+ headers: {
1141
+ [name: string]: unknown;
1142
+ };
1143
+ content: {
1144
+ "application/json": components["schemas"]["Error"];
1145
+ };
1146
+ };
1147
+ };
1148
+ };
1149
+ "mark-notifications-read": {
1150
+ parameters: {
1151
+ query?: never;
1152
+ header?: never;
1153
+ path?: never;
1154
+ cookie?: never;
1155
+ };
1156
+ requestBody: {
1157
+ content: {
1158
+ "application/json": components["schemas"]["MarkNotificationsReadRequestBody"];
1159
+ };
1160
+ };
1161
+ responses: {
1162
+ /** @description OK */
1163
+ 200: {
1164
+ headers: {
1165
+ [name: string]: unknown;
1166
+ };
1167
+ content: {
1168
+ "application/json": components["schemas"]["UnreadCountResource"];
1169
+ };
1170
+ };
1171
+ /** @description Error */
1172
+ default: {
1173
+ headers: {
1174
+ [name: string]: unknown;
1175
+ };
1176
+ content: {
1177
+ "application/json": components["schemas"]["Error"];
1178
+ };
1179
+ };
1180
+ };
1181
+ };
1182
+ "count-unread-notifications": {
1183
+ parameters: {
1184
+ query?: {
1185
+ /** @description Which projects to include; defaults to every project */
1186
+ scope?: components["schemas"]["NotificationScope"];
1187
+ };
1188
+ header?: never;
1189
+ path?: never;
1190
+ cookie?: never;
1191
+ };
1192
+ requestBody?: never;
1193
+ responses: {
1194
+ /** @description OK */
1195
+ 200: {
1196
+ headers: {
1197
+ [name: string]: unknown;
1198
+ };
1199
+ content: {
1200
+ "application/json": components["schemas"]["UnreadCountResource"];
1201
+ };
1202
+ };
1203
+ /** @description Error */
1204
+ default: {
1205
+ headers: {
1206
+ [name: string]: unknown;
1207
+ };
1208
+ content: {
1209
+ "application/json": components["schemas"]["Error"];
1210
+ };
1211
+ };
1212
+ };
1213
+ };
1214
+ "get-notification": {
1215
+ parameters: {
1216
+ query?: never;
1217
+ header?: never;
1218
+ path: {
1219
+ /** @description The notification, or the announcement when kind is announcement */
1220
+ notificationId: components["parameters"]["NotificationId"];
1221
+ };
1222
+ cookie?: never;
1223
+ };
1224
+ requestBody?: never;
1225
+ responses: {
1226
+ /** @description OK */
1227
+ 200: {
1228
+ headers: {
1229
+ [name: string]: unknown;
1230
+ };
1231
+ content: {
1232
+ "application/json": components["schemas"]["NotificationResource"];
1233
+ };
1234
+ };
1235
+ /** @description Error */
1236
+ default: {
1237
+ headers: {
1238
+ [name: string]: unknown;
1239
+ };
1240
+ content: {
1241
+ "application/json": components["schemas"]["Error"];
1242
+ };
1243
+ };
1244
+ };
1245
+ };
1246
+ "mark-notification-read": {
1247
+ parameters: {
1248
+ query?: never;
1249
+ header?: never;
1250
+ path: {
1251
+ /** @description The notification, or the announcement when kind is announcement */
1252
+ notificationId: components["parameters"]["NotificationId"];
1253
+ };
1254
+ cookie?: never;
1255
+ };
1256
+ requestBody?: never;
1257
+ responses: {
1258
+ /** @description OK */
1259
+ 200: {
1260
+ headers: {
1261
+ [name: string]: unknown;
1262
+ };
1263
+ content: {
1264
+ "application/json": components["schemas"]["NotificationResource"];
1265
+ };
1266
+ };
1267
+ /** @description Error */
1268
+ default: {
1269
+ headers: {
1270
+ [name: string]: unknown;
1271
+ };
1272
+ content: {
1273
+ "application/json": components["schemas"]["Error"];
1274
+ };
1275
+ };
1276
+ };
1277
+ };
1278
+ "mark-notification-unread": {
1279
+ parameters: {
1280
+ query?: never;
1281
+ header?: never;
1282
+ path: {
1283
+ /** @description The notification, or the announcement when kind is announcement */
1284
+ notificationId: components["parameters"]["NotificationId"];
1285
+ };
1286
+ cookie?: never;
1287
+ };
1288
+ requestBody?: never;
1289
+ responses: {
1290
+ /** @description OK */
1291
+ 200: {
1292
+ headers: {
1293
+ [name: string]: unknown;
1294
+ };
1295
+ content: {
1296
+ "application/json": components["schemas"]["NotificationResource"];
1297
+ };
1298
+ };
1299
+ /** @description Error */
1300
+ default: {
1301
+ headers: {
1302
+ [name: string]: unknown;
1303
+ };
1304
+ content: {
1305
+ "application/json": components["schemas"]["Error"];
1306
+ };
1307
+ };
1308
+ };
1309
+ };
1310
+ "archive-notification": {
1311
+ parameters: {
1312
+ query?: never;
1313
+ header?: never;
1314
+ path: {
1315
+ /** @description The notification, or the announcement when kind is announcement */
1316
+ notificationId: components["parameters"]["NotificationId"];
1317
+ };
1318
+ cookie?: never;
1319
+ };
1320
+ requestBody?: never;
1321
+ responses: {
1322
+ /** @description OK */
1323
+ 200: {
1324
+ headers: {
1325
+ [name: string]: unknown;
1326
+ };
1327
+ content: {
1328
+ "application/json": components["schemas"]["NotificationResource"];
1329
+ };
1330
+ };
1331
+ /** @description Error */
1332
+ default: {
1333
+ headers: {
1334
+ [name: string]: unknown;
1335
+ };
1336
+ content: {
1337
+ "application/json": components["schemas"]["Error"];
1338
+ };
1339
+ };
1340
+ };
1341
+ };
1342
+ "unarchive-notification": {
1343
+ parameters: {
1344
+ query?: never;
1345
+ header?: never;
1346
+ path: {
1347
+ /** @description The notification, or the announcement when kind is announcement */
1348
+ notificationId: components["parameters"]["NotificationId"];
1349
+ };
1350
+ cookie?: never;
1351
+ };
1352
+ requestBody?: never;
1353
+ responses: {
1354
+ /** @description OK */
1355
+ 200: {
1356
+ headers: {
1357
+ [name: string]: unknown;
1358
+ };
1359
+ content: {
1360
+ "application/json": components["schemas"]["NotificationResource"];
1361
+ };
1362
+ };
1363
+ /** @description Error */
1364
+ default: {
1365
+ headers: {
1366
+ [name: string]: unknown;
1367
+ };
1368
+ content: {
1369
+ "application/json": components["schemas"]["Error"];
1370
+ };
1371
+ };
1372
+ };
1373
+ };
1374
+ "list-announcements": {
1375
+ parameters: {
1376
+ query?: never;
1377
+ header?: never;
1378
+ path?: never;
1379
+ cookie?: never;
1380
+ };
1381
+ requestBody?: never;
1382
+ responses: {
1383
+ /** @description OK */
1384
+ 200: {
1385
+ headers: {
1386
+ [name: string]: unknown;
1387
+ };
1388
+ content: {
1389
+ "application/json": components["schemas"]["AnnouncementListResource"];
1390
+ };
1391
+ };
1392
+ /** @description Error */
1393
+ default: {
1394
+ headers: {
1395
+ [name: string]: unknown;
1396
+ };
1397
+ content: {
1398
+ "application/json": components["schemas"]["Error"];
1399
+ };
1400
+ };
1401
+ };
1402
+ };
1403
+ "read-all-announcements": {
1404
+ parameters: {
1405
+ query?: never;
1406
+ header?: never;
1407
+ path?: never;
1408
+ cookie?: never;
1409
+ };
1410
+ requestBody?: never;
1411
+ responses: {
1412
+ /** @description OK */
1413
+ 200: {
1414
+ headers: {
1415
+ [name: string]: unknown;
1416
+ };
1417
+ content: {
1418
+ "application/json": components["schemas"]["AnnouncementReadResultResource"];
1419
+ };
1420
+ };
1421
+ /** @description Error */
1422
+ default: {
1423
+ headers: {
1424
+ [name: string]: unknown;
1425
+ };
1426
+ content: {
1427
+ "application/json": components["schemas"]["Error"];
1428
+ };
1429
+ };
1430
+ };
1431
+ };
1432
+ "read-announcement": {
1433
+ parameters: {
1434
+ query?: never;
1435
+ header?: never;
1436
+ path: {
1437
+ announcementId: string;
1438
+ };
1439
+ cookie?: never;
1440
+ };
1441
+ requestBody?: never;
1442
+ responses: {
1443
+ /** @description No Content */
1444
+ 204: {
1445
+ headers: {
1446
+ [name: string]: unknown;
1447
+ };
1448
+ content?: never;
1449
+ };
1450
+ /** @description Error */
1451
+ default: {
1452
+ headers: {
1453
+ [name: string]: unknown;
1454
+ };
1455
+ content: {
1456
+ "application/json": components["schemas"]["Error"];
1457
+ };
1458
+ };
1459
+ };
1460
+ };
1461
+ "list-notification-types": {
1462
+ parameters: {
1463
+ query?: never;
1464
+ header?: never;
1465
+ path?: never;
1466
+ cookie?: never;
1467
+ };
1468
+ requestBody?: never;
1469
+ responses: {
1470
+ /** @description OK */
1471
+ 200: {
1472
+ headers: {
1473
+ [name: string]: unknown;
1474
+ };
1475
+ content: {
1476
+ "application/json": components["schemas"]["NotificationTypeListResponseBody"];
1477
+ };
1478
+ };
1479
+ /** @description Error */
1480
+ default: {
1481
+ headers: {
1482
+ [name: string]: unknown;
1483
+ };
1484
+ content: {
1485
+ "application/json": components["schemas"]["Error"];
1486
+ };
1487
+ };
1488
+ };
1489
+ };
1490
+ "get-notification-preferences": {
1491
+ parameters: {
1492
+ query?: never;
1493
+ header?: never;
1494
+ path?: never;
1495
+ cookie?: never;
1496
+ };
1497
+ requestBody?: never;
1498
+ responses: {
1499
+ /** @description OK */
1500
+ 200: {
1501
+ headers: {
1502
+ [name: string]: unknown;
1503
+ };
1504
+ content: {
1505
+ "application/json": components["schemas"]["PreferencesResource"];
1506
+ };
1507
+ };
1508
+ /** @description Error */
1509
+ default: {
1510
+ headers: {
1511
+ [name: string]: unknown;
1512
+ };
1513
+ content: {
1514
+ "application/json": components["schemas"]["Error"];
1515
+ };
1516
+ };
1517
+ };
1518
+ };
1519
+ "update-notification-preferences": {
1520
+ parameters: {
1521
+ query?: never;
1522
+ header?: never;
1523
+ path?: never;
1524
+ cookie?: never;
1525
+ };
1526
+ requestBody: {
1527
+ content: {
1528
+ "application/json": components["schemas"]["UpdatePreferencesRequestBody"];
1529
+ };
1530
+ };
1531
+ responses: {
1532
+ /** @description OK */
1533
+ 200: {
1534
+ headers: {
1535
+ [name: string]: unknown;
1536
+ };
1537
+ content: {
1538
+ "application/json": components["schemas"]["PreferencesResource"];
1539
+ };
1540
+ };
1541
+ /** @description Error */
1542
+ default: {
1543
+ headers: {
1544
+ [name: string]: unknown;
1545
+ };
1546
+ content: {
1547
+ "application/json": components["schemas"]["Error"];
1548
+ };
1549
+ };
1550
+ };
1551
+ };
1552
+ "send-email-override-code": {
1553
+ parameters: {
1554
+ query?: never;
1555
+ header?: never;
1556
+ path?: never;
1557
+ cookie?: never;
1558
+ };
1559
+ requestBody?: never;
1560
+ responses: {
1561
+ /** @description OK */
1562
+ 200: {
1563
+ headers: {
1564
+ [name: string]: unknown;
1565
+ };
1566
+ content: {
1567
+ "application/json": components["schemas"]["EmailOverrideCodeResource"];
1568
+ };
1569
+ };
1570
+ /** @description Error */
1571
+ default: {
1572
+ headers: {
1573
+ [name: string]: unknown;
1574
+ };
1575
+ content: {
1576
+ "application/json": components["schemas"]["Error"];
1577
+ };
1578
+ };
1579
+ };
1580
+ };
1581
+ "cancel-email-override": {
1582
+ parameters: {
1583
+ query?: never;
1584
+ header?: never;
1585
+ path?: never;
1586
+ cookie?: never;
1587
+ };
1588
+ requestBody?: never;
1589
+ responses: {
1590
+ /** @description OK */
1591
+ 200: {
1592
+ headers: {
1593
+ [name: string]: unknown;
1594
+ };
1595
+ content: {
1596
+ "application/json": components["schemas"]["PreferencesResource"];
1597
+ };
1598
+ };
1599
+ /** @description Error */
1600
+ default: {
1601
+ headers: {
1602
+ [name: string]: unknown;
1603
+ };
1604
+ content: {
1605
+ "application/json": components["schemas"]["Error"];
1606
+ };
1607
+ };
1608
+ };
1609
+ };
1610
+ "confirm-email-override": {
1611
+ parameters: {
1612
+ query?: never;
1613
+ header?: never;
1614
+ path?: never;
1615
+ cookie?: never;
1616
+ };
1617
+ requestBody: {
1618
+ content: {
1619
+ "application/json": components["schemas"]["ConfirmEmailOverrideRequestBody"];
1620
+ };
1621
+ };
1622
+ responses: {
1623
+ /** @description OK */
1624
+ 200: {
1625
+ headers: {
1626
+ [name: string]: unknown;
1627
+ };
1628
+ content: {
1629
+ "application/json": components["schemas"]["PreferencesResource"];
1630
+ };
1631
+ };
1632
+ /** @description Error */
1633
+ default: {
1634
+ headers: {
1635
+ [name: string]: unknown;
1636
+ };
1637
+ content: {
1638
+ "application/json": components["schemas"]["Error"];
1639
+ };
1640
+ };
1641
+ };
1642
+ };
1643
+ "list-type-preferences": {
1644
+ parameters: {
1645
+ query?: {
1646
+ /** @description Return preferences for this project in addition to the account-wide ones; omit for the account-wide ones only */
1647
+ project_id?: string;
1648
+ };
1649
+ header?: never;
1650
+ path?: never;
1651
+ cookie?: never;
1652
+ };
1653
+ requestBody?: never;
1654
+ responses: {
1655
+ /** @description OK */
1656
+ 200: {
1657
+ headers: {
1658
+ [name: string]: unknown;
1659
+ };
1660
+ content: {
1661
+ "application/json": components["schemas"]["TypePreferenceListResponseBody"];
1662
+ };
1663
+ };
1664
+ /** @description Error */
1665
+ default: {
1666
+ headers: {
1667
+ [name: string]: unknown;
1668
+ };
1669
+ content: {
1670
+ "application/json": components["schemas"]["Error"];
1671
+ };
1672
+ };
1673
+ };
1674
+ };
1675
+ "update-type-preference": {
1676
+ parameters: {
1677
+ query?: {
1678
+ /** @description Apply to this project alone; omit to apply to every project */
1679
+ project_id?: components["parameters"]["PreferenceProjectId"];
1680
+ };
1681
+ header?: never;
1682
+ path: {
1683
+ /** @description A notification type identifier, as listed by list-notification-types */
1684
+ type: components["parameters"]["NotificationType"];
1685
+ };
1686
+ cookie?: never;
1687
+ };
1688
+ requestBody: {
1689
+ content: {
1690
+ "application/json": components["schemas"]["UpdateTypePreferenceRequestBody"];
1691
+ };
1692
+ };
1693
+ responses: {
1694
+ /** @description OK */
1695
+ 200: {
1696
+ headers: {
1697
+ [name: string]: unknown;
1698
+ };
1699
+ content: {
1700
+ "application/json": components["schemas"]["TypePreferenceResource"];
1701
+ };
1702
+ };
1703
+ /** @description Error */
1704
+ default: {
1705
+ headers: {
1706
+ [name: string]: unknown;
1707
+ };
1708
+ content: {
1709
+ "application/json": components["schemas"]["Error"];
1710
+ };
1711
+ };
1712
+ };
1713
+ };
1714
+ "delete-type-preference": {
1715
+ parameters: {
1716
+ query?: {
1717
+ /** @description Apply to this project alone; omit to apply to every project */
1718
+ project_id?: components["parameters"]["PreferenceProjectId"];
1719
+ };
1720
+ header?: never;
1721
+ path: {
1722
+ /** @description A notification type identifier, as listed by list-notification-types */
1723
+ type: components["parameters"]["NotificationType"];
1724
+ };
1725
+ cookie?: never;
1726
+ };
1727
+ requestBody?: never;
1728
+ responses: {
1729
+ /** @description No Content */
1730
+ 204: {
1731
+ headers: {
1732
+ [name: string]: unknown;
1733
+ };
1734
+ content?: never;
1735
+ };
1736
+ /** @description Error */
1737
+ default: {
1738
+ headers: {
1739
+ [name: string]: unknown;
1740
+ };
1741
+ content: {
1742
+ "application/json": components["schemas"]["Error"];
1743
+ };
1744
+ };
1745
+ };
1746
+ };
1747
+ "list-user-channels": {
1748
+ parameters: {
1749
+ query?: {
1750
+ /** @description Return only channels of this scope; omit for both */
1751
+ channel_scope?: components["schemas"]["ChannelScope"];
1752
+ /** @description Return only channels of this kind; omit for all kinds */
1753
+ kind?: components["schemas"]["ChannelKind"];
1754
+ };
1755
+ header?: never;
1756
+ path?: never;
1757
+ cookie?: never;
1758
+ };
1759
+ requestBody?: never;
1760
+ responses: {
1761
+ /** @description OK */
1762
+ 200: {
1763
+ headers: {
1764
+ [name: string]: unknown;
1765
+ };
1766
+ content: {
1767
+ "application/json": components["schemas"]["ChannelListResponseBody"];
1768
+ };
1769
+ };
1770
+ /** @description Error */
1771
+ default: {
1772
+ headers: {
1773
+ [name: string]: unknown;
1774
+ };
1775
+ content: {
1776
+ "application/json": components["schemas"]["Error"];
1777
+ };
1778
+ };
1779
+ };
1780
+ };
1781
+ "create-user-channel": {
1782
+ parameters: {
1783
+ query?: never;
1784
+ header?: never;
1785
+ path?: never;
1786
+ cookie?: never;
1787
+ };
1788
+ requestBody: {
1789
+ content: {
1790
+ "application/json": components["schemas"]["CreateChannelRequestBody"];
1791
+ };
1792
+ };
1793
+ responses: {
1794
+ /** @description Created */
1795
+ 201: {
1796
+ headers: {
1797
+ [name: string]: unknown;
1798
+ };
1799
+ content: {
1800
+ "application/json": components["schemas"]["ChannelResource"];
1801
+ };
1802
+ };
1803
+ /** @description Error */
1804
+ default: {
1805
+ headers: {
1806
+ [name: string]: unknown;
1807
+ };
1808
+ content: {
1809
+ "application/json": components["schemas"]["Error"];
1810
+ };
1811
+ };
1812
+ };
1813
+ };
1814
+ "delete-user-channel": {
1815
+ parameters: {
1816
+ query?: never;
1817
+ header?: never;
1818
+ path: {
1819
+ /** @description The outbound channel */
1820
+ channelId: components["parameters"]["ChannelId"];
1821
+ };
1822
+ cookie?: never;
1823
+ };
1824
+ requestBody?: never;
1825
+ responses: {
1826
+ /** @description No Content */
1827
+ 204: {
1828
+ headers: {
1829
+ [name: string]: unknown;
1830
+ };
1831
+ content?: never;
1832
+ };
1833
+ /** @description Error */
1834
+ default: {
1835
+ headers: {
1836
+ [name: string]: unknown;
1837
+ };
1838
+ content: {
1839
+ "application/json": components["schemas"]["Error"];
1840
+ };
1841
+ };
1842
+ };
1843
+ };
1844
+ "update-user-channel": {
1845
+ parameters: {
1846
+ query?: never;
1847
+ header?: never;
1848
+ path: {
1849
+ /** @description The outbound channel */
1850
+ channelId: components["parameters"]["ChannelId"];
1851
+ };
1852
+ cookie?: never;
1853
+ };
1854
+ requestBody: {
1855
+ content: {
1856
+ "application/json": components["schemas"]["UpdateChannelRequestBody"];
1857
+ };
1858
+ };
1859
+ responses: {
1860
+ /** @description OK */
1861
+ 200: {
1862
+ headers: {
1863
+ [name: string]: unknown;
1864
+ };
1865
+ content: {
1866
+ "application/json": components["schemas"]["ChannelResource"];
1867
+ };
1868
+ };
1869
+ /** @description Error */
1870
+ default: {
1871
+ headers: {
1872
+ [name: string]: unknown;
1873
+ };
1874
+ content: {
1875
+ "application/json": components["schemas"]["Error"];
1876
+ };
1877
+ };
1878
+ };
1879
+ };
1880
+ "verify-user-channel": {
1881
+ parameters: {
1882
+ query?: never;
1883
+ header?: never;
1884
+ path: {
1885
+ /** @description The outbound channel */
1886
+ channelId: components["parameters"]["ChannelId"];
1887
+ };
1888
+ cookie?: never;
1889
+ };
1890
+ requestBody?: never;
1891
+ responses: {
1892
+ /** @description OK */
1893
+ 200: {
1894
+ headers: {
1895
+ [name: string]: unknown;
1896
+ };
1897
+ content: {
1898
+ "application/json": components["schemas"]["ChannelResource"];
1899
+ };
1900
+ };
1901
+ /** @description Error */
1902
+ default: {
1903
+ headers: {
1904
+ [name: string]: unknown;
1905
+ };
1906
+ content: {
1907
+ "application/json": components["schemas"]["Error"];
1908
+ };
1909
+ };
1910
+ };
1911
+ };
1912
+ "describe-credential-ticket": {
1913
+ parameters: {
1914
+ query?: never;
1915
+ header?: never;
1916
+ path: {
1917
+ /** @description The one-time credential */
1918
+ ticketId: components["parameters"]["TicketId"];
1919
+ };
1920
+ cookie?: never;
1921
+ };
1922
+ requestBody?: never;
1923
+ responses: {
1924
+ /** @description OK */
1925
+ 200: {
1926
+ headers: {
1927
+ [name: string]: unknown;
1928
+ };
1929
+ content: {
1930
+ "application/json": components["schemas"]["CredentialTicketResource"];
1931
+ };
1932
+ };
1933
+ /** @description Error */
1934
+ default: {
1935
+ headers: {
1936
+ [name: string]: unknown;
1937
+ };
1938
+ content: {
1939
+ "application/json": components["schemas"]["Error"];
1940
+ };
1941
+ };
1942
+ };
1943
+ };
1944
+ "reveal-credential": {
1945
+ parameters: {
1946
+ query?: never;
1947
+ header?: never;
1948
+ path: {
1949
+ /** @description The one-time credential */
1950
+ ticketId: components["parameters"]["TicketId"];
1951
+ };
1952
+ cookie?: never;
1953
+ };
1954
+ requestBody?: never;
1955
+ responses: {
1956
+ /** @description OK */
1957
+ 200: {
1958
+ headers: {
1959
+ [name: string]: unknown;
1960
+ };
1961
+ content: {
1962
+ "application/json": components["schemas"]["RevealedCredentialResource"];
1963
+ };
1964
+ };
1965
+ /** @description Error */
1966
+ default: {
1967
+ headers: {
1968
+ [name: string]: unknown;
1969
+ };
1970
+ content: {
1971
+ "application/json": components["schemas"]["Error"];
1972
+ };
1973
+ };
1974
+ };
1975
+ };
1976
+ "describe-realtime-connection": {
1977
+ parameters: {
1978
+ query?: never;
1979
+ header?: never;
1980
+ path?: never;
1981
+ cookie?: never;
1982
+ };
1983
+ requestBody?: never;
1984
+ responses: {
1985
+ /** @description OK */
1986
+ 200: {
1987
+ headers: {
1988
+ [name: string]: unknown;
1989
+ };
1990
+ content: {
1991
+ "application/json": components["schemas"]["RealtimeConnectionResource"];
1992
+ };
1993
+ };
1994
+ /** @description Error */
1995
+ default: {
1996
+ headers: {
1997
+ [name: string]: unknown;
1998
+ };
1999
+ content: {
2000
+ "application/json": components["schemas"]["Error"];
2001
+ };
2002
+ };
2003
+ };
2004
+ };
2005
+ "authorize-realtime-channel": {
2006
+ parameters: {
2007
+ query?: never;
2008
+ header?: never;
2009
+ path?: never;
2010
+ cookie?: never;
2011
+ };
2012
+ requestBody: {
2013
+ content: {
2014
+ "application/json": components["schemas"]["AuthorizeRealtimeChannelRequestBody"];
2015
+ };
2016
+ };
2017
+ responses: {
2018
+ /** @description OK */
2019
+ 200: {
2020
+ headers: {
2021
+ [name: string]: unknown;
2022
+ };
2023
+ content: {
2024
+ "application/json": components["schemas"]["RealtimeAuthResource"];
2025
+ };
2026
+ };
2027
+ /** @description Error */
2028
+ default: {
2029
+ headers: {
2030
+ [name: string]: unknown;
2031
+ };
2032
+ content: {
2033
+ "application/json": components["schemas"]["Error"];
2034
+ };
2035
+ };
2036
+ };
2037
+ };
2038
+ }