@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.
- package/README.md +34 -0
- package/dist/account/v1/index.d.ts +54 -0
- package/dist/account/v1/index.js +5 -0
- package/dist/account/v1/schema.d.ts +1157 -0
- package/dist/account/v1/schema.js +5 -0
- package/dist/assistant/v1/index.d.ts +108 -0
- package/dist/assistant/v1/index.js +5 -0
- package/dist/assistant/v1/schema.d.ts +2840 -0
- package/dist/assistant/v1/schema.js +5 -0
- package/dist/billing/v1/index.d.ts +74 -0
- package/dist/billing/v1/index.js +5 -0
- package/dist/billing/v1/schema.d.ts +2445 -0
- package/dist/billing/v1/schema.js +5 -0
- package/dist/canopy/v1/index.d.ts +48 -0
- package/dist/canopy/v1/index.js +5 -0
- package/dist/canopy/v1/schema.d.ts +1100 -0
- package/dist/canopy/v1/schema.js +5 -0
- package/dist/compute/v1/index.d.ts +246 -0
- package/dist/compute/v1/index.js +5 -0
- package/dist/compute/v1/schema.d.ts +4924 -0
- package/dist/compute/v1/schema.js +5 -0
- package/dist/dns/v1/index.d.ts +42 -0
- package/dist/dns/v1/index.js +5 -0
- package/dist/dns/v1/schema.d.ts +883 -0
- package/dist/dns/v1/schema.js +5 -0
- package/dist/iam/v1/index.d.ts +84 -0
- package/dist/iam/v1/index.js +5 -0
- package/dist/iam/v1/schema.d.ts +1658 -0
- package/dist/iam/v1/schema.js +5 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +6 -0
- package/dist/monitoring/v1/index.d.ts +176 -0
- package/dist/monitoring/v1/index.js +5 -0
- package/dist/monitoring/v1/schema.d.ts +4181 -0
- package/dist/monitoring/v1/schema.js +5 -0
- package/dist/notification/v1/index.d.ts +76 -0
- package/dist/notification/v1/index.js +5 -0
- package/dist/notification/v1/schema.d.ts +2038 -0
- package/dist/notification/v1/schema.js +5 -0
- package/dist/support/v1/index.d.ts +50 -0
- package/dist/support/v1/index.js +5 -0
- package/dist/support/v1/schema.d.ts +1078 -0
- package/dist/support/v1/schema.js +5 -0
- package/dist/tunnel/v1/index.d.ts +16 -0
- package/dist/tunnel/v1/index.js +5 -0
- package/dist/tunnel/v1/schema.d.ts +401 -0
- package/dist/tunnel/v1/schema.js +5 -0
- 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
|
+
}
|