@leaflow/sdk 0.14.2 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1335 @@
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/notices": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /**
14
+ * List announcements and maintenance in effect right now
15
+ * @description Returns the announcements published for general visibility and the maintenance windows that
16
+ * have not finished yet.
17
+ *
18
+ * **This operation requires no credentials.** It is intended for sign-in pages and status
19
+ * pages, which are reached before a project has been selected. It returns a narrower shape
20
+ * than the authenticated operations and is not paginated.
21
+ *
22
+ * Announcements appear here only when an operator has published them for general visibility;
23
+ * the authenticated `GET /api/v1/announcements` returns more of them.
24
+ */
25
+ get: operations["list-notices"];
26
+ put?: never;
27
+ post?: never;
28
+ delete?: never;
29
+ options?: never;
30
+ head?: never;
31
+ patch?: never;
32
+ trace?: never;
33
+ };
34
+ "/api/v1/tickets": {
35
+ parameters: {
36
+ query?: never;
37
+ header?: never;
38
+ path?: never;
39
+ cookie?: never;
40
+ };
41
+ /**
42
+ * List tickets in the current project
43
+ * @description Ordered by most recent activity first, which is not the same as most recently opened.
44
+ */
45
+ get: operations["list-tickets"];
46
+ put?: never;
47
+ /**
48
+ * Open a ticket
49
+ * @description Opens a ticket and posts its first message in one request. A ticket always has at least one
50
+ * message.
51
+ *
52
+ * The new ticket is `OPEN`. Its `number` is assigned here and is the identifier to quote when
53
+ * contacting support by other means.
54
+ *
55
+ * `category_id` is optional. Submitting a category that has been disabled returns
56
+ * `TICKET_CATEGORY_DISABLED`; the categories accepting new tickets are those returned by
57
+ * `GET /api/v1/ticket-categories`.
58
+ */
59
+ post: operations["create-ticket"];
60
+ delete?: never;
61
+ options?: never;
62
+ head?: never;
63
+ patch?: never;
64
+ trace?: never;
65
+ };
66
+ "/api/v1/tickets/{ticketId}": {
67
+ parameters: {
68
+ query?: never;
69
+ header?: never;
70
+ path?: never;
71
+ cookie?: never;
72
+ };
73
+ /**
74
+ * Get a ticket
75
+ * @description Returns 404 for a ticket that belongs to another project.
76
+ */
77
+ get: operations["get-ticket"];
78
+ put?: never;
79
+ post?: never;
80
+ delete?: never;
81
+ options?: never;
82
+ head?: never;
83
+ patch?: never;
84
+ trace?: never;
85
+ };
86
+ "/api/v1/tickets/{ticketId}/close": {
87
+ parameters: {
88
+ query?: never;
89
+ header?: never;
90
+ path?: never;
91
+ cookie?: never;
92
+ };
93
+ get?: never;
94
+ put?: never;
95
+ /**
96
+ * Close a ticket
97
+ * @description Closing a ticket that is already closed succeeds and changes nothing.
98
+ *
99
+ * A closed ticket can be rated once; see `POST /api/v1/tickets/{ticketId}/satisfaction`.
100
+ * Posting a further message reopens it.
101
+ */
102
+ post: operations["close-ticket"];
103
+ delete?: never;
104
+ options?: never;
105
+ head?: never;
106
+ patch?: never;
107
+ trace?: never;
108
+ };
109
+ "/api/v1/tickets/{ticketId}/messages": {
110
+ parameters: {
111
+ query?: never;
112
+ header?: never;
113
+ path?: never;
114
+ cookie?: never;
115
+ };
116
+ /**
117
+ * List the messages on a ticket
118
+ * @description Ordered oldest first, because a ticket is a conversation.
119
+ */
120
+ get: operations["list-ticket-messages"];
121
+ put?: never;
122
+ /**
123
+ * Post a message on a ticket
124
+ * @description Moves the ticket to `OPEN`. Posting on a closed ticket reopens it.
125
+ *
126
+ * Each id in `attachment_ids` must name an attachment uploaded in this project that no other
127
+ * message references; otherwise the request fails with `TICKET_ATTACHMENT_ALREADY_ATTACHED`
128
+ * and no message is posted.
129
+ */
130
+ post: operations["create-ticket-message"];
131
+ delete?: never;
132
+ options?: never;
133
+ head?: never;
134
+ patch?: never;
135
+ trace?: never;
136
+ };
137
+ "/api/v1/tickets/{ticketId}/satisfaction": {
138
+ parameters: {
139
+ query?: never;
140
+ header?: never;
141
+ path?: never;
142
+ cookie?: never;
143
+ };
144
+ /** Get the rating submitted for a ticket */
145
+ get: operations["get-ticket-satisfaction"];
146
+ put?: never;
147
+ /**
148
+ * Rate a ticket
149
+ * @description The ticket must be closed; otherwise the request returns `TICKET_NOT_CLOSED`.
150
+ *
151
+ * A ticket can be rated once. A second submission returns
152
+ * `TICKET_SATISFACTION_ALREADY_SUBMITTED`, including after the ticket has been reopened and
153
+ * closed again.
154
+ */
155
+ post: operations["create-ticket-satisfaction"];
156
+ delete?: never;
157
+ options?: never;
158
+ head?: never;
159
+ patch?: never;
160
+ trace?: never;
161
+ };
162
+ "/api/v1/ticket-categories": {
163
+ parameters: {
164
+ query?: never;
165
+ header?: never;
166
+ path?: never;
167
+ cookie?: never;
168
+ };
169
+ /**
170
+ * List the categories accepting new tickets
171
+ * @description Ordered for presentation. Categories no longer accepting new tickets are omitted, including those still attached to existing tickets.
172
+ */
173
+ get: operations["list-ticket-categories"];
174
+ put?: never;
175
+ post?: never;
176
+ delete?: never;
177
+ options?: never;
178
+ head?: never;
179
+ patch?: never;
180
+ trace?: never;
181
+ };
182
+ "/api/v1/attachments": {
183
+ parameters: {
184
+ query?: never;
185
+ header?: never;
186
+ path?: never;
187
+ cookie?: never;
188
+ };
189
+ get?: never;
190
+ put?: never;
191
+ /**
192
+ * Upload an attachment
193
+ * @description The body is the file bytes themselves, not multipart, one file per request. The content type
194
+ * is determined from the content, not from the `Content-Type` header.
195
+ *
196
+ * Pass the returned id in `attachment_ids` when opening a ticket or posting a message. An
197
+ * attachment that is never referenced by a message is removed after a time.
198
+ */
199
+ post: operations["upload-attachment"];
200
+ delete?: never;
201
+ options?: never;
202
+ head?: never;
203
+ patch?: never;
204
+ trace?: never;
205
+ };
206
+ "/api/v1/attachments/{attachmentId}/download-url": {
207
+ parameters: {
208
+ query?: never;
209
+ header?: never;
210
+ path?: never;
211
+ cookie?: never;
212
+ };
213
+ /**
214
+ * Get a download address for an attachment
215
+ * @description Returns a temporary address that serves the file. The address expires; request a new one
216
+ * rather than storing it.
217
+ *
218
+ * Returns 404 for an attachment uploaded in another project.
219
+ */
220
+ get: operations["describe-attachment-download"];
221
+ put?: never;
222
+ post?: never;
223
+ delete?: never;
224
+ options?: never;
225
+ head?: never;
226
+ patch?: never;
227
+ trace?: never;
228
+ };
229
+ "/api/v1/announcements": {
230
+ parameters: {
231
+ query?: never;
232
+ header?: never;
233
+ path?: never;
234
+ cookie?: never;
235
+ };
236
+ /**
237
+ * List announcements
238
+ * @description Returns the announcements in effect for the current user, most recently published first.
239
+ * Announcements that are scheduled but not yet published, and those that have expired, are
240
+ * omitted.
241
+ *
242
+ * `read_at` is null when this user has not marked the announcement as read.
243
+ */
244
+ get: operations["list-announcements"];
245
+ put?: never;
246
+ post?: never;
247
+ delete?: never;
248
+ options?: never;
249
+ head?: never;
250
+ patch?: never;
251
+ trace?: never;
252
+ };
253
+ "/api/v1/announcements/unread-count": {
254
+ parameters: {
255
+ query?: never;
256
+ header?: never;
257
+ path?: never;
258
+ cookie?: never;
259
+ };
260
+ /** Count the announcements this user has not read */
261
+ get: operations["count-unread-announcements"];
262
+ put?: never;
263
+ post?: never;
264
+ delete?: never;
265
+ options?: never;
266
+ head?: never;
267
+ patch?: never;
268
+ trace?: never;
269
+ };
270
+ "/api/v1/announcements/{announcementId}": {
271
+ parameters: {
272
+ query?: never;
273
+ header?: never;
274
+ path?: never;
275
+ cookie?: never;
276
+ };
277
+ /**
278
+ * Get an announcement
279
+ * @description Returns 404 for an announcement that is not in effect for this user.
280
+ */
281
+ get: operations["get-announcement"];
282
+ put?: never;
283
+ post?: never;
284
+ delete?: never;
285
+ options?: never;
286
+ head?: never;
287
+ patch?: never;
288
+ trace?: never;
289
+ };
290
+ "/api/v1/announcements/{announcementId}/read": {
291
+ parameters: {
292
+ query?: never;
293
+ header?: never;
294
+ path?: never;
295
+ cookie?: never;
296
+ };
297
+ get?: never;
298
+ put?: never;
299
+ /**
300
+ * Mark an announcement as read
301
+ * @description Marking an announcement that is already marked succeeds and changes nothing; `read_at` keeps
302
+ * its original value.
303
+ *
304
+ * Read state is per person, not per project.
305
+ */
306
+ post: operations["mark-announcement-read"];
307
+ delete?: never;
308
+ options?: never;
309
+ head?: never;
310
+ patch?: never;
311
+ trace?: never;
312
+ };
313
+ "/api/v1/maintenances": {
314
+ parameters: {
315
+ query?: never;
316
+ header?: never;
317
+ path?: never;
318
+ cookie?: never;
319
+ };
320
+ /**
321
+ * List maintenance notices
322
+ * @description Ordered by scheduled start, most recent first. Cancelled maintenance is omitted.
323
+ *
324
+ * `scheduled_for` and `scheduled_until` are what was announced; `started_at` and
325
+ * `completed_at` are what actually happened, and are null until it does.
326
+ */
327
+ get: operations["list-maintenances"];
328
+ put?: never;
329
+ post?: never;
330
+ delete?: never;
331
+ options?: never;
332
+ head?: never;
333
+ patch?: never;
334
+ trace?: never;
335
+ };
336
+ "/api/v1/maintenances/{maintenanceId}": {
337
+ parameters: {
338
+ query?: never;
339
+ header?: never;
340
+ path?: never;
341
+ cookie?: never;
342
+ };
343
+ /**
344
+ * Get a maintenance notice
345
+ * @description Returns 404 for cancelled maintenance.
346
+ */
347
+ get: operations["get-maintenance"];
348
+ put?: never;
349
+ post?: never;
350
+ delete?: never;
351
+ options?: never;
352
+ head?: never;
353
+ patch?: never;
354
+ trace?: never;
355
+ };
356
+ "/api/v1/maintenances/{maintenanceId}/timeline": {
357
+ parameters: {
358
+ query?: never;
359
+ header?: never;
360
+ path?: never;
361
+ cookie?: never;
362
+ };
363
+ /**
364
+ * List the updates posted during a maintenance
365
+ * @description Ordered oldest first, because it is an account of what happened.
366
+ */
367
+ get: operations["list-maintenance-timeline"];
368
+ put?: never;
369
+ post?: never;
370
+ delete?: never;
371
+ options?: never;
372
+ head?: never;
373
+ patch?: never;
374
+ trace?: never;
375
+ };
376
+ }
377
+ export type webhooks = Record<string, never>;
378
+ export interface components {
379
+ schemas: {
380
+ Error: {
381
+ code?: string;
382
+ message: string;
383
+ meta?: {
384
+ [key: string]: unknown;
385
+ };
386
+ /** Format: int64 */
387
+ status: number;
388
+ };
389
+ /**
390
+ * @description `OPEN` is waiting on us. `AWAITING_USER` is waiting on you. `CLOSED` is finished.
391
+ *
392
+ * The state follows whoever spoke last and cannot be set directly.
393
+ * @enum {string}
394
+ */
395
+ TicketStatus: "OPEN" | "AWAITING_USER" | "CLOSED";
396
+ /**
397
+ * @description How urgent the ticket is. It affects the order support works through tickets; it is not a commitment to a response time.
398
+ * @enum {string}
399
+ */
400
+ TicketPriority: "LOW" | "NORMAL" | "HIGH" | "URGENT";
401
+ /**
402
+ * @description Whether a message was written by a project member or by support.
403
+ * @enum {string}
404
+ */
405
+ TicketAuthorType: "USER" | "OPERATOR";
406
+ /**
407
+ * @description How prominently an announcement should be presented.
408
+ * @enum {string}
409
+ */
410
+ AnnouncementSeverity: "INFO" | "WARNING" | "CRITICAL";
411
+ /**
412
+ * @description `SCHEDULED` has been announced but has not started. `IN_PROGRESS` is under way. `COMPLETED`
413
+ * has finished. `CANCELLED` was announced and then called off, and never took place.
414
+ * @enum {string}
415
+ */
416
+ MaintenanceStatus: "SCHEDULED" | "IN_PROGRESS" | "COMPLETED" | "CANCELLED";
417
+ /**
418
+ * @description What users should expect during the window.
419
+ * @enum {string}
420
+ */
421
+ MaintenanceImpact: "NONE" | "DEGRADED" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE";
422
+ /** @description A support ticket, owned by the project it was opened in. */
423
+ TicketResource: {
424
+ /** @description The category this ticket is in; null when it has none */
425
+ category: components["schemas"]["TicketCategoryResource"] | null;
426
+ /**
427
+ * Format: date-time
428
+ * @description When the ticket was closed; null while it is open
429
+ */
430
+ closed_at: string | null;
431
+ /** Format: date-time */
432
+ created_at: string;
433
+ /** @description The user who opened the ticket. Every member of the project can read and reply to it regardless */
434
+ created_by: string;
435
+ /** Format: uuid */
436
+ id: string;
437
+ /**
438
+ * Format: date-time
439
+ * @description When someone last spoke on this ticket. Changing the priority or the category does not affect it
440
+ */
441
+ last_activity_at: string;
442
+ /** @description The human-readable identifier to quote when contacting support by other means */
443
+ number: string;
444
+ priority: components["schemas"]["TicketPriority"];
445
+ /** @description The rating submitted for this ticket; null when it has not been rated */
446
+ satisfaction: components["schemas"]["TicketSatisfactionResource"] | null;
447
+ status: components["schemas"]["TicketStatus"];
448
+ subject: string;
449
+ /** Format: date-time */
450
+ updated_at: string;
451
+ };
452
+ /** @description A ticket category. */
453
+ TicketCategoryResource: {
454
+ description: string | null;
455
+ /** Format: uuid */
456
+ id: string;
457
+ name: string;
458
+ };
459
+ /** @description One message on a ticket. */
460
+ TicketMessageResource: {
461
+ attachments: components["schemas"]["TicketAttachmentResource"][];
462
+ /** @description The identifier of whoever wrote the message, interpreted according to author_type */
463
+ author_id: string;
464
+ author_type: components["schemas"]["TicketAuthorType"];
465
+ body: string;
466
+ /** Format: date-time */
467
+ created_at: string;
468
+ /** Format: uuid */
469
+ id: string;
470
+ };
471
+ /** @description A file uploaded for a ticket. The bytes are retrieved separately; see the download-url operation. */
472
+ TicketAttachmentResource: {
473
+ /** @description Determined from the content, which may differ from the Content-Type sent on upload */
474
+ content_type: string;
475
+ /** Format: date-time */
476
+ created_at: string;
477
+ filename: string;
478
+ /** Format: uuid */
479
+ id: string;
480
+ /** Format: int64 */
481
+ size_bytes: number;
482
+ };
483
+ /** @description The rating submitted for a ticket. */
484
+ TicketSatisfactionResource: {
485
+ comment: string | null;
486
+ /** Format: date-time */
487
+ created_at: string;
488
+ /** Format: uuid */
489
+ id: string;
490
+ /** Format: int64 */
491
+ score: number;
492
+ };
493
+ /** @description A platform announcement. */
494
+ AnnouncementResource: {
495
+ /** @description Markdown */
496
+ body: string;
497
+ /** Format: uuid */
498
+ id: string;
499
+ /** Format: date-time */
500
+ published_at: string;
501
+ /**
502
+ * Format: date-time
503
+ * @description When this user marked the announcement as read; null when they have not
504
+ */
505
+ read_at: string | null;
506
+ severity: components["schemas"]["AnnouncementSeverity"];
507
+ title: string;
508
+ };
509
+ /** @description A scheduled maintenance notice published by platform operators. */
510
+ MaintenanceResource: {
511
+ /** @description Markdown */
512
+ body: string;
513
+ /**
514
+ * Format: date-time
515
+ * @description When the maintenance actually finished; null until it does
516
+ */
517
+ completed_at: string | null;
518
+ /** @description What this maintenance affects. The names are those used by the services concerned */
519
+ components: string[];
520
+ /** Format: uuid */
521
+ id: string;
522
+ impact: components["schemas"]["MaintenanceImpact"];
523
+ /**
524
+ * Format: date-time
525
+ * @description The announced start
526
+ */
527
+ scheduled_for: string;
528
+ /**
529
+ * Format: date-time
530
+ * @description The announced end
531
+ */
532
+ scheduled_until: string;
533
+ /**
534
+ * Format: date-time
535
+ * @description When the maintenance actually started; null until it does
536
+ */
537
+ started_at: string | null;
538
+ status: components["schemas"]["MaintenanceStatus"];
539
+ title: string;
540
+ };
541
+ /** @description One update posted during a maintenance. */
542
+ MaintenanceTimelineEntryResource: {
543
+ body: string;
544
+ /** Format: date-time */
545
+ created_at: string;
546
+ /** Format: uuid */
547
+ id: string;
548
+ /** @description The impact this update declared; null when the update did not change it */
549
+ impact: components["schemas"]["MaintenanceImpact"] | null;
550
+ /** @description The state this update moved the maintenance to; null when the update did not change it */
551
+ status: components["schemas"]["MaintenanceStatus"] | null;
552
+ };
553
+ /**
554
+ * @description What is in effect right now, for readers who have not signed in.
555
+ *
556
+ * This shape is deliberately narrower than the authenticated resources and carries no read
557
+ * state.
558
+ */
559
+ NoticeResource: {
560
+ announcements: components["schemas"]["NoticeAnnouncementResource"][];
561
+ maintenances: components["schemas"]["NoticeMaintenanceResource"][];
562
+ };
563
+ NoticeAnnouncementResource: {
564
+ /** @description Markdown */
565
+ body: string;
566
+ /** Format: uuid */
567
+ id: string;
568
+ /** Format: date-time */
569
+ published_at: string;
570
+ severity: components["schemas"]["AnnouncementSeverity"];
571
+ title: string;
572
+ };
573
+ NoticeMaintenanceResource: {
574
+ /** @description Markdown */
575
+ body: string;
576
+ components: string[];
577
+ /** Format: uuid */
578
+ id: string;
579
+ impact: components["schemas"]["MaintenanceImpact"];
580
+ /** Format: date-time */
581
+ scheduled_for: string;
582
+ /** Format: date-time */
583
+ scheduled_until: string;
584
+ /** Format: date-time */
585
+ started_at: string | null;
586
+ status: components["schemas"]["MaintenanceStatus"];
587
+ title: string;
588
+ };
589
+ AttachmentDownloadResource: {
590
+ /**
591
+ * Format: date-time
592
+ * @description After this moment the address stops working; request a new one
593
+ */
594
+ expires_at: string;
595
+ /** @description A temporary address serving the file */
596
+ url: string;
597
+ };
598
+ UnreadCountResource: {
599
+ /** Format: int64 */
600
+ count: number;
601
+ };
602
+ CreateTicketRequestBody: {
603
+ /** @description Attachments to reference from the first message. Each must have been uploaded in this project and not yet referenced */
604
+ attachment_ids?: string[];
605
+ /** @description The first message. Markdown */
606
+ body: string;
607
+ /** Format: uuid */
608
+ category_id?: string;
609
+ priority?: components["schemas"]["TicketPriority"];
610
+ subject: string;
611
+ };
612
+ CreateTicketMessageRequestBody: {
613
+ /** @description Attachments to reference. Each must have been uploaded in this project and not yet referenced */
614
+ attachment_ids?: string[];
615
+ /** @description Markdown */
616
+ body: string;
617
+ };
618
+ CreateTicketSatisfactionRequestBody: {
619
+ comment?: string;
620
+ /** Format: int64 */
621
+ score: number;
622
+ };
623
+ LengthAwarePageTicketResource: {
624
+ /** @description The contents of this page */
625
+ items: components["schemas"]["TicketResource"][];
626
+ /**
627
+ * Format: int64
628
+ * @description Maximum items per page, echoing the value in the request
629
+ */
630
+ limit: number;
631
+ /**
632
+ * Format: int64
633
+ * @description Items skipped, echoing the value in the request
634
+ */
635
+ offset: number;
636
+ /**
637
+ * Format: int64
638
+ * @description Total number of matching items, not only those in this page
639
+ */
640
+ total: number;
641
+ };
642
+ LengthAwarePageTicketMessageResource: {
643
+ /** @description The contents of this page */
644
+ items: components["schemas"]["TicketMessageResource"][];
645
+ /** Format: int64 */
646
+ limit: number;
647
+ /** Format: int64 */
648
+ offset: number;
649
+ /** Format: int64 */
650
+ total: number;
651
+ };
652
+ LengthAwarePageTicketCategoryResource: {
653
+ /** @description The contents of this page */
654
+ items: components["schemas"]["TicketCategoryResource"][];
655
+ /** Format: int64 */
656
+ limit: number;
657
+ /** Format: int64 */
658
+ offset: number;
659
+ /** Format: int64 */
660
+ total: number;
661
+ };
662
+ LengthAwarePageAnnouncementResource: {
663
+ /** @description The contents of this page */
664
+ items: components["schemas"]["AnnouncementResource"][];
665
+ /** Format: int64 */
666
+ limit: number;
667
+ /** Format: int64 */
668
+ offset: number;
669
+ /** Format: int64 */
670
+ total: number;
671
+ };
672
+ LengthAwarePageMaintenanceResource: {
673
+ /** @description The contents of this page */
674
+ items: components["schemas"]["MaintenanceResource"][];
675
+ /** Format: int64 */
676
+ limit: number;
677
+ /** Format: int64 */
678
+ offset: number;
679
+ /** Format: int64 */
680
+ total: number;
681
+ };
682
+ LengthAwarePageMaintenanceTimelineEntryResource: {
683
+ /** @description The contents of this page */
684
+ items: components["schemas"]["MaintenanceTimelineEntryResource"][];
685
+ /** Format: int64 */
686
+ limit: number;
687
+ /** Format: int64 */
688
+ offset: number;
689
+ /** Format: int64 */
690
+ total: number;
691
+ };
692
+ };
693
+ responses: never;
694
+ parameters: never;
695
+ requestBodies: never;
696
+ headers: never;
697
+ pathItems: never;
698
+ }
699
+ export type $defs = Record<string, never>;
700
+ export interface operations {
701
+ "list-notices": {
702
+ parameters: {
703
+ query?: never;
704
+ header?: never;
705
+ path?: never;
706
+ cookie?: never;
707
+ };
708
+ requestBody?: never;
709
+ responses: {
710
+ /** @description OK */
711
+ 200: {
712
+ headers: {
713
+ [name: string]: unknown;
714
+ };
715
+ content: {
716
+ "application/json": components["schemas"]["NoticeResource"];
717
+ };
718
+ };
719
+ /** @description Error */
720
+ default: {
721
+ headers: {
722
+ [name: string]: unknown;
723
+ };
724
+ content: {
725
+ "application/json": components["schemas"]["Error"];
726
+ };
727
+ };
728
+ };
729
+ };
730
+ "list-tickets": {
731
+ parameters: {
732
+ query?: {
733
+ /** @description Maximum number of items to return in this page */
734
+ limit?: number;
735
+ /** @description Number of items to skip */
736
+ offset?: number;
737
+ /** @description Return only tickets in this state; omit for all states */
738
+ status?: components["schemas"]["TicketStatus"];
739
+ /** @description Return only tickets at this priority; omit for all priorities */
740
+ priority?: components["schemas"]["TicketPriority"];
741
+ /** @description Return only tickets in this category; omit for all categories */
742
+ category_id?: string;
743
+ /** @description Match against the subject and the ticket number, case-insensitively */
744
+ keyword?: string;
745
+ };
746
+ header?: never;
747
+ path?: never;
748
+ cookie?: never;
749
+ };
750
+ requestBody?: never;
751
+ responses: {
752
+ /** @description OK */
753
+ 200: {
754
+ headers: {
755
+ [name: string]: unknown;
756
+ };
757
+ content: {
758
+ "application/json": components["schemas"]["LengthAwarePageTicketResource"];
759
+ };
760
+ };
761
+ /** @description Error */
762
+ default: {
763
+ headers: {
764
+ [name: string]: unknown;
765
+ };
766
+ content: {
767
+ "application/json": components["schemas"]["Error"];
768
+ };
769
+ };
770
+ };
771
+ };
772
+ "create-ticket": {
773
+ parameters: {
774
+ query?: never;
775
+ header?: never;
776
+ path?: never;
777
+ cookie?: never;
778
+ };
779
+ requestBody: {
780
+ content: {
781
+ "application/json": components["schemas"]["CreateTicketRequestBody"];
782
+ };
783
+ };
784
+ responses: {
785
+ /** @description Created */
786
+ 201: {
787
+ headers: {
788
+ [name: string]: unknown;
789
+ };
790
+ content: {
791
+ "application/json": components["schemas"]["TicketResource"];
792
+ };
793
+ };
794
+ /** @description Error */
795
+ default: {
796
+ headers: {
797
+ [name: string]: unknown;
798
+ };
799
+ content: {
800
+ "application/json": components["schemas"]["Error"];
801
+ };
802
+ };
803
+ };
804
+ };
805
+ "get-ticket": {
806
+ parameters: {
807
+ query?: never;
808
+ header?: never;
809
+ path: {
810
+ ticketId: string;
811
+ };
812
+ cookie?: never;
813
+ };
814
+ requestBody?: never;
815
+ responses: {
816
+ /** @description OK */
817
+ 200: {
818
+ headers: {
819
+ [name: string]: unknown;
820
+ };
821
+ content: {
822
+ "application/json": components["schemas"]["TicketResource"];
823
+ };
824
+ };
825
+ /** @description Error */
826
+ default: {
827
+ headers: {
828
+ [name: string]: unknown;
829
+ };
830
+ content: {
831
+ "application/json": components["schemas"]["Error"];
832
+ };
833
+ };
834
+ };
835
+ };
836
+ "close-ticket": {
837
+ parameters: {
838
+ query?: never;
839
+ header?: never;
840
+ path: {
841
+ ticketId: string;
842
+ };
843
+ cookie?: never;
844
+ };
845
+ requestBody?: never;
846
+ responses: {
847
+ /** @description OK */
848
+ 200: {
849
+ headers: {
850
+ [name: string]: unknown;
851
+ };
852
+ content: {
853
+ "application/json": components["schemas"]["TicketResource"];
854
+ };
855
+ };
856
+ /** @description Error */
857
+ default: {
858
+ headers: {
859
+ [name: string]: unknown;
860
+ };
861
+ content: {
862
+ "application/json": components["schemas"]["Error"];
863
+ };
864
+ };
865
+ };
866
+ };
867
+ "list-ticket-messages": {
868
+ parameters: {
869
+ query?: {
870
+ /** @description Maximum number of items to return in this page */
871
+ limit?: number;
872
+ /** @description Number of items to skip */
873
+ offset?: number;
874
+ };
875
+ header?: never;
876
+ path: {
877
+ ticketId: string;
878
+ };
879
+ cookie?: never;
880
+ };
881
+ requestBody?: never;
882
+ responses: {
883
+ /** @description OK */
884
+ 200: {
885
+ headers: {
886
+ [name: string]: unknown;
887
+ };
888
+ content: {
889
+ "application/json": components["schemas"]["LengthAwarePageTicketMessageResource"];
890
+ };
891
+ };
892
+ /** @description Error */
893
+ default: {
894
+ headers: {
895
+ [name: string]: unknown;
896
+ };
897
+ content: {
898
+ "application/json": components["schemas"]["Error"];
899
+ };
900
+ };
901
+ };
902
+ };
903
+ "create-ticket-message": {
904
+ parameters: {
905
+ query?: never;
906
+ header?: never;
907
+ path: {
908
+ ticketId: string;
909
+ };
910
+ cookie?: never;
911
+ };
912
+ requestBody: {
913
+ content: {
914
+ "application/json": components["schemas"]["CreateTicketMessageRequestBody"];
915
+ };
916
+ };
917
+ responses: {
918
+ /** @description Created */
919
+ 201: {
920
+ headers: {
921
+ [name: string]: unknown;
922
+ };
923
+ content: {
924
+ "application/json": components["schemas"]["TicketMessageResource"];
925
+ };
926
+ };
927
+ /** @description Error */
928
+ default: {
929
+ headers: {
930
+ [name: string]: unknown;
931
+ };
932
+ content: {
933
+ "application/json": components["schemas"]["Error"];
934
+ };
935
+ };
936
+ };
937
+ };
938
+ "get-ticket-satisfaction": {
939
+ parameters: {
940
+ query?: never;
941
+ header?: never;
942
+ path: {
943
+ ticketId: string;
944
+ };
945
+ cookie?: never;
946
+ };
947
+ requestBody?: never;
948
+ responses: {
949
+ /** @description OK */
950
+ 200: {
951
+ headers: {
952
+ [name: string]: unknown;
953
+ };
954
+ content: {
955
+ "application/json": components["schemas"]["TicketSatisfactionResource"];
956
+ };
957
+ };
958
+ /** @description Error */
959
+ default: {
960
+ headers: {
961
+ [name: string]: unknown;
962
+ };
963
+ content: {
964
+ "application/json": components["schemas"]["Error"];
965
+ };
966
+ };
967
+ };
968
+ };
969
+ "create-ticket-satisfaction": {
970
+ parameters: {
971
+ query?: never;
972
+ header?: never;
973
+ path: {
974
+ ticketId: string;
975
+ };
976
+ cookie?: never;
977
+ };
978
+ requestBody: {
979
+ content: {
980
+ "application/json": components["schemas"]["CreateTicketSatisfactionRequestBody"];
981
+ };
982
+ };
983
+ responses: {
984
+ /** @description Created */
985
+ 201: {
986
+ headers: {
987
+ [name: string]: unknown;
988
+ };
989
+ content: {
990
+ "application/json": components["schemas"]["TicketSatisfactionResource"];
991
+ };
992
+ };
993
+ /** @description Error */
994
+ default: {
995
+ headers: {
996
+ [name: string]: unknown;
997
+ };
998
+ content: {
999
+ "application/json": components["schemas"]["Error"];
1000
+ };
1001
+ };
1002
+ };
1003
+ };
1004
+ "list-ticket-categories": {
1005
+ parameters: {
1006
+ query?: {
1007
+ /** @description Maximum number of items to return in this page */
1008
+ limit?: number;
1009
+ /** @description Number of items to skip */
1010
+ offset?: number;
1011
+ };
1012
+ header?: never;
1013
+ path?: never;
1014
+ cookie?: never;
1015
+ };
1016
+ requestBody?: never;
1017
+ responses: {
1018
+ /** @description OK */
1019
+ 200: {
1020
+ headers: {
1021
+ [name: string]: unknown;
1022
+ };
1023
+ content: {
1024
+ "application/json": components["schemas"]["LengthAwarePageTicketCategoryResource"];
1025
+ };
1026
+ };
1027
+ /** @description Error */
1028
+ default: {
1029
+ headers: {
1030
+ [name: string]: unknown;
1031
+ };
1032
+ content: {
1033
+ "application/json": components["schemas"]["Error"];
1034
+ };
1035
+ };
1036
+ };
1037
+ };
1038
+ "upload-attachment": {
1039
+ parameters: {
1040
+ query: {
1041
+ /** @description The file name to record, and the name the file is served under when downloaded */
1042
+ filename: string;
1043
+ };
1044
+ header?: never;
1045
+ path?: never;
1046
+ cookie?: never;
1047
+ };
1048
+ requestBody: {
1049
+ content: {
1050
+ "application/octet-stream": string;
1051
+ };
1052
+ };
1053
+ responses: {
1054
+ /** @description Created */
1055
+ 201: {
1056
+ headers: {
1057
+ [name: string]: unknown;
1058
+ };
1059
+ content: {
1060
+ "application/json": components["schemas"]["TicketAttachmentResource"];
1061
+ };
1062
+ };
1063
+ /** @description Error */
1064
+ default: {
1065
+ headers: {
1066
+ [name: string]: unknown;
1067
+ };
1068
+ content: {
1069
+ "application/json": components["schemas"]["Error"];
1070
+ };
1071
+ };
1072
+ };
1073
+ };
1074
+ "describe-attachment-download": {
1075
+ parameters: {
1076
+ query?: never;
1077
+ header?: never;
1078
+ path: {
1079
+ attachmentId: string;
1080
+ };
1081
+ cookie?: never;
1082
+ };
1083
+ requestBody?: never;
1084
+ responses: {
1085
+ /** @description OK */
1086
+ 200: {
1087
+ headers: {
1088
+ [name: string]: unknown;
1089
+ };
1090
+ content: {
1091
+ "application/json": components["schemas"]["AttachmentDownloadResource"];
1092
+ };
1093
+ };
1094
+ /** @description Error */
1095
+ default: {
1096
+ headers: {
1097
+ [name: string]: unknown;
1098
+ };
1099
+ content: {
1100
+ "application/json": components["schemas"]["Error"];
1101
+ };
1102
+ };
1103
+ };
1104
+ };
1105
+ "list-announcements": {
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
+ };
1113
+ header?: never;
1114
+ path?: never;
1115
+ cookie?: never;
1116
+ };
1117
+ requestBody?: never;
1118
+ responses: {
1119
+ /** @description OK */
1120
+ 200: {
1121
+ headers: {
1122
+ [name: string]: unknown;
1123
+ };
1124
+ content: {
1125
+ "application/json": components["schemas"]["LengthAwarePageAnnouncementResource"];
1126
+ };
1127
+ };
1128
+ /** @description Error */
1129
+ default: {
1130
+ headers: {
1131
+ [name: string]: unknown;
1132
+ };
1133
+ content: {
1134
+ "application/json": components["schemas"]["Error"];
1135
+ };
1136
+ };
1137
+ };
1138
+ };
1139
+ "count-unread-announcements": {
1140
+ parameters: {
1141
+ query?: never;
1142
+ header?: never;
1143
+ path?: never;
1144
+ cookie?: never;
1145
+ };
1146
+ requestBody?: never;
1147
+ responses: {
1148
+ /** @description OK */
1149
+ 200: {
1150
+ headers: {
1151
+ [name: string]: unknown;
1152
+ };
1153
+ content: {
1154
+ "application/json": components["schemas"]["UnreadCountResource"];
1155
+ };
1156
+ };
1157
+ /** @description Error */
1158
+ default: {
1159
+ headers: {
1160
+ [name: string]: unknown;
1161
+ };
1162
+ content: {
1163
+ "application/json": components["schemas"]["Error"];
1164
+ };
1165
+ };
1166
+ };
1167
+ };
1168
+ "get-announcement": {
1169
+ parameters: {
1170
+ query?: never;
1171
+ header?: never;
1172
+ path: {
1173
+ announcementId: string;
1174
+ };
1175
+ cookie?: never;
1176
+ };
1177
+ requestBody?: never;
1178
+ responses: {
1179
+ /** @description OK */
1180
+ 200: {
1181
+ headers: {
1182
+ [name: string]: unknown;
1183
+ };
1184
+ content: {
1185
+ "application/json": components["schemas"]["AnnouncementResource"];
1186
+ };
1187
+ };
1188
+ /** @description Error */
1189
+ default: {
1190
+ headers: {
1191
+ [name: string]: unknown;
1192
+ };
1193
+ content: {
1194
+ "application/json": components["schemas"]["Error"];
1195
+ };
1196
+ };
1197
+ };
1198
+ };
1199
+ "mark-announcement-read": {
1200
+ parameters: {
1201
+ query?: never;
1202
+ header?: never;
1203
+ path: {
1204
+ announcementId: string;
1205
+ };
1206
+ cookie?: never;
1207
+ };
1208
+ requestBody?: never;
1209
+ responses: {
1210
+ /** @description OK */
1211
+ 200: {
1212
+ headers: {
1213
+ [name: string]: unknown;
1214
+ };
1215
+ content: {
1216
+ "application/json": components["schemas"]["AnnouncementResource"];
1217
+ };
1218
+ };
1219
+ /** @description Error */
1220
+ default: {
1221
+ headers: {
1222
+ [name: string]: unknown;
1223
+ };
1224
+ content: {
1225
+ "application/json": components["schemas"]["Error"];
1226
+ };
1227
+ };
1228
+ };
1229
+ };
1230
+ "list-maintenances": {
1231
+ parameters: {
1232
+ query?: {
1233
+ /** @description Maximum number of items to return in this page */
1234
+ limit?: number;
1235
+ /** @description Number of items to skip */
1236
+ offset?: number;
1237
+ /** @description Return only maintenance in this state; omit for all states */
1238
+ status?: components["schemas"]["MaintenanceStatus"];
1239
+ /** @description Return only maintenance affecting this component; omit for all components */
1240
+ component?: string;
1241
+ };
1242
+ header?: never;
1243
+ path?: never;
1244
+ cookie?: never;
1245
+ };
1246
+ requestBody?: never;
1247
+ responses: {
1248
+ /** @description OK */
1249
+ 200: {
1250
+ headers: {
1251
+ [name: string]: unknown;
1252
+ };
1253
+ content: {
1254
+ "application/json": components["schemas"]["LengthAwarePageMaintenanceResource"];
1255
+ };
1256
+ };
1257
+ /** @description Error */
1258
+ default: {
1259
+ headers: {
1260
+ [name: string]: unknown;
1261
+ };
1262
+ content: {
1263
+ "application/json": components["schemas"]["Error"];
1264
+ };
1265
+ };
1266
+ };
1267
+ };
1268
+ "get-maintenance": {
1269
+ parameters: {
1270
+ query?: never;
1271
+ header?: never;
1272
+ path: {
1273
+ maintenanceId: string;
1274
+ };
1275
+ cookie?: never;
1276
+ };
1277
+ requestBody?: never;
1278
+ responses: {
1279
+ /** @description OK */
1280
+ 200: {
1281
+ headers: {
1282
+ [name: string]: unknown;
1283
+ };
1284
+ content: {
1285
+ "application/json": components["schemas"]["MaintenanceResource"];
1286
+ };
1287
+ };
1288
+ /** @description Error */
1289
+ default: {
1290
+ headers: {
1291
+ [name: string]: unknown;
1292
+ };
1293
+ content: {
1294
+ "application/json": components["schemas"]["Error"];
1295
+ };
1296
+ };
1297
+ };
1298
+ };
1299
+ "list-maintenance-timeline": {
1300
+ parameters: {
1301
+ query?: {
1302
+ /** @description Maximum number of items to return in this page */
1303
+ limit?: number;
1304
+ /** @description Number of items to skip */
1305
+ offset?: number;
1306
+ };
1307
+ header?: never;
1308
+ path: {
1309
+ maintenanceId: string;
1310
+ };
1311
+ cookie?: never;
1312
+ };
1313
+ requestBody?: never;
1314
+ responses: {
1315
+ /** @description OK */
1316
+ 200: {
1317
+ headers: {
1318
+ [name: string]: unknown;
1319
+ };
1320
+ content: {
1321
+ "application/json": components["schemas"]["LengthAwarePageMaintenanceTimelineEntryResource"];
1322
+ };
1323
+ };
1324
+ /** @description Error */
1325
+ default: {
1326
+ headers: {
1327
+ [name: string]: unknown;
1328
+ };
1329
+ content: {
1330
+ "application/json": components["schemas"]["Error"];
1331
+ };
1332
+ };
1333
+ };
1334
+ };
1335
+ }