@leaflow/sdk 0.0.0-dev.101.g01ce843

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +34 -0
  2. package/dist/account/v1/index.d.ts +54 -0
  3. package/dist/account/v1/index.js +5 -0
  4. package/dist/account/v1/schema.d.ts +1157 -0
  5. package/dist/account/v1/schema.js +5 -0
  6. package/dist/assistant/v1/index.d.ts +108 -0
  7. package/dist/assistant/v1/index.js +5 -0
  8. package/dist/assistant/v1/schema.d.ts +2840 -0
  9. package/dist/assistant/v1/schema.js +5 -0
  10. package/dist/billing/v1/index.d.ts +74 -0
  11. package/dist/billing/v1/index.js +5 -0
  12. package/dist/billing/v1/schema.d.ts +2445 -0
  13. package/dist/billing/v1/schema.js +5 -0
  14. package/dist/canopy/v1/index.d.ts +48 -0
  15. package/dist/canopy/v1/index.js +5 -0
  16. package/dist/canopy/v1/schema.d.ts +1100 -0
  17. package/dist/canopy/v1/schema.js +5 -0
  18. package/dist/compute/v1/index.d.ts +246 -0
  19. package/dist/compute/v1/index.js +5 -0
  20. package/dist/compute/v1/schema.d.ts +4924 -0
  21. package/dist/compute/v1/schema.js +5 -0
  22. package/dist/dns/v1/index.d.ts +42 -0
  23. package/dist/dns/v1/index.js +5 -0
  24. package/dist/dns/v1/schema.d.ts +883 -0
  25. package/dist/dns/v1/schema.js +5 -0
  26. package/dist/iam/v1/index.d.ts +84 -0
  27. package/dist/iam/v1/index.js +5 -0
  28. package/dist/iam/v1/schema.d.ts +1658 -0
  29. package/dist/iam/v1/schema.js +5 -0
  30. package/dist/index.d.ts +11 -0
  31. package/dist/index.js +6 -0
  32. package/dist/monitoring/v1/index.d.ts +176 -0
  33. package/dist/monitoring/v1/index.js +5 -0
  34. package/dist/monitoring/v1/schema.d.ts +4181 -0
  35. package/dist/monitoring/v1/schema.js +5 -0
  36. package/dist/notification/v1/index.d.ts +76 -0
  37. package/dist/notification/v1/index.js +5 -0
  38. package/dist/notification/v1/schema.d.ts +2038 -0
  39. package/dist/notification/v1/schema.js +5 -0
  40. package/dist/support/v1/index.d.ts +50 -0
  41. package/dist/support/v1/index.js +5 -0
  42. package/dist/support/v1/schema.d.ts +1078 -0
  43. package/dist/support/v1/schema.js +5 -0
  44. package/dist/tunnel/v1/index.d.ts +16 -0
  45. package/dist/tunnel/v1/index.js +5 -0
  46. package/dist/tunnel/v1/schema.d.ts +401 -0
  47. package/dist/tunnel/v1/schema.js +5 -0
  48. package/package.json +74 -0
@@ -0,0 +1,4181 @@
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/incidents": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /**
14
+ * List incidents
15
+ * @description `incident_status` reports whether monitoring considers the problem recovered; `closed` reports whether someone has finished handling it. The two are independent and can be filtered separately.
16
+ */
17
+ get: operations["list-incidents"];
18
+ put?: never;
19
+ post?: never;
20
+ delete?: never;
21
+ options?: never;
22
+ head?: never;
23
+ patch?: never;
24
+ trace?: never;
25
+ };
26
+ "/api/v1/incidents/{incidentId}": {
27
+ parameters: {
28
+ query?: never;
29
+ header?: never;
30
+ path?: never;
31
+ cookie?: never;
32
+ };
33
+ /** Get an incident */
34
+ get: operations["get-incident"];
35
+ put?: never;
36
+ post?: never;
37
+ delete?: never;
38
+ options?: never;
39
+ head?: never;
40
+ patch?: never;
41
+ trace?: never;
42
+ };
43
+ "/api/v1/incidents/{incidentId}/acknowledge": {
44
+ parameters: {
45
+ query?: never;
46
+ header?: never;
47
+ path?: never;
48
+ cookie?: never;
49
+ };
50
+ get?: never;
51
+ put?: never;
52
+ /**
53
+ * Acknowledge an incident
54
+ * @description The incident is also marked as acknowledged in the monitoring system, so that other channels can see it already has an owner.
55
+ */
56
+ post: operations["acknowledge-incident"];
57
+ delete?: never;
58
+ options?: never;
59
+ head?: never;
60
+ patch?: never;
61
+ trace?: never;
62
+ };
63
+ "/api/v1/incidents/{incidentId}/assignee": {
64
+ parameters: {
65
+ query?: never;
66
+ header?: never;
67
+ path?: never;
68
+ cookie?: never;
69
+ };
70
+ get?: never;
71
+ /**
72
+ * Assign an incident, or clear its assignee
73
+ * @description Leave `assignee_user_id` empty to clear the assignment.
74
+ *
75
+ * **Project membership of the assignee is not verified.** Any user identifier is accepted and recorded as given.
76
+ */
77
+ put: operations["assign-incident"];
78
+ post?: never;
79
+ delete?: never;
80
+ options?: never;
81
+ head?: never;
82
+ patch?: never;
83
+ trace?: never;
84
+ };
85
+ "/api/v1/incidents/{incidentId}/close": {
86
+ parameters: {
87
+ query?: never;
88
+ header?: never;
89
+ path?: never;
90
+ cookie?: never;
91
+ };
92
+ get?: never;
93
+ put?: never;
94
+ /**
95
+ * Close an incident
96
+ * @description Closing records **that the handling process is finished on this platform**; it does not change the state of the incident itself. An incident that has not recovered may still be closed as an accepted risk, and remains unrecovered in the monitoring system.
97
+ */
98
+ post: operations["close-incident"];
99
+ delete?: never;
100
+ options?: never;
101
+ head?: never;
102
+ patch?: never;
103
+ trace?: never;
104
+ };
105
+ "/api/v1/incidents/{incidentId}/comments": {
106
+ parameters: {
107
+ query?: never;
108
+ header?: never;
109
+ path?: never;
110
+ cookie?: never;
111
+ };
112
+ get?: never;
113
+ put?: never;
114
+ /** Add a note to the timeline */
115
+ post: operations["add-incident-comment"];
116
+ delete?: never;
117
+ options?: never;
118
+ head?: never;
119
+ patch?: never;
120
+ trace?: never;
121
+ };
122
+ "/api/v1/incidents/{incidentId}/following": {
123
+ parameters: {
124
+ query?: never;
125
+ header?: never;
126
+ path?: never;
127
+ cookie?: never;
128
+ };
129
+ get?: never;
130
+ /**
131
+ * Follow an incident, or stop following it
132
+ * @description You follow **yourself**: the caller is the user added to or removed from the follower list.
133
+ */
134
+ put: operations["set-incident-following"];
135
+ post?: never;
136
+ delete?: never;
137
+ options?: never;
138
+ head?: never;
139
+ patch?: never;
140
+ trace?: never;
141
+ };
142
+ "/api/v1/incidents/{incidentId}/reopen": {
143
+ parameters: {
144
+ query?: never;
145
+ header?: never;
146
+ path?: never;
147
+ cookie?: never;
148
+ };
149
+ get?: never;
150
+ put?: never;
151
+ /** Reopen a closed incident */
152
+ post: operations["reopen-incident"];
153
+ delete?: never;
154
+ options?: never;
155
+ head?: never;
156
+ patch?: never;
157
+ trace?: never;
158
+ };
159
+ "/api/v1/incidents/{incidentId}/timeline": {
160
+ parameters: {
161
+ query?: never;
162
+ header?: never;
163
+ path?: never;
164
+ cookie?: never;
165
+ };
166
+ /**
167
+ * List the timeline of an incident
168
+ * @description Cursor paging rather than offset paging: the timeline is append-only, and offset paging would skip or repeat entries whenever a new one is written.
169
+ */
170
+ get: operations["list-incident-timeline"];
171
+ put?: never;
172
+ post?: never;
173
+ delete?: never;
174
+ options?: never;
175
+ head?: never;
176
+ patch?: never;
177
+ trace?: never;
178
+ };
179
+ "/api/v1/maintenance-windows": {
180
+ parameters: {
181
+ query?: never;
182
+ header?: never;
183
+ path?: never;
184
+ cookie?: never;
185
+ };
186
+ /** List maintenance windows */
187
+ get: operations["list-maintenance-windows"];
188
+ put?: never;
189
+ post?: never;
190
+ delete?: never;
191
+ options?: never;
192
+ head?: never;
193
+ patch?: never;
194
+ trace?: never;
195
+ };
196
+ "/api/v1/maintenance-windows/{windowId}": {
197
+ parameters: {
198
+ query?: never;
199
+ header?: never;
200
+ path?: never;
201
+ cookie?: never;
202
+ };
203
+ /** Get a maintenance window */
204
+ get: operations["get-maintenance-window"];
205
+ /**
206
+ * Create a maintenance window, or replace it by the same id
207
+ * @description **Create or replace**: extending a window that is already running means calling this endpoint again with the same id.
208
+ *
209
+ * While the window is open, problems on these machines do not alert and do not count against SLA availability. Leave `server_ids` empty to cover the entire project, including machines enrolled after the window opens.
210
+ */
211
+ put: operations["put-maintenance-window"];
212
+ post?: never;
213
+ /**
214
+ * Cancel a maintenance window
215
+ * @description Alerting resumes immediately, even if the window has not yet expired.
216
+ */
217
+ delete: operations["delete-maintenance-window"];
218
+ options?: never;
219
+ head?: never;
220
+ patch?: never;
221
+ trace?: never;
222
+ };
223
+ "/api/v1/overview": {
224
+ parameters: {
225
+ query?: never;
226
+ header?: never;
227
+ path?: never;
228
+ cookie?: never;
229
+ };
230
+ /**
231
+ * Project overview
232
+ * @description A project with no machines yet returns an overview with every figure at zero rather than a 404 — an empty project is a normal state.
233
+ */
234
+ get: operations["get-project-overview"];
235
+ put?: never;
236
+ post?: never;
237
+ delete?: never;
238
+ options?: never;
239
+ head?: never;
240
+ patch?: never;
241
+ trace?: never;
242
+ };
243
+ "/api/v1/servers/{serverId}/items": {
244
+ parameters: {
245
+ query?: never;
246
+ header?: never;
247
+ path?: never;
248
+ cookie?: never;
249
+ };
250
+ /**
251
+ * List the monitoring items of a machine
252
+ * @description Items are returned exactly as collected, without filtering or renaming. Which of them count as important is for the caller to decide from the tags carried by each item.
253
+ */
254
+ get: operations["list-server-items"];
255
+ put?: never;
256
+ post?: never;
257
+ delete?: never;
258
+ options?: never;
259
+ head?: never;
260
+ patch?: never;
261
+ trace?: never;
262
+ };
263
+ "/api/v1/servers/{serverId}/metrics": {
264
+ parameters: {
265
+ query?: never;
266
+ header?: never;
267
+ path?: never;
268
+ cookie?: never;
269
+ };
270
+ /**
271
+ * Get the time series of a monitoring item
272
+ * @description `item_key` is matched **by prefix**. Keys discovered per partition or per interface carry parameters (`vfs.fs.size[/var,pused]`), so a single request for `vfs.fs.size` returns one series per mount point.
273
+ */
274
+ get: operations["get-server-metric"];
275
+ put?: never;
276
+ post?: never;
277
+ delete?: never;
278
+ options?: never;
279
+ head?: never;
280
+ patch?: never;
281
+ trace?: never;
282
+ };
283
+ "/api/v1/servers/{serverId}/resources": {
284
+ parameters: {
285
+ query?: never;
286
+ header?: never;
287
+ path?: never;
288
+ cookie?: never;
289
+ };
290
+ /** Hardware and interfaces of a machine */
291
+ get: operations["get-server-resources"];
292
+ put?: never;
293
+ post?: never;
294
+ delete?: never;
295
+ options?: never;
296
+ head?: never;
297
+ patch?: never;
298
+ trace?: never;
299
+ };
300
+ "/api/v1/servers/{serverId}/snapshot": {
301
+ parameters: {
302
+ query?: never;
303
+ header?: never;
304
+ path?: never;
305
+ cookie?: never;
306
+ };
307
+ /** Current state of a machine */
308
+ get: operations["get-server-snapshot"];
309
+ put?: never;
310
+ post?: never;
311
+ delete?: never;
312
+ options?: never;
313
+ head?: never;
314
+ patch?: never;
315
+ trace?: never;
316
+ };
317
+ "/api/v1/top-items": {
318
+ parameters: {
319
+ query?: never;
320
+ header?: never;
321
+ path?: never;
322
+ cookie?: never;
323
+ };
324
+ /** Machines ranked highest by a given metric */
325
+ get: operations["list-project-top-items"];
326
+ put?: never;
327
+ post?: never;
328
+ delete?: never;
329
+ options?: never;
330
+ head?: never;
331
+ patch?: never;
332
+ trace?: never;
333
+ };
334
+ "/api/v1/templates": {
335
+ parameters: {
336
+ query?: never;
337
+ header?: never;
338
+ path?: never;
339
+ cookie?: never;
340
+ };
341
+ /**
342
+ * List the monitoring templates that can be bound to a machine
343
+ * @description The catalog every template binding is validated against — which templates exist, which parameters each of them accepts, and what each parameter defaults to. It is identical for every project and changes only when this deployment is upgraded. Read it rather than keeping a copy. A copy drifts, and only one of the ways it drifts fails loudly — an unknown parameter name is rejected, but a stale `default` and a stale `required` both look correct on screen.
344
+ */
345
+ get: operations["list-templates"];
346
+ put?: never;
347
+ post?: never;
348
+ delete?: never;
349
+ options?: never;
350
+ head?: never;
351
+ patch?: never;
352
+ trace?: never;
353
+ };
354
+ "/api/v1/servers": {
355
+ parameters: {
356
+ query?: never;
357
+ header?: never;
358
+ path?: never;
359
+ cookie?: never;
360
+ };
361
+ /** List the machines in the project */
362
+ get: operations["list-servers"];
363
+ put?: never;
364
+ post?: never;
365
+ delete?: never;
366
+ options?: never;
367
+ head?: never;
368
+ patch?: never;
369
+ trace?: never;
370
+ };
371
+ "/api/v1/servers/{serverId}": {
372
+ parameters: {
373
+ query?: never;
374
+ header?: never;
375
+ path?: never;
376
+ cookie?: never;
377
+ };
378
+ /** Get the enrollment state of a machine */
379
+ get: operations["get-server"];
380
+ /**
381
+ * Enroll a machine into monitoring
382
+ * @description **Repeated calls with the same server id are idempotent**: given identical parameters, the already-enrolled machine is returned and no duplicate host is created, so a failed enrollment is safe to retry.
383
+ *
384
+ * To change enrollment settings, use PATCH. This endpoint returns an error when the parameters differ, and does not update an existing configuration.
385
+ *
386
+ * A failed call leaves the machine recorded with `monitoring_status: FAILED`; the reason is reported in `last_error` via `GET /servers/{serverId}`.
387
+ *
388
+ * The `tls_psk` in the response is **returned only this once**; store it immediately. If it is lost, it must be rotated.
389
+ *
390
+ * It is also how collection is resumed after `/disable`. On a machine that already exists, **omitting `template_bindings` keeps the bindings it already has**; it does not fall back to the default of Linux alone, which would silently drop every other template together with its parameters. Secret parameters are likewise carried over — see `parameters` on the binding.
391
+ */
392
+ put: operations["enable-server-monitoring"];
393
+ post?: never;
394
+ /**
395
+ * Delete a machine
396
+ * @description **Irreversible**: the monitored host, its history and every incident recorded against this machine are removed together. To stop collection temporarily, use `/disable` instead.
397
+ */
398
+ delete: operations["delete-server"];
399
+ options?: never;
400
+ head?: never;
401
+ /**
402
+ * Update the enrollment settings of a machine
403
+ * @description Only the fields present in the request body are updated. `address` and `address_kind` must be supplied together: changing one without the other produces a contradictory configuration that is not reported as an error and shows up only as an agent that cannot connect.
404
+ */
405
+ patch: operations["update-server"];
406
+ trace?: never;
407
+ };
408
+ "/api/v1/servers/{serverId}/disable": {
409
+ parameters: {
410
+ query?: never;
411
+ header?: never;
412
+ path?: never;
413
+ cookie?: never;
414
+ };
415
+ get?: never;
416
+ put?: never;
417
+ /**
418
+ * Stop monitoring a machine
419
+ * @description Reversible: the monitored host is retained, only collection stops, and history is unaffected. Enrolling again resumes collection. To remove the history as well, use DELETE.
420
+ */
421
+ post: operations["disable-server-monitoring"];
422
+ delete?: never;
423
+ options?: never;
424
+ head?: never;
425
+ patch?: never;
426
+ trace?: never;
427
+ };
428
+ "/api/v1/servers/{serverId}/psk": {
429
+ parameters: {
430
+ query?: never;
431
+ header?: never;
432
+ path?: never;
433
+ cookie?: never;
434
+ };
435
+ get?: never;
436
+ put?: never;
437
+ /**
438
+ * Rotate the agent PSK
439
+ * @description The agent configuration must be updated to match, otherwise the machine loses contact immediately. The new key is likewise **returned in clear text only in this response**.
440
+ */
441
+ post: operations["rotate-agent-psk"];
442
+ delete?: never;
443
+ options?: never;
444
+ head?: never;
445
+ patch?: never;
446
+ trace?: never;
447
+ };
448
+ "/api/v1/servers/{serverId}/web-checks/{checkId}": {
449
+ parameters: {
450
+ query?: never;
451
+ header?: never;
452
+ path?: never;
453
+ cookie?: never;
454
+ };
455
+ /** Get a web check */
456
+ get: operations["get-web-check"];
457
+ /**
458
+ * Create a web check, or replace it by the same id
459
+ * @description **Create or replace**: to modify a check, call this endpoint again with the same id. There is no need to determine first whether it already exists.
460
+ */
461
+ put: operations["put-web-check"];
462
+ post?: never;
463
+ /**
464
+ * Delete a web check
465
+ * @description The corresponding check task and trigger are removed from the monitoring system as well, so no permanently unrecoverable alert is left behind.
466
+ */
467
+ delete: operations["delete-web-check"];
468
+ options?: never;
469
+ head?: never;
470
+ patch?: never;
471
+ trace?: never;
472
+ };
473
+ "/api/v1/web-checks": {
474
+ parameters: {
475
+ query?: never;
476
+ header?: never;
477
+ path?: never;
478
+ cookie?: never;
479
+ };
480
+ /** List web checks */
481
+ get: operations["list-web-checks"];
482
+ put?: never;
483
+ post?: never;
484
+ delete?: never;
485
+ options?: never;
486
+ head?: never;
487
+ patch?: never;
488
+ trace?: never;
489
+ };
490
+ "/api/v1/sli-report": {
491
+ parameters: {
492
+ query?: never;
493
+ header?: never;
494
+ path?: never;
495
+ cookie?: never;
496
+ };
497
+ /**
498
+ * Get measured availability
499
+ * @description SLI is what was measured; SLO is what was promised — this endpoint returns the former.
500
+ *
501
+ * The row with an empty `server_id` covers the project as a whole.
502
+ */
503
+ get: operations["get-sli-report"];
504
+ put?: never;
505
+ post?: never;
506
+ delete?: never;
507
+ options?: never;
508
+ head?: never;
509
+ patch?: never;
510
+ trace?: never;
511
+ };
512
+ "/api/v1/slo": {
513
+ parameters: {
514
+ query?: never;
515
+ header?: never;
516
+ path?: never;
517
+ cookie?: never;
518
+ };
519
+ /**
520
+ * Get the availability target of this project
521
+ * @description A project that has never set one returns 404 rather than a default target: making no promise and promising 99.9% are different things.
522
+ */
523
+ get: operations["get-slo"];
524
+ /**
525
+ * Set the availability target of this project, or change it
526
+ * @description One SLO per project, **create or replace**.
527
+ *
528
+ * `min_severity` must be chosen explicitly: it defines what counts as unavailable, which is half of what the target means.
529
+ */
530
+ put: operations["put-slo"];
531
+ post?: never;
532
+ /**
533
+ * Remove the availability target of this project
534
+ * @description Availability is no longer tracked from this point on.
535
+ */
536
+ delete: operations["delete-slo"];
537
+ options?: never;
538
+ head?: never;
539
+ patch?: never;
540
+ trace?: never;
541
+ };
542
+ "/api/v1/status-page": {
543
+ parameters: {
544
+ query?: never;
545
+ header?: never;
546
+ path?: never;
547
+ cookie?: never;
548
+ };
549
+ /**
550
+ * Get the status page of this project
551
+ * @description A project has at most one status page. A project that has never created one returns 404.
552
+ */
553
+ get: operations["get-status-page"];
554
+ /**
555
+ * Create the status page, or replace its configuration
556
+ * @description **Create or replace**: changing the title, switching the domain, publishing and unpublishing are all done by sending the complete configuration again.
557
+ *
558
+ * While `published` is false the public address returns 404, including any custom domain already bound. A newly created page is unpublished by default, so that a page still being configured has no address that opens.
559
+ *
560
+ * `slug` and `custom_domain` are **globally unique**; a value already taken returns 409.
561
+ */
562
+ put: operations["put-status-page"];
563
+ post?: never;
564
+ /**
565
+ * Delete the status page
566
+ * @description Its groups, components, availability history, incident notices and scheduled maintenance are removed together, and cannot be recovered. The slug and custom domain are released.
567
+ */
568
+ delete: operations["delete-status-page"];
569
+ options?: never;
570
+ head?: never;
571
+ patch?: never;
572
+ trace?: never;
573
+ };
574
+ "/api/v1/status-page/order": {
575
+ parameters: {
576
+ query?: never;
577
+ header?: never;
578
+ path?: never;
579
+ cookie?: never;
580
+ };
581
+ get?: never;
582
+ /**
583
+ * Set the order of the top level of the page
584
+ * @description Submits the **entire** top-level order in one call rather than moving a single entry to a given position.
585
+ *
586
+ * The top level interleaves groups and ungrouped components, so the order is expressed as one list covering both.
587
+ *
588
+ * Each entry carries either `group_id` or `component_id`. Entries not listed are placed after those that are.
589
+ */
590
+ put: operations["put-status-page-order"];
591
+ post?: never;
592
+ delete?: never;
593
+ options?: never;
594
+ head?: never;
595
+ patch?: never;
596
+ trace?: never;
597
+ };
598
+ "/api/v1/status-page/groups": {
599
+ parameters: {
600
+ query?: never;
601
+ header?: never;
602
+ path?: never;
603
+ cookie?: never;
604
+ };
605
+ /** List groups */
606
+ get: operations["list-status-page-groups"];
607
+ put?: never;
608
+ /**
609
+ * Create a group
610
+ * @description A group is one level of collapsing applied to components on the page. There is exactly one level; groups cannot be nested.
611
+ */
612
+ post: operations["create-status-page-group"];
613
+ delete?: never;
614
+ options?: never;
615
+ head?: never;
616
+ patch?: never;
617
+ trace?: never;
618
+ };
619
+ "/api/v1/status-page/groups/{groupId}": {
620
+ parameters: {
621
+ query?: never;
622
+ header?: never;
623
+ path: {
624
+ groupId: string;
625
+ };
626
+ cookie?: never;
627
+ };
628
+ get?: never;
629
+ /** Update a group */
630
+ put: operations["update-status-page-group"];
631
+ post?: never;
632
+ /**
633
+ * Delete a group
634
+ * @description The components in it are **not deleted**. They return to the top level as ungrouped components, keeping their availability history and the incident notices that reference them.
635
+ */
636
+ delete: operations["delete-status-page-group"];
637
+ options?: never;
638
+ head?: never;
639
+ patch?: never;
640
+ trace?: never;
641
+ };
642
+ "/api/v1/status-page/groups/{groupId}/order": {
643
+ parameters: {
644
+ query?: never;
645
+ header?: never;
646
+ path?: never;
647
+ cookie?: never;
648
+ };
649
+ get?: never;
650
+ /** Set the order of components within a group */
651
+ put: operations["put-status-page-group-order"];
652
+ post?: never;
653
+ delete?: never;
654
+ options?: never;
655
+ head?: never;
656
+ patch?: never;
657
+ trace?: never;
658
+ };
659
+ "/api/v1/status-page/components": {
660
+ parameters: {
661
+ query?: never;
662
+ header?: never;
663
+ path?: never;
664
+ cookie?: never;
665
+ };
666
+ /**
667
+ * List components
668
+ * @description A component is one row on the status page: an externally promised capability. It is not a machine — a single component may be backed by several machines and several web checks.
669
+ */
670
+ get: operations["list-status-page-components"];
671
+ put?: never;
672
+ /**
673
+ * Create a component
674
+ * @description `name` is **customer-facing copy** and appears verbatim on the public page; do not use machine names.
675
+ *
676
+ * `auto_status_min_severity` sets how severe an alert must be before it changes the status of this row; anything below it has no effect. The default is AVERAGE. Lower settings tend to keep the page permanently off-green, at which point people stop reading it.
677
+ */
678
+ post: operations["create-status-page-component"];
679
+ delete?: never;
680
+ options?: never;
681
+ head?: never;
682
+ patch?: never;
683
+ trace?: never;
684
+ };
685
+ "/api/v1/status-page/components/{componentId}": {
686
+ parameters: {
687
+ query?: never;
688
+ header?: never;
689
+ path: {
690
+ componentId: string;
691
+ };
692
+ cookie?: never;
693
+ };
694
+ /** Get a component */
695
+ get: operations["get-status-page-component"];
696
+ /**
697
+ * Update a component
698
+ * @description `started_on` cannot be changed: it determines where the availability bar stops showing as unmeasured, and changing it would rewrite history that has already been published.
699
+ */
700
+ put: operations["update-status-page-component"];
701
+ post?: never;
702
+ /**
703
+ * Delete a component
704
+ * @description Its availability history is removed along with it. Passages in already-published notices that refer to it are retained, since customers may already have read them.
705
+ */
706
+ delete: operations["delete-status-page-component"];
707
+ options?: never;
708
+ head?: never;
709
+ patch?: never;
710
+ trace?: never;
711
+ };
712
+ "/api/v1/status-page/components/{componentId}/sources": {
713
+ parameters: {
714
+ query?: never;
715
+ header?: never;
716
+ path: {
717
+ componentId: string;
718
+ };
719
+ cookie?: never;
720
+ };
721
+ /**
722
+ * List the monitored sources bound to a component
723
+ * @description Monitored sources are internal information and **never appear on the public page**.
724
+ */
725
+ get: operations["list-status-page-component-sources"];
726
+ /**
727
+ * Set the complete list of monitored sources for a component
728
+ * @description Submits the **complete** set of sources; anything not listed is unbound.
729
+ *
730
+ * Once bound, alerts on these machines and web checks drive the status of the component automatically: DISASTER and HIGH are reported as a major outage, AVERAGE as a partial outage, and WARNING as degraded performance. Alerts below `auto_status_min_severity` have no effect.
731
+ *
732
+ * `show_url` controls whether the checked address is shown on the public page. It is off by default.
733
+ */
734
+ put: operations["put-status-page-component-sources"];
735
+ post?: never;
736
+ delete?: never;
737
+ options?: never;
738
+ head?: never;
739
+ patch?: never;
740
+ trace?: never;
741
+ };
742
+ "/api/v1/status-page/incidents": {
743
+ parameters: {
744
+ query?: never;
745
+ header?: never;
746
+ path?: never;
747
+ cookie?: never;
748
+ };
749
+ /**
750
+ * List the incident notices on the status page
751
+ * @description These are **customer-facing notices**, distinct from the monitoring incidents under `/incidents`. Nothing from the latter is carried over; the text here is written by your team.
752
+ */
753
+ get: operations["list-status-page-incidents"];
754
+ put?: never;
755
+ /**
756
+ * Publish an incident notice
757
+ * @description Publishing a notice and writing its first update are a single operation: a notice with no updates would appear as a bare title on a page that has already been delivered to readers.
758
+ *
759
+ * `started_at` is when the **incident began**, not when the notice was published. The two are usually minutes to hours apart, and using the publication time would understate the impact window that customers can compare against their own logs. Backfilling a past incident relies on the same field.
760
+ *
761
+ * The statuses given in `components` take effect on the public page immediately and count towards availability.
762
+ */
763
+ post: operations["publish-status-page-incident"];
764
+ delete?: never;
765
+ options?: never;
766
+ head?: never;
767
+ patch?: never;
768
+ trace?: never;
769
+ };
770
+ "/api/v1/status-page/incidents/{incidentId}": {
771
+ parameters: {
772
+ query?: never;
773
+ header?: never;
774
+ path?: never;
775
+ cookie?: never;
776
+ };
777
+ /** Get an incident notice */
778
+ get: operations["get-status-page-incident"];
779
+ put?: never;
780
+ post?: never;
781
+ delete?: never;
782
+ options?: never;
783
+ head?: never;
784
+ patch?: never;
785
+ trace?: never;
786
+ };
787
+ "/api/v1/status-page/incidents/{incidentId}/updates": {
788
+ parameters: {
789
+ query?: never;
790
+ header?: never;
791
+ path?: never;
792
+ cookie?: never;
793
+ };
794
+ get?: never;
795
+ put?: never;
796
+ /**
797
+ * Append an update to an incident notice
798
+ * @description Published updates are never modified; a correction is issued as a new update. Customers may already have forwarded the original, and a silent rewrite would leave the two sides with different histories.
799
+ *
800
+ * `components` lists only the components **being changed** by this update; those not listed keep their current status. Setting `status` to `RESOLVED` returns every component this notice has affected to operational and closes the notice. A closed notice accepts no further updates.
801
+ */
802
+ post: operations["post-status-page-incident-update"];
803
+ delete?: never;
804
+ options?: never;
805
+ head?: never;
806
+ patch?: never;
807
+ trace?: never;
808
+ };
809
+ "/api/v1/status-page/maintenances": {
810
+ parameters: {
811
+ query?: never;
812
+ header?: never;
813
+ path?: never;
814
+ cookie?: never;
815
+ };
816
+ /** List scheduled maintenance */
817
+ get: operations["list-status-page-maintenances"];
818
+ put?: never;
819
+ /**
820
+ * Schedule maintenance
821
+ * @description Maintenance starts and finishes automatically at the scheduled times; nobody needs to be present. While it runs, the affected components are shown as under maintenance and **availability is not reduced** — planned work should not consume the availability you promise to customers, which is the point of announcing it in advance.
822
+ *
823
+ * This is separate from `/maintenance-windows`, which suppresses alerting for a period. This endpoint announces the work to your customers. The two are usually created together: without suppression, restarts during the maintenance raise alerts and mark the components unavailable.
824
+ */
825
+ post: operations["schedule-status-page-maintenance"];
826
+ delete?: never;
827
+ options?: never;
828
+ head?: never;
829
+ patch?: never;
830
+ trace?: never;
831
+ };
832
+ "/api/v1/status-page/maintenances/{maintenanceId}": {
833
+ parameters: {
834
+ query?: never;
835
+ header?: never;
836
+ path?: never;
837
+ cookie?: never;
838
+ };
839
+ /** Get a scheduled maintenance */
840
+ get: operations["get-status-page-maintenance"];
841
+ put?: never;
842
+ post?: never;
843
+ delete?: never;
844
+ options?: never;
845
+ head?: never;
846
+ patch?: never;
847
+ trace?: never;
848
+ };
849
+ "/api/v1/status-page/maintenances/{maintenanceId}/cancel": {
850
+ parameters: {
851
+ query?: never;
852
+ header?: never;
853
+ path?: never;
854
+ cookie?: never;
855
+ };
856
+ get?: never;
857
+ put?: never;
858
+ /**
859
+ * Cancel a maintenance that has not started
860
+ * @description Cancelled rather than deleted, so that readers who saw the announcement have an explanation. Maintenance that has already started cannot be cancelled; finish it early instead.
861
+ */
862
+ post: operations["cancel-status-page-maintenance"];
863
+ delete?: never;
864
+ options?: never;
865
+ head?: never;
866
+ patch?: never;
867
+ trace?: never;
868
+ };
869
+ "/api/v1/status-page/maintenances/{maintenanceId}/complete": {
870
+ parameters: {
871
+ query?: never;
872
+ header?: never;
873
+ path?: never;
874
+ cookie?: never;
875
+ };
876
+ get?: never;
877
+ put?: never;
878
+ /**
879
+ * Finish a running maintenance early
880
+ * @description Optional: maintenance finishes on its own at the scheduled end time. Use this endpoint when the work is done ahead of schedule; the affected components return to operational immediately.
881
+ */
882
+ post: operations["complete-status-page-maintenance"];
883
+ delete?: never;
884
+ options?: never;
885
+ head?: never;
886
+ patch?: never;
887
+ trace?: never;
888
+ };
889
+ "/api/v1/web-checks/{checkId}": {
890
+ parameters: {
891
+ query?: never;
892
+ header?: never;
893
+ path: {
894
+ checkId: string;
895
+ };
896
+ cookie?: never;
897
+ };
898
+ /** Get a project-level web check */
899
+ get: operations["get-project-web-check"];
900
+ /**
901
+ * Create a web check that is not tied to a machine, or replace it by the same id
902
+ * @description **Create or replace**: to modify a check, call this endpoint again with the same id.
903
+ *
904
+ * Unlike `/servers/{serverId}/web-checks/{checkId}`, this check does not belong to any machine — use it when the target is simply a URL. Nothing needs to be enrolled first.
905
+ *
906
+ * A check bound to a machine is removed together with that machine; a project-level check is not. Where a check belongs cannot be changed afterwards: move it by deleting and recreating it.
907
+ */
908
+ put: operations["put-project-web-check"];
909
+ post?: never;
910
+ /**
911
+ * Delete a project-level web check
912
+ * @description The corresponding check task and trigger are removed from the monitoring system as well.
913
+ */
914
+ delete: operations["delete-project-web-check"];
915
+ options?: never;
916
+ head?: never;
917
+ patch?: never;
918
+ trace?: never;
919
+ };
920
+ "/api/v1/status-page/domain": {
921
+ parameters: {
922
+ query?: never;
923
+ header?: never;
924
+ path?: never;
925
+ cookie?: never;
926
+ };
927
+ /**
928
+ * Get the custom domain and its certificate state
929
+ * @description Reports whether the domain currently resolves to the status page and where its certificate stands.
930
+ *
931
+ * `expected_cname` is the value the domain must point at. `observed_cname` is what it currently resolves to, which is what to show the user when verification fails — "verification failed" on its own tells them nothing about what to fix.
932
+ */
933
+ get: operations["get-status-page-domain"];
934
+ /**
935
+ * Bind a custom domain to this status page
936
+ * @description The domain must already point at the status page by CNAME. Binding is rejected until it does, and the error carries both the expected and the observed target.
937
+ *
938
+ * Ownership is verified before the domain is stored, and it is verified again before each certificate is issued: a domain whose CNAME is later removed stops being served.
939
+ *
940
+ * A certificate is requested in the background — this call does not wait for it. Poll GET on this endpoint to follow its progress; until a certificate is active, the domain does not serve HTTPS while the page remains reachable at its shared address.
941
+ */
942
+ put: operations["put-status-page-domain"];
943
+ post?: never;
944
+ /**
945
+ * Unbind the custom domain
946
+ * @description The page stays reachable at its shared address. Certificate renewal for the domain stops; the certificate already issued is left to expire.
947
+ */
948
+ delete: operations["delete-status-page-domain"];
949
+ options?: never;
950
+ head?: never;
951
+ patch?: never;
952
+ trace?: never;
953
+ };
954
+ }
955
+ export type webhooks = Record<string, never>;
956
+ export interface components {
957
+ schemas: {
958
+ Error: {
959
+ code?: string;
960
+ message: string;
961
+ meta?: {
962
+ [key: string]: unknown;
963
+ };
964
+ /** Format: int64 */
965
+ status: number;
966
+ };
967
+ IncidentFollowerResource: {
968
+ display_name: string;
969
+ /** Format: date-time */
970
+ followed_at: string;
971
+ user_id: string;
972
+ };
973
+ MonitoringItemResource: {
974
+ /** @description Such as last, avg, min or max */
975
+ aggregation_function: string;
976
+ /** Format: int64 */
977
+ evaluation_window_seconds: number;
978
+ item_id: string;
979
+ key: string;
980
+ name: string;
981
+ operator: string;
982
+ /**
983
+ * Format: double
984
+ * @description Present only when `threshold_status` is RESOLVED
985
+ */
986
+ threshold: number | null;
987
+ threshold_status: string;
988
+ /** @description The value at the moment of the trigger, stored as collected */
989
+ value: string;
990
+ };
991
+ TagResource: {
992
+ tag: string;
993
+ value: string;
994
+ };
995
+ IncidentResource: {
996
+ acknowledge_message: string;
997
+ acknowledged: boolean;
998
+ /** Format: date-time */
999
+ acknowledged_at: string | null;
1000
+ acknowledged_by_display_name: string;
1001
+ acknowledged_by_user_id: string;
1002
+ /** Format: date-time */
1003
+ assigned_at: string | null;
1004
+ assignee_display_name: string;
1005
+ assignee_user_id: string;
1006
+ close_message: string;
1007
+ close_reason: string;
1008
+ /** Format: date-time */
1009
+ closed_at: string | null;
1010
+ closed_by_display_name: string;
1011
+ closed_by_user_id: string;
1012
+ /** Format: int64 */
1013
+ duration_seconds: number;
1014
+ followers: components["schemas"]["IncidentFollowerResource"][] | null;
1015
+ host_connection: string;
1016
+ host_display_name: string;
1017
+ /** Format: uuid */
1018
+ id: string;
1019
+ /**
1020
+ * @description Whether monitoring considers the problem recovered. Independent of whether anyone has closed the incident
1021
+ * @enum {string}
1022
+ */
1023
+ incident_status: "PROBLEM" | "RESOLVED";
1024
+ items: components["schemas"]["MonitoringItemResource"][] | null;
1025
+ name: string;
1026
+ /** @description The operational data line configured on the trigger */
1027
+ operational_data: string;
1028
+ /** Format: uuid */
1029
+ project_id: string;
1030
+ /** Format: date-time */
1031
+ resolved_at: string | null;
1032
+ resolved_trigger_expression: string;
1033
+ /**
1034
+ * Format: uuid
1035
+ * @description The machine this alert is about. Null when the alert is not about a machine
1036
+ */
1037
+ server_id: string | null;
1038
+ /** @description Empty when server_id is null */
1039
+ server_name: string;
1040
+ /** @enum {string} */
1041
+ severity: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1042
+ /** Format: date-time */
1043
+ started_at: string;
1044
+ tags: components["schemas"]["TagResource"][] | null;
1045
+ trigger_expression: string;
1046
+ /**
1047
+ * Format: uuid
1048
+ * @description The web check that reported this alert. Null when the alert did not come from a web check. Both this and server_id are set when the check runs on one of your machines
1049
+ */
1050
+ web_check_id: string | null;
1051
+ zabbix_event_id: string;
1052
+ };
1053
+ LengthAwarePageIncidentResource: {
1054
+ /** @description The records in this page */
1055
+ items: components["schemas"]["IncidentResource"][];
1056
+ /**
1057
+ * Format: int64
1058
+ * @description Maximum records per page, echoing the request
1059
+ */
1060
+ limit: number;
1061
+ /**
1062
+ * Format: int64
1063
+ * @description Number of records skipped, echoing the request
1064
+ */
1065
+ offset: number;
1066
+ /**
1067
+ * Format: int64
1068
+ * @description Total number of matches, not just this page
1069
+ */
1070
+ total: number;
1071
+ };
1072
+ AcknowledgeIncidentRequestBody: {
1073
+ /** @description Also written to the acknowledgement record in the monitoring system */
1074
+ message?: string;
1075
+ };
1076
+ AssignIncidentRequestBody: {
1077
+ /** @description Defaults to the user id. The timeline keeps a copy of the name as it was at the time */
1078
+ assignee_display_name?: string;
1079
+ assignee_user_id?: string;
1080
+ };
1081
+ CloseIncidentRequestBody: {
1082
+ /** @description Required when `reason` is OTHER; the request is rejected otherwise */
1083
+ message?: string;
1084
+ /** @enum {string} */
1085
+ reason: "RECOVERED" | "FIXED" | "FALSE_POSITIVE" | "DUPLICATE" | "NO_ACTION_REQUIRED" | "ACCEPTED_RISK" | "OTHER";
1086
+ };
1087
+ AddCommentRequestBody: {
1088
+ message: string;
1089
+ };
1090
+ IncidentActivityResource: {
1091
+ /** @enum {string} */
1092
+ activity_type: "OPENED" | "RECOVERED" | "ACKNOWLEDGED" | "ASSIGNED" | "UNASSIGNED" | "FOLLOWER_ADDED" | "FOLLOWER_REMOVED" | "COMMENT" | "CLOSED" | "REOPENED";
1093
+ actor_display_name: string;
1094
+ /** @description The operator. Empty when the source is SYSTEM or ZABBIX */
1095
+ actor_user_id: string;
1096
+ close_reason: string;
1097
+ /** Format: uuid */
1098
+ id: string;
1099
+ /** Format: uuid */
1100
+ incident_id: string;
1101
+ message: string;
1102
+ /** Format: date-time */
1103
+ occurred_at: string;
1104
+ /** @enum {string} */
1105
+ source: "SYSTEM" | "OPERATOR" | "ZABBIX";
1106
+ subject_display_name: string;
1107
+ /** @description The user who was assigned, or removed from the followers */
1108
+ subject_user_id: string;
1109
+ };
1110
+ SetFollowingRequestBody: {
1111
+ following: boolean;
1112
+ };
1113
+ CursorPageIncidentActivityResource: {
1114
+ /** @description The records in this page */
1115
+ items: components["schemas"]["IncidentActivityResource"][];
1116
+ /** @description Cursor for the next page. Empty means the end has been reached */
1117
+ next_cursor: string;
1118
+ };
1119
+ MaintenancePeriodResource: {
1120
+ /** Format: int64 */
1121
+ duration_seconds: number;
1122
+ /**
1123
+ * Format: int64
1124
+ * @description DAILY and WEEKLY: every N days or every N weeks
1125
+ */
1126
+ every: number;
1127
+ /** @enum {string} */
1128
+ kind: "ONCE" | "DAILY" | "WEEKLY";
1129
+ /**
1130
+ * Format: int64
1131
+ * @description DAILY and WEEKLY: seconds from midnight, in the timezone of the window
1132
+ */
1133
+ start_time_seconds: number;
1134
+ /**
1135
+ * Format: date-time
1136
+ * @description Present only for ONCE
1137
+ */
1138
+ starts_at: string | null;
1139
+ /**
1140
+ * Format: int64
1141
+ * @description WEEKLY: bitmap of weekdays, **Monday is the lowest bit**
1142
+ */
1143
+ weekdays: number;
1144
+ };
1145
+ MaintenanceWindowResource: {
1146
+ /** Format: date-time */
1147
+ active_since: string;
1148
+ /** Format: date-time */
1149
+ active_till: string;
1150
+ description: string;
1151
+ last_error: string;
1152
+ name: string;
1153
+ period: components["schemas"]["MaintenancePeriodResource"];
1154
+ /** Format: uuid */
1155
+ project_id: string;
1156
+ /** @description Empty covers the **entire project** */
1157
+ server_ids: string[] | null;
1158
+ /** @enum {string} */
1159
+ sync_status: "PENDING" | "ACTIVE" | "FAILED" | "EXPIRED";
1160
+ timezone: string;
1161
+ /** Format: uuid */
1162
+ window_id: string;
1163
+ };
1164
+ MaintenanceWindowListResponseBody: {
1165
+ items: components["schemas"]["MaintenanceWindowResource"][] | null;
1166
+ };
1167
+ MaintenancePeriodRequest: {
1168
+ /** Format: int64 */
1169
+ duration_seconds?: number;
1170
+ /**
1171
+ * Format: int64
1172
+ * @description DAILY and WEEKLY: every N days or every N weeks
1173
+ */
1174
+ every?: number;
1175
+ /** @enum {string} */
1176
+ kind: "ONCE" | "DAILY" | "WEEKLY";
1177
+ /**
1178
+ * Format: int64
1179
+ * @description DAILY and WEEKLY: seconds from midnight, in the timezone of the window
1180
+ */
1181
+ start_time_seconds?: number;
1182
+ /**
1183
+ * Format: date-time
1184
+ * @description Used only by ONCE
1185
+ */
1186
+ starts_at?: string;
1187
+ /**
1188
+ * Format: int64
1189
+ * @description WEEKLY: bitmap of weekdays, **Monday is the lowest bit**
1190
+ */
1191
+ weekdays?: number;
1192
+ };
1193
+ PutMaintenanceWindowRequestBody: {
1194
+ /**
1195
+ * Format: date-time
1196
+ * @description Start of the period in which the rule is effective
1197
+ */
1198
+ active_since: string;
1199
+ /** Format: date-time */
1200
+ active_till: string;
1201
+ description?: string;
1202
+ name: string;
1203
+ period: components["schemas"]["MaintenancePeriodRequest"];
1204
+ server_ids?: string[] | null;
1205
+ /** @description IANA name such as Asia/Shanghai. Empty uses the configured default */
1206
+ timezone?: string;
1207
+ };
1208
+ CountResource: {
1209
+ /** Format: int64 */
1210
+ count: number;
1211
+ key: string;
1212
+ };
1213
+ ProjectOverviewResource: {
1214
+ /** Format: int64 */
1215
+ monitored_servers: number;
1216
+ problem_counts: components["schemas"]["CountResource"][] | null;
1217
+ reachability_counts: components["schemas"]["CountResource"][] | null;
1218
+ /** Format: int64 */
1219
+ total_servers: number;
1220
+ };
1221
+ ItemResource: {
1222
+ item_id: string;
1223
+ key: string;
1224
+ /** Format: date-time */
1225
+ last_collected_at: string | null;
1226
+ last_value: string;
1227
+ name: string;
1228
+ tags: components["schemas"]["TagResource"][] | null;
1229
+ units: string;
1230
+ /** @enum {string} */
1231
+ value_type: "FLOAT" | "CHARACTER" | "LOG" | "UNSIGNED" | "TEXT";
1232
+ };
1233
+ ItemListResponseBody: {
1234
+ items: components["schemas"]["ItemResource"][] | null;
1235
+ };
1236
+ MetricPointResource: {
1237
+ /** Format: double */
1238
+ max_value: number;
1239
+ /** Format: double */
1240
+ min_value: number;
1241
+ /** Format: date-time */
1242
+ timestamp: string;
1243
+ /** Format: double */
1244
+ value: number;
1245
+ };
1246
+ MetricSeriesResource: {
1247
+ item_id: string;
1248
+ item_key: string;
1249
+ item_name: string;
1250
+ points: components["schemas"]["MetricPointResource"][] | null;
1251
+ units: string;
1252
+ };
1253
+ ItemThresholdResource: {
1254
+ aggregation_function: string;
1255
+ /** Format: int64 */
1256
+ evaluation_window_seconds: number;
1257
+ item_id: string;
1258
+ operator: string;
1259
+ severity: string;
1260
+ /** Format: double */
1261
+ threshold: number;
1262
+ /** @description Labels the line in the chart legend */
1263
+ trigger_name: string;
1264
+ };
1265
+ MetricResponseBody: {
1266
+ downsampled: boolean;
1267
+ /** Format: date-time */
1268
+ effective_from: string;
1269
+ /** Format: date-time */
1270
+ effective_to: string;
1271
+ /** @description Data comes from hourly aggregates, one point per hour */
1272
+ from_trends: boolean;
1273
+ series: components["schemas"]["MetricSeriesResource"][] | null;
1274
+ thresholds: components["schemas"]["ItemThresholdResource"][] | null;
1275
+ truncated: boolean;
1276
+ };
1277
+ HostInterfaceResource: {
1278
+ available: boolean;
1279
+ dns: string;
1280
+ ip: string;
1281
+ /** Format: int64 */
1282
+ port: number;
1283
+ use_ip: boolean;
1284
+ };
1285
+ ServerResourcesResource: {
1286
+ interfaces: components["schemas"]["HostInterfaceResource"][] | null;
1287
+ /** @description Hardware and system inventory collected automatically: CPU, memory, operating system and so on */
1288
+ inventory: {
1289
+ [key: string]: string;
1290
+ };
1291
+ tags: components["schemas"]["TagResource"][] | null;
1292
+ };
1293
+ SnapshotResource: {
1294
+ agent_error: string;
1295
+ /**
1296
+ * @description AGENT_DOWN means the agent is unreachable while the machine is still alive; UNREACHABLE means neither can be established
1297
+ * @enum {string}
1298
+ */
1299
+ agent_reachability: "UNKNOWN" | "REACHABLE" | "AGENT_DOWN" | "UNREACHABLE";
1300
+ /** Format: date-time */
1301
+ last_collected_at: string | null;
1302
+ monitoring_enabled: boolean;
1303
+ problem_counts: components["schemas"]["CountResource"][] | null;
1304
+ };
1305
+ TopItemResource: {
1306
+ item_key: string;
1307
+ /** Format: uuid */
1308
+ server_id: string;
1309
+ units: string;
1310
+ /** Format: double */
1311
+ value: number;
1312
+ };
1313
+ TopItemListResponseBody: {
1314
+ items: components["schemas"]["TopItemResource"][] | null;
1315
+ };
1316
+ TemplateCatalogParameterResource: {
1317
+ /** @description The value that takes effect when the parameter is omitted. An empty string is a real default, not an absent one */
1318
+ default: string;
1319
+ /**
1320
+ * @description The shape of the accepted value. Surrounding whitespace is trimmed before the value is checked, and an omitted or empty value is replaced by `default` and not checked at all.
1321
+ *
1322
+ * - `string` — no constraint; empty is accepted
1323
+ * - `non_empty_string` — must not be empty once trimmed
1324
+ * - `percent` — a number in the **closed** interval 0 to 100; fractions are accepted
1325
+ * - `positive_number` — a number **strictly** greater than 0; fractions are accepted
1326
+ * - `port` — an integer from 1 to 65535 inclusive; `8080/tcp` is not a port
1327
+ * - `host` — an IP address, or a hostname of at most 255 characters whose dot-separated labels are at most 63 characters of `A-Z a-z 0-9 - _` and neither begin nor end with `-`. A single label such as `localhost` is accepted, as is a trailing dot
1328
+ * - `ip_or_empty` — an IP address, or empty to mean "not specified"
1329
+ * - `regexp` — must compile as a **Go RE2** pattern. RE2 has no backreferences and no lookaround, so a pattern that a browser's `new RegExp()` accepts may still be rejected here. Validating client-side narrows the gap but does not close it
1330
+ * @enum {string}
1331
+ */
1332
+ kind: "string" | "non_empty_string" | "percent" | "positive_number" | "port" | "host" | "ip_or_empty" | "regexp";
1333
+ /** @description The key to use in `template_bindings[].parameters`. It is not the Zabbix macro name, which is internal and changes between Zabbix versions */
1334
+ name: string;
1335
+ /** @description Independent of `default`. The three NGINX connection parameters carry a default and are still required, because the template's own default (localhost:80/basic_status) is almost never right */
1336
+ required: boolean;
1337
+ /** @description Supplied in clear text and never returned. A configured one is reported by name only, through `configured_secret_parameters` on the bound template. When updating a machine that already has one stored, omit it to keep the stored value and supply it only to replace it — a caller cannot read it back, so requiring it on every write would make resuming collection impossible */
1338
+ secret: boolean;
1339
+ };
1340
+ TemplateCatalogEntryResource: {
1341
+ /** @description Exactly one template with this set must be bound to every machine. Binding none enrolls a machine that can never alert; binding both loads the Linux and Windows items onto one machine, half of which must fail */
1342
+ is_base: boolean;
1343
+ /** @description False means the template collects without an agent on the machine — ICMP_PING is pinged by the Zabbix server, PROXMOX_VE is polled over the PVE API */
1344
+ needs_agent: boolean;
1345
+ /** @description In declaration order — connection parameters first, thresholds after — and meant to be rendered in that order. It is deliberately not alphabetical, which would split a template's connection parameters apart with thresholds between them even though they only make sense filled in together */
1346
+ parameters: components["schemas"]["TemplateCatalogParameterResource"][] | null;
1347
+ /** @description Templates that must be bound alongside this one. Values are `template_key`s */
1348
+ requires: string[] | null;
1349
+ /** @description Whether this template may be bound when `agent_mode` is ACTIVE. It already combines both reasons it may not be — no active variant exists, or this deployment does not have one installed — because the two are rejected identically and call for the same fix */
1350
+ supports_active_mode: boolean;
1351
+ template_key: string;
1352
+ };
1353
+ TemplateCatalogResponseBody: {
1354
+ items: components["schemas"]["TemplateCatalogEntryResource"][] | null;
1355
+ };
1356
+ ServerTemplateResource: {
1357
+ configured_secret_parameters: string[] | null;
1358
+ parameters: {
1359
+ [key: string]: string;
1360
+ };
1361
+ template_key: string;
1362
+ zabbix_template_id: string;
1363
+ zabbix_template_name: string;
1364
+ };
1365
+ ServerResource: {
1366
+ address: string;
1367
+ /** @enum {string} */
1368
+ address_kind: "ip" | "dns";
1369
+ /** @enum {string} */
1370
+ agent_mode: "PASSIVE" | "ACTIVE";
1371
+ /** Format: int64 */
1372
+ agent_port: number;
1373
+ /** Format: date-time */
1374
+ created_at: string;
1375
+ description: string;
1376
+ /** Format: uuid */
1377
+ id: string;
1378
+ last_error: string;
1379
+ /**
1380
+ * @description Consult `last_error` when this is FAILED
1381
+ * @enum {string}
1382
+ */
1383
+ monitoring_status: "PENDING" | "ACTIVE" | "DISABLED" | "FAILED";
1384
+ name: string;
1385
+ /** Format: uuid */
1386
+ project_id: string;
1387
+ templates: components["schemas"]["ServerTemplateResource"][] | null;
1388
+ /** Format: date-time */
1389
+ updated_at: string;
1390
+ /** @description The Hostname in the agent configuration must match this value; active checks identify the machine by it */
1391
+ zabbix_host_name: string;
1392
+ };
1393
+ LengthAwarePageServerResource: {
1394
+ /** @description The records in this page */
1395
+ items: components["schemas"]["ServerResource"][];
1396
+ /**
1397
+ * Format: int64
1398
+ * @description Maximum records per page, echoing the request
1399
+ */
1400
+ limit: number;
1401
+ /**
1402
+ * Format: int64
1403
+ * @description Number of records skipped, echoing the request
1404
+ */
1405
+ offset: number;
1406
+ /**
1407
+ * Format: int64
1408
+ * @description Total number of matches, not just this page
1409
+ */
1410
+ total: number;
1411
+ };
1412
+ TemplateBindingRequest: {
1413
+ /**
1414
+ * @description Parameters declared by the template, keyed by `name` from `GET /templates`. This is a full replacement: a parameter that is omitted takes the `default` reported there, so send back the whole `parameters` map read from the machine rather than only the field being changed.
1415
+ *
1416
+ * Secret parameters are the one exception, because they are never returned and so cannot be sent back. Omit one to keep the value already stored, and supply it only to replace it. An empty or blank value counts as omitted.
1417
+ */
1418
+ parameters?: {
1419
+ [key: string]: string;
1420
+ };
1421
+ /** @enum {string} */
1422
+ template_key: "LINUX" | "SYSTEMD" | "DOCKER" | "ICMP_PING" | "NGINX" | "PHP_FPM" | "WEBSITE_CERTIFICATE" | "WINDOWS" | "SMART" | "NVIDIA" | "PROXMOX_VE";
1423
+ };
1424
+ EnableMonitoringRequestBody: {
1425
+ address: string;
1426
+ /** @enum {string} */
1427
+ address_kind: "ip" | "dns";
1428
+ /**
1429
+ * @description Empty selects passive mode, which requires the least agent-side configuration
1430
+ * @enum {string}
1431
+ */
1432
+ agent_mode?: "PASSIVE" | "ACTIVE";
1433
+ /**
1434
+ * Format: int64
1435
+ * @description 0 uses the default of 10050
1436
+ */
1437
+ agent_port?: number;
1438
+ description?: string;
1439
+ name: string;
1440
+ template_bindings?: components["schemas"]["TemplateBindingRequest"][] | null;
1441
+ };
1442
+ EnrollmentResource: {
1443
+ /** @description Includes the PSK. Like `tls_psk`, it is returned only this once */
1444
+ install_command: string;
1445
+ install_script_url: string;
1446
+ /** @description **Returned only this once** */
1447
+ tls_psk: string;
1448
+ tls_psk_identity: string;
1449
+ zabbix_host_name: string;
1450
+ /** @description The Server and ServerActive values for the agent configuration */
1451
+ zabbix_server_address: string;
1452
+ };
1453
+ ServerEnrollmentResponseBody: {
1454
+ enrollment: components["schemas"]["EnrollmentResource"];
1455
+ server: components["schemas"]["ServerResource"];
1456
+ };
1457
+ UpdateServerRequestBody: {
1458
+ address?: string;
1459
+ /**
1460
+ * @description Must be supplied together with `address` when changing the address
1461
+ * @enum {string}
1462
+ */
1463
+ address_kind?: "ip" | "dns";
1464
+ /**
1465
+ * @description Changing the collection mode rebinds every template to the corresponding variant
1466
+ * @enum {string}
1467
+ */
1468
+ agent_mode?: "PASSIVE" | "ACTIVE";
1469
+ /** Format: int64 */
1470
+ agent_port?: number;
1471
+ description?: string;
1472
+ name?: string;
1473
+ template_bindings?: components["schemas"]["TemplateBindingRequest"][];
1474
+ };
1475
+ WebCheckResultResource: {
1476
+ /** Format: date-time */
1477
+ checked_at: string;
1478
+ error: string;
1479
+ /**
1480
+ * Format: int64
1481
+ * @description Index of the failed step, counting from 1. 0 when healthy
1482
+ */
1483
+ failed_step: number;
1484
+ healthy: boolean;
1485
+ /** Format: int64 */
1486
+ response_code: number;
1487
+ /** Format: double */
1488
+ response_time_seconds: number;
1489
+ };
1490
+ WebCheckStepResource: {
1491
+ /** @description Status code expression, such as 200 or 200,301-302 */
1492
+ expected_status_codes: string;
1493
+ follow_redirects: boolean;
1494
+ name: string;
1495
+ required_pattern: string;
1496
+ url: string;
1497
+ };
1498
+ WebCheckResource: {
1499
+ /** Format: uuid */
1500
+ check_id: string;
1501
+ /** Format: int64 */
1502
+ interval_seconds: number;
1503
+ last_error: string;
1504
+ /** Format: int64 */
1505
+ response_time_threshold_seconds: number;
1506
+ /** @description null means the check has not completed a round yet. A zero value would present "not yet known" as "0 seconds, status code 0" */
1507
+ result: components["schemas"]["WebCheckResultResource"] | null;
1508
+ /** Format: int64 */
1509
+ retries: number;
1510
+ /**
1511
+ * Format: uuid
1512
+ * @description The machine this check is attached to. Empty for a project-level check, which is not tied to any machine
1513
+ */
1514
+ server_id: string;
1515
+ steps: components["schemas"]["WebCheckStepResource"][] | null;
1516
+ /** @enum {string} */
1517
+ sync_status: "PENDING" | "ACTIVE" | "FAILED";
1518
+ /** Format: int64 */
1519
+ timeout_seconds: number;
1520
+ };
1521
+ WebCheckStepRequest: {
1522
+ /** @description Status code expression, such as 200 or 200,301-302. Empty disables status code checking */
1523
+ expected_status_codes?: string;
1524
+ follow_redirects?: boolean;
1525
+ name: string;
1526
+ /** @description A string that must appear in the response body */
1527
+ required_pattern?: string;
1528
+ url: string;
1529
+ };
1530
+ PutWebCheckRequestBody: {
1531
+ /**
1532
+ * Format: int64
1533
+ * @description 0 uses the default
1534
+ */
1535
+ interval_seconds?: number;
1536
+ /**
1537
+ * Format: int64
1538
+ * @description Slower than this counts as slow. 0 disables the response time check
1539
+ */
1540
+ response_time_threshold_seconds?: number;
1541
+ /** Format: int64 */
1542
+ retries?: number;
1543
+ steps: components["schemas"]["WebCheckStepRequest"][] | null;
1544
+ /** Format: int64 */
1545
+ timeout_seconds?: number;
1546
+ };
1547
+ WebCheckListResponseBody: {
1548
+ items: components["schemas"]["WebCheckResource"][] | null;
1549
+ };
1550
+ SLIReportRowResource: {
1551
+ /** Format: int64 */
1552
+ downtime_seconds: number;
1553
+ /**
1554
+ * Format: int64
1555
+ * @description A negative value means the budget for this period is already exhausted
1556
+ */
1557
+ error_budget_seconds: number;
1558
+ /**
1559
+ * Format: int64
1560
+ * @description The portion excluded by planned maintenance
1561
+ */
1562
+ excluded_downtime_seconds: number;
1563
+ /** Format: date-time */
1564
+ period_from: string;
1565
+ /** Format: date-time */
1566
+ period_to: string;
1567
+ /** @description Empty means this row covers the project as a whole */
1568
+ server_id: string;
1569
+ /** Format: double */
1570
+ sli_percent: number;
1571
+ /** Format: int64 */
1572
+ uptime_seconds: number;
1573
+ };
1574
+ SLIReportResponseBody: {
1575
+ rows: components["schemas"]["SLIReportRowResource"][] | null;
1576
+ };
1577
+ ScheduleWindowResource: {
1578
+ /** Format: int64 */
1579
+ end_time_seconds: number;
1580
+ /** Format: int64 */
1581
+ start_time_seconds: number;
1582
+ /**
1583
+ * Format: int64
1584
+ * @description Bitmap of weekdays, **Monday is the lowest bit**, using the same encoding as maintenance windows
1585
+ */
1586
+ weekdays: number;
1587
+ };
1588
+ SLOResource: {
1589
+ /** Format: date-time */
1590
+ effective_from: string;
1591
+ last_error: string;
1592
+ /** @enum {string} */
1593
+ min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1594
+ name: string;
1595
+ /** @enum {string} */
1596
+ period: "DAILY" | "WEEKLY" | "MONTHLY" | "QUARTERLY" | "ANNUALLY";
1597
+ /** Format: uuid */
1598
+ project_id: string;
1599
+ /** @description Empty means a 24x7 commitment */
1600
+ schedule: components["schemas"]["ScheduleWindowResource"][] | null;
1601
+ /** Format: uuid */
1602
+ slo_id: string;
1603
+ /**
1604
+ * Format: double
1605
+ * @description Target availability, such as 99.9
1606
+ */
1607
+ slo_percent: number;
1608
+ /** @enum {string} */
1609
+ sync_status: "PENDING" | "ACTIVE" | "FAILED";
1610
+ timezone: string;
1611
+ };
1612
+ ScheduleWindowRequest: {
1613
+ /** Format: int64 */
1614
+ end_time_seconds?: number;
1615
+ /** Format: int64 */
1616
+ start_time_seconds?: number;
1617
+ /**
1618
+ * Format: int64
1619
+ * @description Bitmap of weekdays, **Monday is the lowest bit** (1 = Monday … 64 = Sunday)
1620
+ */
1621
+ weekdays: number;
1622
+ };
1623
+ PutSLORequestBody: {
1624
+ /** Format: date-time */
1625
+ effective_from?: string;
1626
+ /** @enum {string} */
1627
+ min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1628
+ name: string;
1629
+ /**
1630
+ * @description Empty selects monthly
1631
+ * @enum {string}
1632
+ */
1633
+ period?: "DAILY" | "WEEKLY" | "MONTHLY" | "QUARTERLY" | "ANNUALLY";
1634
+ schedule?: components["schemas"]["ScheduleWindowRequest"][] | null;
1635
+ /** Format: uuid */
1636
+ slo_id: string;
1637
+ /**
1638
+ * Format: double
1639
+ * @description Target availability, such as 99.9. At most four decimal places
1640
+ */
1641
+ slo_percent: number;
1642
+ /** @description Determines the boundaries of each reporting period, that is, the moment each period begins */
1643
+ timezone?: string;
1644
+ };
1645
+ StatusPageResource: {
1646
+ /** @description #RRGGBB */
1647
+ brand_color: string;
1648
+ /** Format: date-time */
1649
+ created_at: string;
1650
+ /** @description The custom domain bound to this page. Empty means it is served only at /{slug} under the shared domain */
1651
+ custom_domain: string;
1652
+ footer_text: string;
1653
+ headline: string;
1654
+ logo_url: string;
1655
+ name: string;
1656
+ /** @description The address this page is served at: the custom domain if one is bound, otherwise the shared domain with the slug, otherwise the shared domain with the project id */
1657
+ public_url: string;
1658
+ published: boolean;
1659
+ /** @description Whether search engines may index the page */
1660
+ search_engine_index: boolean;
1661
+ /** @description The readable address segment, empty when none is set. The page is always reachable at /<project id> regardless */
1662
+ slug: string;
1663
+ /** Format: uuid */
1664
+ status_page_id: string;
1665
+ support_url: string;
1666
+ /** @enum {string} */
1667
+ theme: "AUTO" | "LIGHT" | "DARK";
1668
+ /** @description Determines where the day boundary falls on the availability bar */
1669
+ timezone: string;
1670
+ /** Format: date-time */
1671
+ updated_at: string;
1672
+ /**
1673
+ * Format: int64
1674
+ * @description Number of days covered by the availability bar
1675
+ */
1676
+ uptime_days: number;
1677
+ /** @description The text shown on the support link. Empty means the page default is used */
1678
+ support_label: string;
1679
+ };
1680
+ PutStatusPageRequestBody: {
1681
+ /** @description #RRGGBB. Applied to the page styling; only a strict six-digit hexadecimal value is accepted */
1682
+ brand_color?: string;
1683
+ /** @description Read-only here. Bind a custom domain through PUT /status-page/domain, which verifies ownership first; a value sent here is ignored */
1684
+ custom_domain?: string;
1685
+ /** @description The line of free-form text in the page footer. Plain text */
1686
+ footer_text?: string;
1687
+ /** @description The line shown below the title */
1688
+ headline?: string;
1689
+ logo_url?: string;
1690
+ /** @description Page title */
1691
+ name: string;
1692
+ /**
1693
+ * @description While false, the public address returns 404. Unpublished by default
1694
+ * @default false
1695
+ */
1696
+ published?: boolean;
1697
+ /**
1698
+ * @description Not indexed by default. Once a page has been crawled, switching back does not remove copies already held in third-party indexes
1699
+ * @default false
1700
+ */
1701
+ search_engine_index?: boolean;
1702
+ /** @description An optional readable address segment under the shared domain. Lowercase letters, digits and hyphens; globally unique. Leave it empty and the page is served at /<project id>, which needs no configuration and cannot be taken by anyone else */
1703
+ slug?: string;
1704
+ support_url?: string;
1705
+ /**
1706
+ * @default AUTO
1707
+ * @enum {string}
1708
+ */
1709
+ theme?: "AUTO" | "LIGHT" | "DARK";
1710
+ /** @description IANA name. Empty selects UTC */
1711
+ timezone?: string;
1712
+ /**
1713
+ * Format: int64
1714
+ * @default 90
1715
+ */
1716
+ uptime_days?: number;
1717
+ /** @description The text shown on the support link. Empty uses the page default. Different products call this different things — help centre, submit a ticket, support */
1718
+ support_label?: string;
1719
+ };
1720
+ PutStatusPageOrderRequestBody: {
1721
+ items: components["schemas"]["StatusPageOrderItem"][];
1722
+ };
1723
+ /** @description Exactly one of the two: `group_id` marks this position as a group, `component_id` as an ungrouped component */
1724
+ StatusPageOrderItem: {
1725
+ /** Format: uuid */
1726
+ component_id?: string;
1727
+ /** Format: uuid */
1728
+ group_id?: string;
1729
+ };
1730
+ PutStatusPageGroupOrderRequestBody: {
1731
+ component_ids: string[];
1732
+ };
1733
+ StatusPageGroupResource: {
1734
+ /** @description Whether the group is collapsed by default on the page */
1735
+ collapsed: boolean;
1736
+ /** Format: date-time */
1737
+ created_at: string;
1738
+ description: string;
1739
+ /** Format: uuid */
1740
+ group_id: string;
1741
+ name: string;
1742
+ /** Format: int64 */
1743
+ position: number;
1744
+ };
1745
+ StatusPageGroupListResponseBody: {
1746
+ data: components["schemas"]["StatusPageGroupResource"][];
1747
+ };
1748
+ PutStatusPageGroupRequestBody: {
1749
+ /** @default true */
1750
+ collapsed?: boolean;
1751
+ description?: string;
1752
+ name: string;
1753
+ };
1754
+ StatusPageComponentResource: {
1755
+ /** @enum {string} */
1756
+ auto_status_min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1757
+ /** Format: uuid */
1758
+ component_id: string;
1759
+ /** Format: date-time */
1760
+ created_at: string;
1761
+ /**
1762
+ * @description The status currently shown to the public. OPERATIONAL means normal
1763
+ * @enum {string}
1764
+ */
1765
+ current_status: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1766
+ description: string;
1767
+ /** @description Empty means ungrouped, placed directly at the top level of the page */
1768
+ group_id: string;
1769
+ name: string;
1770
+ /** @description Hide this row while everything is normal */
1771
+ only_show_if_degraded: boolean;
1772
+ /** Format: int64 */
1773
+ position: number;
1774
+ /** @description Whether the availability bar is shown. Components with this disabled are also excluded from the aggregate of their group */
1775
+ show_uptime: boolean;
1776
+ /**
1777
+ * Format: date-time
1778
+ * @description The moment this component started being covered. Earlier days are shown as unmeasured rather than operational
1779
+ */
1780
+ started_on: string;
1781
+ /**
1782
+ * Format: double
1783
+ * @description Availability over the past `uptime_days` days
1784
+ */
1785
+ uptime_percent: number;
1786
+ };
1787
+ StatusPageComponentListResponseBody: {
1788
+ data: components["schemas"]["StatusPageComponentResource"][];
1789
+ };
1790
+ PutStatusPageComponentRequestBody: {
1791
+ /**
1792
+ * @description Alerts below this severity do not change the status of this row
1793
+ * @default AVERAGE
1794
+ * @enum {string}
1795
+ */
1796
+ auto_status_min_severity?: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1797
+ description?: string;
1798
+ /**
1799
+ * Format: uuid
1800
+ * @description Empty leaves the component ungrouped
1801
+ */
1802
+ group_id?: string;
1803
+ /** @description Customer-facing copy; appears verbatim on the public page */
1804
+ name: string;
1805
+ /** @default false */
1806
+ only_show_if_degraded?: boolean;
1807
+ /** @default true */
1808
+ show_uptime?: boolean;
1809
+ /**
1810
+ * Format: date-time
1811
+ * @description Meaningful only at creation and immutable afterwards. Empty selects the current moment
1812
+ */
1813
+ started_on?: string;
1814
+ };
1815
+ StatusPageComponentSourceServer: {
1816
+ /** Format: uuid */
1817
+ server_id: string;
1818
+ };
1819
+ StatusPageComponentSourceWebCheck: {
1820
+ /**
1821
+ * @description Whether the checked address is shown on the public page
1822
+ * @default false
1823
+ */
1824
+ show_url?: boolean;
1825
+ /** Format: uuid */
1826
+ web_check_id: string;
1827
+ };
1828
+ StatusPageComponentSourcesResource: {
1829
+ servers: components["schemas"]["StatusPageComponentSourceServer"][];
1830
+ web_checks: components["schemas"]["StatusPageComponentSourceWebCheck"][];
1831
+ };
1832
+ /** @description Submits the complete set; anything not listed is unbound */
1833
+ PutStatusPageComponentSourcesRequestBody: {
1834
+ servers?: components["schemas"]["StatusPageComponentSourceServer"][];
1835
+ web_checks?: components["schemas"]["StatusPageComponentSourceWebCheck"][];
1836
+ };
1837
+ /** @description A status transition of one component within one update. The component name is a snapshot taken at the time */
1838
+ StatusPageIncidentComponentResource: {
1839
+ /** Format: uuid */
1840
+ component_id: string;
1841
+ component_name: string;
1842
+ /** @enum {string} */
1843
+ new_status: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1844
+ /** @enum {string} */
1845
+ old_status: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1846
+ };
1847
+ StatusPageIncidentUpdateResource: {
1848
+ affected_components: components["schemas"]["StatusPageIncidentComponentResource"][] | null;
1849
+ /** @description Body text. Plain text */
1850
+ body: string;
1851
+ /** @enum {string} */
1852
+ incident_status: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1853
+ /** Format: date-time */
1854
+ published_at: string;
1855
+ /** Format: uuid */
1856
+ update_id: string;
1857
+ };
1858
+ StatusPageIncidentResource: {
1859
+ /** @enum {string} */
1860
+ impact: "NONE" | "MINOR" | "MAJOR" | "CRITICAL";
1861
+ /** Format: uuid */
1862
+ incident_id: string;
1863
+ /** @enum {string} */
1864
+ incident_status: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1865
+ name: string;
1866
+ /** Format: date-time */
1867
+ published_at: string;
1868
+ /** Format: date-time */
1869
+ resolved_at: string | null;
1870
+ /**
1871
+ * Format: date-time
1872
+ * @description When the incident began, not when the notice was published
1873
+ */
1874
+ started_at: string;
1875
+ /** @description Most recently published first */
1876
+ updates: components["schemas"]["StatusPageIncidentUpdateResource"][] | null;
1877
+ };
1878
+ LengthAwarePageStatusPageIncidentResource: {
1879
+ data: components["schemas"]["StatusPageIncidentResource"][];
1880
+ /** Format: int64 */
1881
+ limit: number;
1882
+ /** Format: int64 */
1883
+ offset: number;
1884
+ /** Format: int64 */
1885
+ total: number;
1886
+ };
1887
+ StatusPageIncidentComponentRequest: {
1888
+ /** Format: uuid */
1889
+ component_id: string;
1890
+ /**
1891
+ * @description Empty returns this component to operational
1892
+ * @enum {string}
1893
+ */
1894
+ status?: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1895
+ };
1896
+ PublishStatusPageIncidentRequestBody: {
1897
+ /** @description Body of the first update. Plain text */
1898
+ body: string;
1899
+ components?: components["schemas"]["StatusPageIncidentComponentRequest"][];
1900
+ /**
1901
+ * @description Empty derives the impact from the affected components
1902
+ * @enum {string}
1903
+ */
1904
+ impact?: "NONE" | "MINOR" | "MAJOR" | "CRITICAL";
1905
+ /**
1906
+ * @default INVESTIGATING
1907
+ * @enum {string}
1908
+ */
1909
+ incident_status?: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1910
+ /** @description The public title */
1911
+ name: string;
1912
+ /**
1913
+ * Format: date-time
1914
+ * @description Empty selects the current moment. Backfilling a past incident sets it in the past
1915
+ */
1916
+ published_at?: string;
1917
+ /**
1918
+ * Format: date-time
1919
+ * @description When the incident began. Empty uses the publication time
1920
+ */
1921
+ started_at?: string;
1922
+ };
1923
+ PostStatusPageIncidentUpdateRequestBody: {
1924
+ /** @description Body text. Plain text */
1925
+ body: string;
1926
+ /** @description Lists only the components being changed by this update; those not listed keep their current status */
1927
+ components?: components["schemas"]["StatusPageIncidentComponentRequest"][];
1928
+ /**
1929
+ * @description Empty keeps the current stage. RESOLVED closes the notice and returns every affected component to operational
1930
+ * @enum {string}
1931
+ */
1932
+ incident_status?: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1933
+ /** Format: date-time */
1934
+ published_at?: string;
1935
+ };
1936
+ StatusPageMaintenanceComponentResource: {
1937
+ /** Format: uuid */
1938
+ component_id: string;
1939
+ component_name: string;
1940
+ /** @enum {string} */
1941
+ component_status: "UNDER_MAINTENANCE" | "DEGRADED_PERFORMANCE";
1942
+ };
1943
+ StatusPageMaintenanceResource: {
1944
+ affected_components: components["schemas"]["StatusPageMaintenanceComponentResource"][] | null;
1945
+ /** @description Maintenance description. Plain text */
1946
+ body: string;
1947
+ /**
1948
+ * Format: date-time
1949
+ * @description When the maintenance actually finished
1950
+ */
1951
+ completed_at: string | null;
1952
+ /** Format: uuid */
1953
+ maintenance_id: string;
1954
+ /** @enum {string} */
1955
+ maintenance_status: "SCHEDULED" | "IN_PROGRESS" | "COMPLETED" | "CANCELLED";
1956
+ name: string;
1957
+ /** Format: date-time */
1958
+ scheduled_for: string;
1959
+ /** Format: date-time */
1960
+ scheduled_until: string;
1961
+ /**
1962
+ * Format: date-time
1963
+ * @description When the maintenance actually started, which may differ from the scheduled time
1964
+ */
1965
+ started_at: string | null;
1966
+ };
1967
+ LengthAwarePageStatusPageMaintenanceResource: {
1968
+ data: components["schemas"]["StatusPageMaintenanceResource"][];
1969
+ /** Format: int64 */
1970
+ limit: number;
1971
+ /** Format: int64 */
1972
+ offset: number;
1973
+ /** Format: int64 */
1974
+ total: number;
1975
+ };
1976
+ StatusPageMaintenanceComponentRequest: {
1977
+ /** Format: uuid */
1978
+ component_id: string;
1979
+ /**
1980
+ * @description How this component is shown while the maintenance runs. Neither value reduces availability
1981
+ * @default UNDER_MAINTENANCE
1982
+ * @enum {string}
1983
+ */
1984
+ component_status?: "UNDER_MAINTENANCE" | "DEGRADED_PERFORMANCE";
1985
+ };
1986
+ ScheduleStatusPageMaintenanceRequestBody: {
1987
+ /** @description Maintenance description. Plain text */
1988
+ body: string;
1989
+ /** @description At least one. Maintenance that affects no component reads on the page as an announcement with no subject */
1990
+ components: components["schemas"]["StatusPageMaintenanceComponentRequest"][];
1991
+ name: string;
1992
+ /** Format: date-time */
1993
+ scheduled_for: string;
1994
+ /**
1995
+ * Format: date-time
1996
+ * @description Must be later than `scheduled_for`
1997
+ */
1998
+ scheduled_until: string;
1999
+ };
2000
+ StatusPageDomainResource: {
2001
+ /**
2002
+ * Format: date-time
2003
+ * @description When the current certificate expires
2004
+ */
2005
+ certificate_not_after: string | null;
2006
+ /**
2007
+ * @description NONE means no certificate has been requested for this domain yet
2008
+ * @enum {string}
2009
+ */
2010
+ certificate_status: "NONE" | "PENDING" | "ACTIVE" | "FAILED";
2011
+ /** @description The bound custom domain. Empty means none is bound */
2012
+ domain: string;
2013
+ /** @description The value the domain must point at */
2014
+ expected_cname: string;
2015
+ /** @description Why the most recent issuance attempt failed. Empty when it did not */
2016
+ last_error: string;
2017
+ /** @description What the domain currently resolves to. Empty when it resolves to nothing */
2018
+ observed_cname: string;
2019
+ /** @description The address this page is served at, taking the custom domain into account */
2020
+ public_url: string;
2021
+ /** @description Whether the domain currently points at the status page */
2022
+ verified: boolean;
2023
+ /**
2024
+ * Format: date-time
2025
+ * @description When ownership was last confirmed
2026
+ */
2027
+ verified_at: string | null;
2028
+ };
2029
+ PutStatusPageDomainRequestBody: {
2030
+ /** @description Your own domain, such as status.acme.com. It must already point at the status page by CNAME */
2031
+ domain: string;
2032
+ };
2033
+ };
2034
+ responses: never;
2035
+ parameters: never;
2036
+ requestBodies: never;
2037
+ headers: never;
2038
+ pathItems: never;
2039
+ }
2040
+ export type $defs = Record<string, never>;
2041
+ export interface operations {
2042
+ "list-incidents": {
2043
+ parameters: {
2044
+ query?: {
2045
+ /** @description Maximum number of records in this page */
2046
+ limit?: number;
2047
+ /** @description Number of records to skip. For deeper paging, use the cursor-paged endpoint instead */
2048
+ offset?: number;
2049
+ /** @description Restrict to a single machine */
2050
+ server_id?: string;
2051
+ /** @description Restrict to a single web check */
2052
+ web_check_id?: string;
2053
+ incident_status?: "PROBLEM" | "RESOLVED";
2054
+ /** @description Matches at or above this severity, not exactly this severity */
2055
+ min_severity?: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
2056
+ started_after?: string;
2057
+ started_before?: string;
2058
+ /** @description Incidents that **overlap** [active_from, active_to]. This is what you want when overlaying incident bands on a metric chart */
2059
+ active_from?: string;
2060
+ active_to?: string;
2061
+ /** @description Given as `key` or `key=value`, repeatable. Multiple tags are combined with AND */
2062
+ tag?: string[] | null;
2063
+ assignee_user_id?: string;
2064
+ /** @description Whether someone has finished handling it here. Independent of `incident_status` */
2065
+ closed?: "true" | "false";
2066
+ acknowledged?: "true" | "false";
2067
+ unassigned?: "true" | "false";
2068
+ keyword?: string;
2069
+ };
2070
+ header?: never;
2071
+ path?: never;
2072
+ cookie?: never;
2073
+ };
2074
+ requestBody?: never;
2075
+ responses: {
2076
+ /** @description OK */
2077
+ 200: {
2078
+ headers: {
2079
+ [name: string]: unknown;
2080
+ };
2081
+ content: {
2082
+ "application/json": components["schemas"]["LengthAwarePageIncidentResource"];
2083
+ };
2084
+ };
2085
+ /** @description Error */
2086
+ default: {
2087
+ headers: {
2088
+ [name: string]: unknown;
2089
+ };
2090
+ content: {
2091
+ "application/json": components["schemas"]["Error"];
2092
+ };
2093
+ };
2094
+ };
2095
+ };
2096
+ "get-incident": {
2097
+ parameters: {
2098
+ query?: never;
2099
+ header?: never;
2100
+ path: {
2101
+ incidentId: string;
2102
+ };
2103
+ cookie?: never;
2104
+ };
2105
+ requestBody?: never;
2106
+ responses: {
2107
+ /** @description OK */
2108
+ 200: {
2109
+ headers: {
2110
+ [name: string]: unknown;
2111
+ };
2112
+ content: {
2113
+ "application/json": components["schemas"]["IncidentResource"];
2114
+ };
2115
+ };
2116
+ /** @description Error */
2117
+ default: {
2118
+ headers: {
2119
+ [name: string]: unknown;
2120
+ };
2121
+ content: {
2122
+ "application/json": components["schemas"]["Error"];
2123
+ };
2124
+ };
2125
+ };
2126
+ };
2127
+ "acknowledge-incident": {
2128
+ parameters: {
2129
+ query?: never;
2130
+ header?: never;
2131
+ path: {
2132
+ incidentId: string;
2133
+ };
2134
+ cookie?: never;
2135
+ };
2136
+ requestBody: {
2137
+ content: {
2138
+ "application/json": components["schemas"]["AcknowledgeIncidentRequestBody"];
2139
+ };
2140
+ };
2141
+ responses: {
2142
+ /** @description OK */
2143
+ 200: {
2144
+ headers: {
2145
+ [name: string]: unknown;
2146
+ };
2147
+ content: {
2148
+ "application/json": components["schemas"]["IncidentResource"];
2149
+ };
2150
+ };
2151
+ /** @description Error */
2152
+ default: {
2153
+ headers: {
2154
+ [name: string]: unknown;
2155
+ };
2156
+ content: {
2157
+ "application/json": components["schemas"]["Error"];
2158
+ };
2159
+ };
2160
+ };
2161
+ };
2162
+ "assign-incident": {
2163
+ parameters: {
2164
+ query?: never;
2165
+ header?: never;
2166
+ path: {
2167
+ incidentId: string;
2168
+ };
2169
+ cookie?: never;
2170
+ };
2171
+ requestBody: {
2172
+ content: {
2173
+ "application/json": components["schemas"]["AssignIncidentRequestBody"];
2174
+ };
2175
+ };
2176
+ responses: {
2177
+ /** @description OK */
2178
+ 200: {
2179
+ headers: {
2180
+ [name: string]: unknown;
2181
+ };
2182
+ content: {
2183
+ "application/json": components["schemas"]["IncidentResource"];
2184
+ };
2185
+ };
2186
+ /** @description Error */
2187
+ default: {
2188
+ headers: {
2189
+ [name: string]: unknown;
2190
+ };
2191
+ content: {
2192
+ "application/json": components["schemas"]["Error"];
2193
+ };
2194
+ };
2195
+ };
2196
+ };
2197
+ "close-incident": {
2198
+ parameters: {
2199
+ query?: never;
2200
+ header?: never;
2201
+ path: {
2202
+ incidentId: string;
2203
+ };
2204
+ cookie?: never;
2205
+ };
2206
+ requestBody: {
2207
+ content: {
2208
+ "application/json": components["schemas"]["CloseIncidentRequestBody"];
2209
+ };
2210
+ };
2211
+ responses: {
2212
+ /** @description OK */
2213
+ 200: {
2214
+ headers: {
2215
+ [name: string]: unknown;
2216
+ };
2217
+ content: {
2218
+ "application/json": components["schemas"]["IncidentResource"];
2219
+ };
2220
+ };
2221
+ /** @description Error */
2222
+ default: {
2223
+ headers: {
2224
+ [name: string]: unknown;
2225
+ };
2226
+ content: {
2227
+ "application/json": components["schemas"]["Error"];
2228
+ };
2229
+ };
2230
+ };
2231
+ };
2232
+ "add-incident-comment": {
2233
+ parameters: {
2234
+ query?: never;
2235
+ header?: never;
2236
+ path: {
2237
+ incidentId: string;
2238
+ };
2239
+ cookie?: never;
2240
+ };
2241
+ requestBody: {
2242
+ content: {
2243
+ "application/json": components["schemas"]["AddCommentRequestBody"];
2244
+ };
2245
+ };
2246
+ responses: {
2247
+ /** @description OK */
2248
+ 200: {
2249
+ headers: {
2250
+ [name: string]: unknown;
2251
+ };
2252
+ content: {
2253
+ "application/json": components["schemas"]["IncidentActivityResource"];
2254
+ };
2255
+ };
2256
+ /** @description Error */
2257
+ default: {
2258
+ headers: {
2259
+ [name: string]: unknown;
2260
+ };
2261
+ content: {
2262
+ "application/json": components["schemas"]["Error"];
2263
+ };
2264
+ };
2265
+ };
2266
+ };
2267
+ "set-incident-following": {
2268
+ parameters: {
2269
+ query?: never;
2270
+ header?: never;
2271
+ path: {
2272
+ incidentId: string;
2273
+ };
2274
+ cookie?: never;
2275
+ };
2276
+ requestBody: {
2277
+ content: {
2278
+ "application/json": components["schemas"]["SetFollowingRequestBody"];
2279
+ };
2280
+ };
2281
+ responses: {
2282
+ /** @description OK */
2283
+ 200: {
2284
+ headers: {
2285
+ [name: string]: unknown;
2286
+ };
2287
+ content: {
2288
+ "application/json": components["schemas"]["IncidentResource"];
2289
+ };
2290
+ };
2291
+ /** @description Error */
2292
+ default: {
2293
+ headers: {
2294
+ [name: string]: unknown;
2295
+ };
2296
+ content: {
2297
+ "application/json": components["schemas"]["Error"];
2298
+ };
2299
+ };
2300
+ };
2301
+ };
2302
+ "reopen-incident": {
2303
+ parameters: {
2304
+ query?: never;
2305
+ header?: never;
2306
+ path: {
2307
+ incidentId: string;
2308
+ };
2309
+ cookie?: never;
2310
+ };
2311
+ requestBody?: never;
2312
+ responses: {
2313
+ /** @description OK */
2314
+ 200: {
2315
+ headers: {
2316
+ [name: string]: unknown;
2317
+ };
2318
+ content: {
2319
+ "application/json": components["schemas"]["IncidentResource"];
2320
+ };
2321
+ };
2322
+ /** @description Error */
2323
+ default: {
2324
+ headers: {
2325
+ [name: string]: unknown;
2326
+ };
2327
+ content: {
2328
+ "application/json": components["schemas"]["Error"];
2329
+ };
2330
+ };
2331
+ };
2332
+ };
2333
+ "list-incident-timeline": {
2334
+ parameters: {
2335
+ query?: {
2336
+ limit?: number;
2337
+ /** @description The `next_cursor` returned by the previous page. Empty starts from the beginning */
2338
+ cursor?: string;
2339
+ };
2340
+ header?: never;
2341
+ path: {
2342
+ incidentId: string;
2343
+ };
2344
+ cookie?: never;
2345
+ };
2346
+ requestBody?: never;
2347
+ responses: {
2348
+ /** @description OK */
2349
+ 200: {
2350
+ headers: {
2351
+ [name: string]: unknown;
2352
+ };
2353
+ content: {
2354
+ "application/json": components["schemas"]["CursorPageIncidentActivityResource"];
2355
+ };
2356
+ };
2357
+ /** @description Error */
2358
+ default: {
2359
+ headers: {
2360
+ [name: string]: unknown;
2361
+ };
2362
+ content: {
2363
+ "application/json": components["schemas"]["Error"];
2364
+ };
2365
+ };
2366
+ };
2367
+ };
2368
+ "list-maintenance-windows": {
2369
+ parameters: {
2370
+ query?: never;
2371
+ header?: never;
2372
+ path?: never;
2373
+ cookie?: never;
2374
+ };
2375
+ requestBody?: never;
2376
+ responses: {
2377
+ /** @description OK */
2378
+ 200: {
2379
+ headers: {
2380
+ [name: string]: unknown;
2381
+ };
2382
+ content: {
2383
+ "application/json": components["schemas"]["MaintenanceWindowListResponseBody"];
2384
+ };
2385
+ };
2386
+ /** @description Error */
2387
+ default: {
2388
+ headers: {
2389
+ [name: string]: unknown;
2390
+ };
2391
+ content: {
2392
+ "application/json": components["schemas"]["Error"];
2393
+ };
2394
+ };
2395
+ };
2396
+ };
2397
+ "get-maintenance-window": {
2398
+ parameters: {
2399
+ query?: never;
2400
+ header?: never;
2401
+ path: {
2402
+ windowId: string;
2403
+ };
2404
+ cookie?: never;
2405
+ };
2406
+ requestBody?: never;
2407
+ responses: {
2408
+ /** @description OK */
2409
+ 200: {
2410
+ headers: {
2411
+ [name: string]: unknown;
2412
+ };
2413
+ content: {
2414
+ "application/json": components["schemas"]["MaintenanceWindowResource"];
2415
+ };
2416
+ };
2417
+ /** @description Error */
2418
+ default: {
2419
+ headers: {
2420
+ [name: string]: unknown;
2421
+ };
2422
+ content: {
2423
+ "application/json": components["schemas"]["Error"];
2424
+ };
2425
+ };
2426
+ };
2427
+ };
2428
+ "put-maintenance-window": {
2429
+ parameters: {
2430
+ query?: never;
2431
+ header?: never;
2432
+ path: {
2433
+ windowId: string;
2434
+ };
2435
+ cookie?: never;
2436
+ };
2437
+ requestBody: {
2438
+ content: {
2439
+ "application/json": components["schemas"]["PutMaintenanceWindowRequestBody"];
2440
+ };
2441
+ };
2442
+ responses: {
2443
+ /** @description OK */
2444
+ 200: {
2445
+ headers: {
2446
+ [name: string]: unknown;
2447
+ };
2448
+ content: {
2449
+ "application/json": components["schemas"]["MaintenanceWindowResource"];
2450
+ };
2451
+ };
2452
+ /** @description Error */
2453
+ default: {
2454
+ headers: {
2455
+ [name: string]: unknown;
2456
+ };
2457
+ content: {
2458
+ "application/json": components["schemas"]["Error"];
2459
+ };
2460
+ };
2461
+ };
2462
+ };
2463
+ "delete-maintenance-window": {
2464
+ parameters: {
2465
+ query?: never;
2466
+ header?: never;
2467
+ path: {
2468
+ windowId: string;
2469
+ };
2470
+ cookie?: never;
2471
+ };
2472
+ requestBody?: never;
2473
+ responses: {
2474
+ /** @description No Content */
2475
+ 204: {
2476
+ headers: {
2477
+ [name: string]: unknown;
2478
+ };
2479
+ content?: never;
2480
+ };
2481
+ /** @description Error */
2482
+ default: {
2483
+ headers: {
2484
+ [name: string]: unknown;
2485
+ };
2486
+ content: {
2487
+ "application/json": components["schemas"]["Error"];
2488
+ };
2489
+ };
2490
+ };
2491
+ };
2492
+ "get-project-overview": {
2493
+ parameters: {
2494
+ query?: never;
2495
+ header?: never;
2496
+ path?: never;
2497
+ cookie?: never;
2498
+ };
2499
+ requestBody?: never;
2500
+ responses: {
2501
+ /** @description OK */
2502
+ 200: {
2503
+ headers: {
2504
+ [name: string]: unknown;
2505
+ };
2506
+ content: {
2507
+ "application/json": components["schemas"]["ProjectOverviewResource"];
2508
+ };
2509
+ };
2510
+ /** @description Error */
2511
+ default: {
2512
+ headers: {
2513
+ [name: string]: unknown;
2514
+ };
2515
+ content: {
2516
+ "application/json": components["schemas"]["Error"];
2517
+ };
2518
+ };
2519
+ };
2520
+ };
2521
+ "list-server-items": {
2522
+ parameters: {
2523
+ query?: {
2524
+ /** @description Fuzzy match on key or name */
2525
+ keyword?: string;
2526
+ /** @description Given as `key` or `key=value`, repeatable. The `component` tags applied by the official templates (cpu, memory, filesystem and so on) are filtered through this */
2527
+ tag?: string[] | null;
2528
+ };
2529
+ header?: never;
2530
+ path: {
2531
+ serverId: string;
2532
+ };
2533
+ cookie?: never;
2534
+ };
2535
+ requestBody?: never;
2536
+ responses: {
2537
+ /** @description OK */
2538
+ 200: {
2539
+ headers: {
2540
+ [name: string]: unknown;
2541
+ };
2542
+ content: {
2543
+ "application/json": components["schemas"]["ItemListResponseBody"];
2544
+ };
2545
+ };
2546
+ /** @description Error */
2547
+ default: {
2548
+ headers: {
2549
+ [name: string]: unknown;
2550
+ };
2551
+ content: {
2552
+ "application/json": components["schemas"]["Error"];
2553
+ };
2554
+ };
2555
+ };
2556
+ };
2557
+ "get-server-metric": {
2558
+ parameters: {
2559
+ query?: {
2560
+ /** @description **Prefix match**: `vfs.fs.size` returns one series per mount point. Supply this or `item_id` */
2561
+ item_key?: string;
2562
+ item_id?: string;
2563
+ /** @description Defaults to one hour ago */
2564
+ from?: string;
2565
+ to?: string;
2566
+ /** @description Number of downsampling buckets. 0 returns the collected data points unchanged */
2567
+ max_points?: number;
2568
+ /** @description Also return the thresholds currently in effect for these items */
2569
+ include_thresholds?: boolean;
2570
+ };
2571
+ header?: never;
2572
+ path: {
2573
+ serverId: string;
2574
+ };
2575
+ cookie?: never;
2576
+ };
2577
+ requestBody?: never;
2578
+ responses: {
2579
+ /** @description OK */
2580
+ 200: {
2581
+ headers: {
2582
+ [name: string]: unknown;
2583
+ };
2584
+ content: {
2585
+ "application/json": components["schemas"]["MetricResponseBody"];
2586
+ };
2587
+ };
2588
+ /** @description Error */
2589
+ default: {
2590
+ headers: {
2591
+ [name: string]: unknown;
2592
+ };
2593
+ content: {
2594
+ "application/json": components["schemas"]["Error"];
2595
+ };
2596
+ };
2597
+ };
2598
+ };
2599
+ "get-server-resources": {
2600
+ parameters: {
2601
+ query?: never;
2602
+ header?: never;
2603
+ path: {
2604
+ serverId: string;
2605
+ };
2606
+ cookie?: never;
2607
+ };
2608
+ requestBody?: never;
2609
+ responses: {
2610
+ /** @description OK */
2611
+ 200: {
2612
+ headers: {
2613
+ [name: string]: unknown;
2614
+ };
2615
+ content: {
2616
+ "application/json": components["schemas"]["ServerResourcesResource"];
2617
+ };
2618
+ };
2619
+ /** @description Error */
2620
+ default: {
2621
+ headers: {
2622
+ [name: string]: unknown;
2623
+ };
2624
+ content: {
2625
+ "application/json": components["schemas"]["Error"];
2626
+ };
2627
+ };
2628
+ };
2629
+ };
2630
+ "get-server-snapshot": {
2631
+ parameters: {
2632
+ query?: never;
2633
+ header?: never;
2634
+ path: {
2635
+ serverId: string;
2636
+ };
2637
+ cookie?: never;
2638
+ };
2639
+ requestBody?: never;
2640
+ responses: {
2641
+ /** @description OK */
2642
+ 200: {
2643
+ headers: {
2644
+ [name: string]: unknown;
2645
+ };
2646
+ content: {
2647
+ "application/json": components["schemas"]["SnapshotResource"];
2648
+ };
2649
+ };
2650
+ /** @description Error */
2651
+ default: {
2652
+ headers: {
2653
+ [name: string]: unknown;
2654
+ };
2655
+ content: {
2656
+ "application/json": components["schemas"]["Error"];
2657
+ };
2658
+ };
2659
+ };
2660
+ };
2661
+ "list-project-top-items": {
2662
+ parameters: {
2663
+ query: {
2664
+ kind: "CPU_UTILIZATION" | "MEMORY_UTILIZATION" | "ROOT_FILESYSTEM_USED";
2665
+ /** @description 0 uses the default */
2666
+ limit?: number;
2667
+ };
2668
+ header?: never;
2669
+ path?: never;
2670
+ cookie?: never;
2671
+ };
2672
+ requestBody?: never;
2673
+ responses: {
2674
+ /** @description OK */
2675
+ 200: {
2676
+ headers: {
2677
+ [name: string]: unknown;
2678
+ };
2679
+ content: {
2680
+ "application/json": components["schemas"]["TopItemListResponseBody"];
2681
+ };
2682
+ };
2683
+ /** @description Error */
2684
+ default: {
2685
+ headers: {
2686
+ [name: string]: unknown;
2687
+ };
2688
+ content: {
2689
+ "application/json": components["schemas"]["Error"];
2690
+ };
2691
+ };
2692
+ };
2693
+ };
2694
+ "list-templates": {
2695
+ parameters: {
2696
+ query?: never;
2697
+ header?: never;
2698
+ path?: never;
2699
+ cookie?: never;
2700
+ };
2701
+ requestBody?: never;
2702
+ responses: {
2703
+ /** @description OK */
2704
+ 200: {
2705
+ headers: {
2706
+ [name: string]: unknown;
2707
+ };
2708
+ content: {
2709
+ "application/json": components["schemas"]["TemplateCatalogResponseBody"];
2710
+ };
2711
+ };
2712
+ /** @description Error */
2713
+ default: {
2714
+ headers: {
2715
+ [name: string]: unknown;
2716
+ };
2717
+ content: {
2718
+ "application/json": components["schemas"]["Error"];
2719
+ };
2720
+ };
2721
+ };
2722
+ };
2723
+ "list-servers": {
2724
+ parameters: {
2725
+ query?: {
2726
+ /** @description Maximum number of records in this page */
2727
+ limit?: number;
2728
+ /** @description Number of records to skip. For deeper paging, use the cursor-paged endpoint instead */
2729
+ offset?: number;
2730
+ /** @description Fuzzy match on name or address */
2731
+ keyword?: string;
2732
+ monitoring_status?: "PENDING" | "ACTIVE" | "DISABLED" | "FAILED";
2733
+ };
2734
+ header?: never;
2735
+ path?: never;
2736
+ cookie?: never;
2737
+ };
2738
+ requestBody?: never;
2739
+ responses: {
2740
+ /** @description OK */
2741
+ 200: {
2742
+ headers: {
2743
+ [name: string]: unknown;
2744
+ };
2745
+ content: {
2746
+ "application/json": components["schemas"]["LengthAwarePageServerResource"];
2747
+ };
2748
+ };
2749
+ /** @description Error */
2750
+ default: {
2751
+ headers: {
2752
+ [name: string]: unknown;
2753
+ };
2754
+ content: {
2755
+ "application/json": components["schemas"]["Error"];
2756
+ };
2757
+ };
2758
+ };
2759
+ };
2760
+ "get-server": {
2761
+ parameters: {
2762
+ query?: never;
2763
+ header?: never;
2764
+ path: {
2765
+ serverId: string;
2766
+ };
2767
+ cookie?: never;
2768
+ };
2769
+ requestBody?: never;
2770
+ responses: {
2771
+ /** @description OK */
2772
+ 200: {
2773
+ headers: {
2774
+ [name: string]: unknown;
2775
+ };
2776
+ content: {
2777
+ "application/json": components["schemas"]["ServerResource"];
2778
+ };
2779
+ };
2780
+ /** @description Error */
2781
+ default: {
2782
+ headers: {
2783
+ [name: string]: unknown;
2784
+ };
2785
+ content: {
2786
+ "application/json": components["schemas"]["Error"];
2787
+ };
2788
+ };
2789
+ };
2790
+ };
2791
+ "enable-server-monitoring": {
2792
+ parameters: {
2793
+ query?: never;
2794
+ header?: never;
2795
+ path: {
2796
+ /** @description Supplied by the caller; no operation issues one. Reuse the identifier the machine already carries in the originating system — a Leaflow Compute instance id, or the caller's own inventory identifier — or allocate a UUID and persist it before the first call. It is the idempotency key of the enrollment. */
2797
+ serverId: string;
2798
+ };
2799
+ cookie?: never;
2800
+ };
2801
+ requestBody: {
2802
+ content: {
2803
+ "application/json": components["schemas"]["EnableMonitoringRequestBody"];
2804
+ };
2805
+ };
2806
+ responses: {
2807
+ /** @description OK */
2808
+ 200: {
2809
+ headers: {
2810
+ [name: string]: unknown;
2811
+ };
2812
+ content: {
2813
+ "application/json": components["schemas"]["ServerEnrollmentResponseBody"];
2814
+ };
2815
+ };
2816
+ /** @description Error */
2817
+ default: {
2818
+ headers: {
2819
+ [name: string]: unknown;
2820
+ };
2821
+ content: {
2822
+ "application/json": components["schemas"]["Error"];
2823
+ };
2824
+ };
2825
+ };
2826
+ };
2827
+ "delete-server": {
2828
+ parameters: {
2829
+ query?: never;
2830
+ header?: never;
2831
+ path: {
2832
+ serverId: string;
2833
+ };
2834
+ cookie?: never;
2835
+ };
2836
+ requestBody?: never;
2837
+ responses: {
2838
+ /** @description No Content */
2839
+ 204: {
2840
+ headers: {
2841
+ [name: string]: unknown;
2842
+ };
2843
+ content?: never;
2844
+ };
2845
+ /** @description Error */
2846
+ default: {
2847
+ headers: {
2848
+ [name: string]: unknown;
2849
+ };
2850
+ content: {
2851
+ "application/json": components["schemas"]["Error"];
2852
+ };
2853
+ };
2854
+ };
2855
+ };
2856
+ "update-server": {
2857
+ parameters: {
2858
+ query?: never;
2859
+ header?: never;
2860
+ path: {
2861
+ serverId: string;
2862
+ };
2863
+ cookie?: never;
2864
+ };
2865
+ requestBody: {
2866
+ content: {
2867
+ "application/json": components["schemas"]["UpdateServerRequestBody"];
2868
+ };
2869
+ };
2870
+ responses: {
2871
+ /** @description OK */
2872
+ 200: {
2873
+ headers: {
2874
+ [name: string]: unknown;
2875
+ };
2876
+ content: {
2877
+ "application/json": components["schemas"]["ServerResource"];
2878
+ };
2879
+ };
2880
+ /** @description Error */
2881
+ default: {
2882
+ headers: {
2883
+ [name: string]: unknown;
2884
+ };
2885
+ content: {
2886
+ "application/json": components["schemas"]["Error"];
2887
+ };
2888
+ };
2889
+ };
2890
+ };
2891
+ "disable-server-monitoring": {
2892
+ parameters: {
2893
+ query?: never;
2894
+ header?: never;
2895
+ path: {
2896
+ serverId: string;
2897
+ };
2898
+ cookie?: never;
2899
+ };
2900
+ requestBody?: never;
2901
+ responses: {
2902
+ /** @description No Content */
2903
+ 204: {
2904
+ headers: {
2905
+ [name: string]: unknown;
2906
+ };
2907
+ content?: never;
2908
+ };
2909
+ /** @description Error */
2910
+ default: {
2911
+ headers: {
2912
+ [name: string]: unknown;
2913
+ };
2914
+ content: {
2915
+ "application/json": components["schemas"]["Error"];
2916
+ };
2917
+ };
2918
+ };
2919
+ };
2920
+ "rotate-agent-psk": {
2921
+ parameters: {
2922
+ query?: never;
2923
+ header?: never;
2924
+ path: {
2925
+ serverId: string;
2926
+ };
2927
+ cookie?: never;
2928
+ };
2929
+ requestBody?: never;
2930
+ responses: {
2931
+ /** @description OK */
2932
+ 200: {
2933
+ headers: {
2934
+ [name: string]: unknown;
2935
+ };
2936
+ content: {
2937
+ "application/json": components["schemas"]["EnrollmentResource"];
2938
+ };
2939
+ };
2940
+ /** @description Error */
2941
+ default: {
2942
+ headers: {
2943
+ [name: string]: unknown;
2944
+ };
2945
+ content: {
2946
+ "application/json": components["schemas"]["Error"];
2947
+ };
2948
+ };
2949
+ };
2950
+ };
2951
+ "get-web-check": {
2952
+ parameters: {
2953
+ query?: never;
2954
+ header?: never;
2955
+ path: {
2956
+ serverId: string;
2957
+ checkId: string;
2958
+ };
2959
+ cookie?: never;
2960
+ };
2961
+ requestBody?: never;
2962
+ responses: {
2963
+ /** @description OK */
2964
+ 200: {
2965
+ headers: {
2966
+ [name: string]: unknown;
2967
+ };
2968
+ content: {
2969
+ "application/json": components["schemas"]["WebCheckResource"];
2970
+ };
2971
+ };
2972
+ /** @description Error */
2973
+ default: {
2974
+ headers: {
2975
+ [name: string]: unknown;
2976
+ };
2977
+ content: {
2978
+ "application/json": components["schemas"]["Error"];
2979
+ };
2980
+ };
2981
+ };
2982
+ };
2983
+ "put-web-check": {
2984
+ parameters: {
2985
+ query?: never;
2986
+ header?: never;
2987
+ path: {
2988
+ serverId: string;
2989
+ checkId: string;
2990
+ };
2991
+ cookie?: never;
2992
+ };
2993
+ requestBody: {
2994
+ content: {
2995
+ "application/json": components["schemas"]["PutWebCheckRequestBody"];
2996
+ };
2997
+ };
2998
+ responses: {
2999
+ /** @description OK */
3000
+ 200: {
3001
+ headers: {
3002
+ [name: string]: unknown;
3003
+ };
3004
+ content: {
3005
+ "application/json": components["schemas"]["WebCheckResource"];
3006
+ };
3007
+ };
3008
+ /** @description Error */
3009
+ default: {
3010
+ headers: {
3011
+ [name: string]: unknown;
3012
+ };
3013
+ content: {
3014
+ "application/json": components["schemas"]["Error"];
3015
+ };
3016
+ };
3017
+ };
3018
+ };
3019
+ "delete-web-check": {
3020
+ parameters: {
3021
+ query?: never;
3022
+ header?: never;
3023
+ path: {
3024
+ serverId: string;
3025
+ checkId: string;
3026
+ };
3027
+ cookie?: never;
3028
+ };
3029
+ requestBody?: never;
3030
+ responses: {
3031
+ /** @description No Content */
3032
+ 204: {
3033
+ headers: {
3034
+ [name: string]: unknown;
3035
+ };
3036
+ content?: never;
3037
+ };
3038
+ /** @description Error */
3039
+ default: {
3040
+ headers: {
3041
+ [name: string]: unknown;
3042
+ };
3043
+ content: {
3044
+ "application/json": components["schemas"]["Error"];
3045
+ };
3046
+ };
3047
+ };
3048
+ };
3049
+ "list-web-checks": {
3050
+ parameters: {
3051
+ query?: {
3052
+ /** @description Restrict to the checks of a single machine. Omit for the whole project */
3053
+ server_id?: string;
3054
+ };
3055
+ header?: never;
3056
+ path?: never;
3057
+ cookie?: never;
3058
+ };
3059
+ requestBody?: never;
3060
+ responses: {
3061
+ /** @description OK */
3062
+ 200: {
3063
+ headers: {
3064
+ [name: string]: unknown;
3065
+ };
3066
+ content: {
3067
+ "application/json": components["schemas"]["WebCheckListResponseBody"];
3068
+ };
3069
+ };
3070
+ /** @description Error */
3071
+ default: {
3072
+ headers: {
3073
+ [name: string]: unknown;
3074
+ };
3075
+ content: {
3076
+ "application/json": components["schemas"]["Error"];
3077
+ };
3078
+ };
3079
+ };
3080
+ };
3081
+ "get-sli-report": {
3082
+ parameters: {
3083
+ query?: {
3084
+ from?: string;
3085
+ to?: string;
3086
+ /** @description Return the most recent N complete periods. Use this or from/to, not both */
3087
+ periods?: number;
3088
+ };
3089
+ header?: never;
3090
+ path?: never;
3091
+ cookie?: never;
3092
+ };
3093
+ requestBody?: never;
3094
+ responses: {
3095
+ /** @description OK */
3096
+ 200: {
3097
+ headers: {
3098
+ [name: string]: unknown;
3099
+ };
3100
+ content: {
3101
+ "application/json": components["schemas"]["SLIReportResponseBody"];
3102
+ };
3103
+ };
3104
+ /** @description Error */
3105
+ default: {
3106
+ headers: {
3107
+ [name: string]: unknown;
3108
+ };
3109
+ content: {
3110
+ "application/json": components["schemas"]["Error"];
3111
+ };
3112
+ };
3113
+ };
3114
+ };
3115
+ "get-slo": {
3116
+ parameters: {
3117
+ query?: never;
3118
+ header?: never;
3119
+ path?: never;
3120
+ cookie?: never;
3121
+ };
3122
+ requestBody?: never;
3123
+ responses: {
3124
+ /** @description OK */
3125
+ 200: {
3126
+ headers: {
3127
+ [name: string]: unknown;
3128
+ };
3129
+ content: {
3130
+ "application/json": components["schemas"]["SLOResource"];
3131
+ };
3132
+ };
3133
+ /** @description Error */
3134
+ default: {
3135
+ headers: {
3136
+ [name: string]: unknown;
3137
+ };
3138
+ content: {
3139
+ "application/json": components["schemas"]["Error"];
3140
+ };
3141
+ };
3142
+ };
3143
+ };
3144
+ "put-slo": {
3145
+ parameters: {
3146
+ query?: never;
3147
+ header?: never;
3148
+ path?: never;
3149
+ cookie?: never;
3150
+ };
3151
+ requestBody: {
3152
+ content: {
3153
+ "application/json": components["schemas"]["PutSLORequestBody"];
3154
+ };
3155
+ };
3156
+ responses: {
3157
+ /** @description OK */
3158
+ 200: {
3159
+ headers: {
3160
+ [name: string]: unknown;
3161
+ };
3162
+ content: {
3163
+ "application/json": components["schemas"]["SLOResource"];
3164
+ };
3165
+ };
3166
+ /** @description Error */
3167
+ default: {
3168
+ headers: {
3169
+ [name: string]: unknown;
3170
+ };
3171
+ content: {
3172
+ "application/json": components["schemas"]["Error"];
3173
+ };
3174
+ };
3175
+ };
3176
+ };
3177
+ "delete-slo": {
3178
+ parameters: {
3179
+ query?: never;
3180
+ header?: never;
3181
+ path?: never;
3182
+ cookie?: never;
3183
+ };
3184
+ requestBody?: never;
3185
+ responses: {
3186
+ /** @description No Content */
3187
+ 204: {
3188
+ headers: {
3189
+ [name: string]: unknown;
3190
+ };
3191
+ content?: never;
3192
+ };
3193
+ /** @description Error */
3194
+ default: {
3195
+ headers: {
3196
+ [name: string]: unknown;
3197
+ };
3198
+ content: {
3199
+ "application/json": components["schemas"]["Error"];
3200
+ };
3201
+ };
3202
+ };
3203
+ };
3204
+ "get-status-page": {
3205
+ parameters: {
3206
+ query?: never;
3207
+ header?: never;
3208
+ path?: never;
3209
+ cookie?: never;
3210
+ };
3211
+ requestBody?: never;
3212
+ responses: {
3213
+ /** @description OK */
3214
+ 200: {
3215
+ headers: {
3216
+ [name: string]: unknown;
3217
+ };
3218
+ content: {
3219
+ "application/json": components["schemas"]["StatusPageResource"];
3220
+ };
3221
+ };
3222
+ /** @description Error */
3223
+ default: {
3224
+ headers: {
3225
+ [name: string]: unknown;
3226
+ };
3227
+ content: {
3228
+ "application/json": components["schemas"]["Error"];
3229
+ };
3230
+ };
3231
+ };
3232
+ };
3233
+ "put-status-page": {
3234
+ parameters: {
3235
+ query?: never;
3236
+ header?: never;
3237
+ path?: never;
3238
+ cookie?: never;
3239
+ };
3240
+ requestBody: {
3241
+ content: {
3242
+ "application/json": components["schemas"]["PutStatusPageRequestBody"];
3243
+ };
3244
+ };
3245
+ responses: {
3246
+ /** @description OK */
3247
+ 200: {
3248
+ headers: {
3249
+ [name: string]: unknown;
3250
+ };
3251
+ content: {
3252
+ "application/json": components["schemas"]["StatusPageResource"];
3253
+ };
3254
+ };
3255
+ /** @description Error */
3256
+ default: {
3257
+ headers: {
3258
+ [name: string]: unknown;
3259
+ };
3260
+ content: {
3261
+ "application/json": components["schemas"]["Error"];
3262
+ };
3263
+ };
3264
+ };
3265
+ };
3266
+ "delete-status-page": {
3267
+ parameters: {
3268
+ query?: never;
3269
+ header?: never;
3270
+ path?: never;
3271
+ cookie?: never;
3272
+ };
3273
+ requestBody?: never;
3274
+ responses: {
3275
+ /** @description No Content */
3276
+ 204: {
3277
+ headers: {
3278
+ [name: string]: unknown;
3279
+ };
3280
+ content?: never;
3281
+ };
3282
+ /** @description Error */
3283
+ default: {
3284
+ headers: {
3285
+ [name: string]: unknown;
3286
+ };
3287
+ content: {
3288
+ "application/json": components["schemas"]["Error"];
3289
+ };
3290
+ };
3291
+ };
3292
+ };
3293
+ "put-status-page-order": {
3294
+ parameters: {
3295
+ query?: never;
3296
+ header?: never;
3297
+ path?: never;
3298
+ cookie?: never;
3299
+ };
3300
+ requestBody: {
3301
+ content: {
3302
+ "application/json": components["schemas"]["PutStatusPageOrderRequestBody"];
3303
+ };
3304
+ };
3305
+ responses: {
3306
+ /** @description No Content */
3307
+ 204: {
3308
+ headers: {
3309
+ [name: string]: unknown;
3310
+ };
3311
+ content?: never;
3312
+ };
3313
+ /** @description Error */
3314
+ default: {
3315
+ headers: {
3316
+ [name: string]: unknown;
3317
+ };
3318
+ content: {
3319
+ "application/json": components["schemas"]["Error"];
3320
+ };
3321
+ };
3322
+ };
3323
+ };
3324
+ "list-status-page-groups": {
3325
+ parameters: {
3326
+ query?: never;
3327
+ header?: never;
3328
+ path?: never;
3329
+ cookie?: never;
3330
+ };
3331
+ requestBody?: never;
3332
+ responses: {
3333
+ /** @description OK */
3334
+ 200: {
3335
+ headers: {
3336
+ [name: string]: unknown;
3337
+ };
3338
+ content: {
3339
+ "application/json": components["schemas"]["StatusPageGroupListResponseBody"];
3340
+ };
3341
+ };
3342
+ /** @description Error */
3343
+ default: {
3344
+ headers: {
3345
+ [name: string]: unknown;
3346
+ };
3347
+ content: {
3348
+ "application/json": components["schemas"]["Error"];
3349
+ };
3350
+ };
3351
+ };
3352
+ };
3353
+ "create-status-page-group": {
3354
+ parameters: {
3355
+ query?: never;
3356
+ header?: never;
3357
+ path?: never;
3358
+ cookie?: never;
3359
+ };
3360
+ requestBody: {
3361
+ content: {
3362
+ "application/json": components["schemas"]["PutStatusPageGroupRequestBody"];
3363
+ };
3364
+ };
3365
+ responses: {
3366
+ /** @description Created */
3367
+ 201: {
3368
+ headers: {
3369
+ [name: string]: unknown;
3370
+ };
3371
+ content: {
3372
+ "application/json": components["schemas"]["StatusPageGroupResource"];
3373
+ };
3374
+ };
3375
+ /** @description Error */
3376
+ default: {
3377
+ headers: {
3378
+ [name: string]: unknown;
3379
+ };
3380
+ content: {
3381
+ "application/json": components["schemas"]["Error"];
3382
+ };
3383
+ };
3384
+ };
3385
+ };
3386
+ "update-status-page-group": {
3387
+ parameters: {
3388
+ query?: never;
3389
+ header?: never;
3390
+ path: {
3391
+ groupId: string;
3392
+ };
3393
+ cookie?: never;
3394
+ };
3395
+ requestBody: {
3396
+ content: {
3397
+ "application/json": components["schemas"]["PutStatusPageGroupRequestBody"];
3398
+ };
3399
+ };
3400
+ responses: {
3401
+ /** @description OK */
3402
+ 200: {
3403
+ headers: {
3404
+ [name: string]: unknown;
3405
+ };
3406
+ content: {
3407
+ "application/json": components["schemas"]["StatusPageGroupResource"];
3408
+ };
3409
+ };
3410
+ /** @description Error */
3411
+ default: {
3412
+ headers: {
3413
+ [name: string]: unknown;
3414
+ };
3415
+ content: {
3416
+ "application/json": components["schemas"]["Error"];
3417
+ };
3418
+ };
3419
+ };
3420
+ };
3421
+ "delete-status-page-group": {
3422
+ parameters: {
3423
+ query?: never;
3424
+ header?: never;
3425
+ path: {
3426
+ groupId: string;
3427
+ };
3428
+ cookie?: never;
3429
+ };
3430
+ requestBody?: never;
3431
+ responses: {
3432
+ /** @description No Content */
3433
+ 204: {
3434
+ headers: {
3435
+ [name: string]: unknown;
3436
+ };
3437
+ content?: never;
3438
+ };
3439
+ /** @description Error */
3440
+ default: {
3441
+ headers: {
3442
+ [name: string]: unknown;
3443
+ };
3444
+ content: {
3445
+ "application/json": components["schemas"]["Error"];
3446
+ };
3447
+ };
3448
+ };
3449
+ };
3450
+ "put-status-page-group-order": {
3451
+ parameters: {
3452
+ query?: never;
3453
+ header?: never;
3454
+ path: {
3455
+ groupId: string;
3456
+ };
3457
+ cookie?: never;
3458
+ };
3459
+ requestBody: {
3460
+ content: {
3461
+ "application/json": components["schemas"]["PutStatusPageGroupOrderRequestBody"];
3462
+ };
3463
+ };
3464
+ responses: {
3465
+ /** @description No Content */
3466
+ 204: {
3467
+ headers: {
3468
+ [name: string]: unknown;
3469
+ };
3470
+ content?: never;
3471
+ };
3472
+ /** @description Error */
3473
+ default: {
3474
+ headers: {
3475
+ [name: string]: unknown;
3476
+ };
3477
+ content: {
3478
+ "application/json": components["schemas"]["Error"];
3479
+ };
3480
+ };
3481
+ };
3482
+ };
3483
+ "list-status-page-components": {
3484
+ parameters: {
3485
+ query?: never;
3486
+ header?: never;
3487
+ path?: never;
3488
+ cookie?: never;
3489
+ };
3490
+ requestBody?: never;
3491
+ responses: {
3492
+ /** @description OK */
3493
+ 200: {
3494
+ headers: {
3495
+ [name: string]: unknown;
3496
+ };
3497
+ content: {
3498
+ "application/json": components["schemas"]["StatusPageComponentListResponseBody"];
3499
+ };
3500
+ };
3501
+ /** @description Error */
3502
+ default: {
3503
+ headers: {
3504
+ [name: string]: unknown;
3505
+ };
3506
+ content: {
3507
+ "application/json": components["schemas"]["Error"];
3508
+ };
3509
+ };
3510
+ };
3511
+ };
3512
+ "create-status-page-component": {
3513
+ parameters: {
3514
+ query?: never;
3515
+ header?: never;
3516
+ path?: never;
3517
+ cookie?: never;
3518
+ };
3519
+ requestBody: {
3520
+ content: {
3521
+ "application/json": components["schemas"]["PutStatusPageComponentRequestBody"];
3522
+ };
3523
+ };
3524
+ responses: {
3525
+ /** @description Created */
3526
+ 201: {
3527
+ headers: {
3528
+ [name: string]: unknown;
3529
+ };
3530
+ content: {
3531
+ "application/json": components["schemas"]["StatusPageComponentResource"];
3532
+ };
3533
+ };
3534
+ /** @description Error */
3535
+ default: {
3536
+ headers: {
3537
+ [name: string]: unknown;
3538
+ };
3539
+ content: {
3540
+ "application/json": components["schemas"]["Error"];
3541
+ };
3542
+ };
3543
+ };
3544
+ };
3545
+ "get-status-page-component": {
3546
+ parameters: {
3547
+ query?: never;
3548
+ header?: never;
3549
+ path: {
3550
+ componentId: string;
3551
+ };
3552
+ cookie?: never;
3553
+ };
3554
+ requestBody?: never;
3555
+ responses: {
3556
+ /** @description OK */
3557
+ 200: {
3558
+ headers: {
3559
+ [name: string]: unknown;
3560
+ };
3561
+ content: {
3562
+ "application/json": components["schemas"]["StatusPageComponentResource"];
3563
+ };
3564
+ };
3565
+ /** @description Error */
3566
+ default: {
3567
+ headers: {
3568
+ [name: string]: unknown;
3569
+ };
3570
+ content: {
3571
+ "application/json": components["schemas"]["Error"];
3572
+ };
3573
+ };
3574
+ };
3575
+ };
3576
+ "update-status-page-component": {
3577
+ parameters: {
3578
+ query?: never;
3579
+ header?: never;
3580
+ path: {
3581
+ componentId: string;
3582
+ };
3583
+ cookie?: never;
3584
+ };
3585
+ requestBody: {
3586
+ content: {
3587
+ "application/json": components["schemas"]["PutStatusPageComponentRequestBody"];
3588
+ };
3589
+ };
3590
+ responses: {
3591
+ /** @description OK */
3592
+ 200: {
3593
+ headers: {
3594
+ [name: string]: unknown;
3595
+ };
3596
+ content: {
3597
+ "application/json": components["schemas"]["StatusPageComponentResource"];
3598
+ };
3599
+ };
3600
+ /** @description Error */
3601
+ default: {
3602
+ headers: {
3603
+ [name: string]: unknown;
3604
+ };
3605
+ content: {
3606
+ "application/json": components["schemas"]["Error"];
3607
+ };
3608
+ };
3609
+ };
3610
+ };
3611
+ "delete-status-page-component": {
3612
+ parameters: {
3613
+ query?: never;
3614
+ header?: never;
3615
+ path: {
3616
+ componentId: string;
3617
+ };
3618
+ cookie?: never;
3619
+ };
3620
+ requestBody?: never;
3621
+ responses: {
3622
+ /** @description No Content */
3623
+ 204: {
3624
+ headers: {
3625
+ [name: string]: unknown;
3626
+ };
3627
+ content?: never;
3628
+ };
3629
+ /** @description Error */
3630
+ default: {
3631
+ headers: {
3632
+ [name: string]: unknown;
3633
+ };
3634
+ content: {
3635
+ "application/json": components["schemas"]["Error"];
3636
+ };
3637
+ };
3638
+ };
3639
+ };
3640
+ "list-status-page-component-sources": {
3641
+ parameters: {
3642
+ query?: never;
3643
+ header?: never;
3644
+ path: {
3645
+ componentId: string;
3646
+ };
3647
+ cookie?: never;
3648
+ };
3649
+ requestBody?: never;
3650
+ responses: {
3651
+ /** @description OK */
3652
+ 200: {
3653
+ headers: {
3654
+ [name: string]: unknown;
3655
+ };
3656
+ content: {
3657
+ "application/json": components["schemas"]["StatusPageComponentSourcesResource"];
3658
+ };
3659
+ };
3660
+ /** @description Error */
3661
+ default: {
3662
+ headers: {
3663
+ [name: string]: unknown;
3664
+ };
3665
+ content: {
3666
+ "application/json": components["schemas"]["Error"];
3667
+ };
3668
+ };
3669
+ };
3670
+ };
3671
+ "put-status-page-component-sources": {
3672
+ parameters: {
3673
+ query?: never;
3674
+ header?: never;
3675
+ path: {
3676
+ componentId: string;
3677
+ };
3678
+ cookie?: never;
3679
+ };
3680
+ requestBody: {
3681
+ content: {
3682
+ "application/json": components["schemas"]["PutStatusPageComponentSourcesRequestBody"];
3683
+ };
3684
+ };
3685
+ responses: {
3686
+ /** @description OK */
3687
+ 200: {
3688
+ headers: {
3689
+ [name: string]: unknown;
3690
+ };
3691
+ content: {
3692
+ "application/json": components["schemas"]["StatusPageComponentSourcesResource"];
3693
+ };
3694
+ };
3695
+ /** @description Error */
3696
+ default: {
3697
+ headers: {
3698
+ [name: string]: unknown;
3699
+ };
3700
+ content: {
3701
+ "application/json": components["schemas"]["Error"];
3702
+ };
3703
+ };
3704
+ };
3705
+ };
3706
+ "list-status-page-incidents": {
3707
+ parameters: {
3708
+ query?: {
3709
+ /** @description Maximum number of records in this page */
3710
+ limit?: number;
3711
+ offset?: number;
3712
+ };
3713
+ header?: never;
3714
+ path?: never;
3715
+ cookie?: never;
3716
+ };
3717
+ requestBody?: never;
3718
+ responses: {
3719
+ /** @description OK */
3720
+ 200: {
3721
+ headers: {
3722
+ [name: string]: unknown;
3723
+ };
3724
+ content: {
3725
+ "application/json": components["schemas"]["LengthAwarePageStatusPageIncidentResource"];
3726
+ };
3727
+ };
3728
+ /** @description Error */
3729
+ default: {
3730
+ headers: {
3731
+ [name: string]: unknown;
3732
+ };
3733
+ content: {
3734
+ "application/json": components["schemas"]["Error"];
3735
+ };
3736
+ };
3737
+ };
3738
+ };
3739
+ "publish-status-page-incident": {
3740
+ parameters: {
3741
+ query?: never;
3742
+ header?: never;
3743
+ path?: never;
3744
+ cookie?: never;
3745
+ };
3746
+ requestBody: {
3747
+ content: {
3748
+ "application/json": components["schemas"]["PublishStatusPageIncidentRequestBody"];
3749
+ };
3750
+ };
3751
+ responses: {
3752
+ /** @description Created */
3753
+ 201: {
3754
+ headers: {
3755
+ [name: string]: unknown;
3756
+ };
3757
+ content: {
3758
+ "application/json": components["schemas"]["StatusPageIncidentResource"];
3759
+ };
3760
+ };
3761
+ /** @description Error */
3762
+ default: {
3763
+ headers: {
3764
+ [name: string]: unknown;
3765
+ };
3766
+ content: {
3767
+ "application/json": components["schemas"]["Error"];
3768
+ };
3769
+ };
3770
+ };
3771
+ };
3772
+ "get-status-page-incident": {
3773
+ parameters: {
3774
+ query?: never;
3775
+ header?: never;
3776
+ path: {
3777
+ incidentId: string;
3778
+ };
3779
+ cookie?: never;
3780
+ };
3781
+ requestBody?: never;
3782
+ responses: {
3783
+ /** @description OK */
3784
+ 200: {
3785
+ headers: {
3786
+ [name: string]: unknown;
3787
+ };
3788
+ content: {
3789
+ "application/json": components["schemas"]["StatusPageIncidentResource"];
3790
+ };
3791
+ };
3792
+ /** @description Error */
3793
+ default: {
3794
+ headers: {
3795
+ [name: string]: unknown;
3796
+ };
3797
+ content: {
3798
+ "application/json": components["schemas"]["Error"];
3799
+ };
3800
+ };
3801
+ };
3802
+ };
3803
+ "post-status-page-incident-update": {
3804
+ parameters: {
3805
+ query?: never;
3806
+ header?: never;
3807
+ path: {
3808
+ incidentId: string;
3809
+ };
3810
+ cookie?: never;
3811
+ };
3812
+ requestBody: {
3813
+ content: {
3814
+ "application/json": components["schemas"]["PostStatusPageIncidentUpdateRequestBody"];
3815
+ };
3816
+ };
3817
+ responses: {
3818
+ /** @description OK */
3819
+ 200: {
3820
+ headers: {
3821
+ [name: string]: unknown;
3822
+ };
3823
+ content: {
3824
+ "application/json": components["schemas"]["StatusPageIncidentResource"];
3825
+ };
3826
+ };
3827
+ /** @description Error */
3828
+ default: {
3829
+ headers: {
3830
+ [name: string]: unknown;
3831
+ };
3832
+ content: {
3833
+ "application/json": components["schemas"]["Error"];
3834
+ };
3835
+ };
3836
+ };
3837
+ };
3838
+ "list-status-page-maintenances": {
3839
+ parameters: {
3840
+ query?: {
3841
+ /** @description Maximum number of records in this page */
3842
+ limit?: number;
3843
+ offset?: number;
3844
+ };
3845
+ header?: never;
3846
+ path?: never;
3847
+ cookie?: never;
3848
+ };
3849
+ requestBody?: never;
3850
+ responses: {
3851
+ /** @description OK */
3852
+ 200: {
3853
+ headers: {
3854
+ [name: string]: unknown;
3855
+ };
3856
+ content: {
3857
+ "application/json": components["schemas"]["LengthAwarePageStatusPageMaintenanceResource"];
3858
+ };
3859
+ };
3860
+ /** @description Error */
3861
+ default: {
3862
+ headers: {
3863
+ [name: string]: unknown;
3864
+ };
3865
+ content: {
3866
+ "application/json": components["schemas"]["Error"];
3867
+ };
3868
+ };
3869
+ };
3870
+ };
3871
+ "schedule-status-page-maintenance": {
3872
+ parameters: {
3873
+ query?: never;
3874
+ header?: never;
3875
+ path?: never;
3876
+ cookie?: never;
3877
+ };
3878
+ requestBody: {
3879
+ content: {
3880
+ "application/json": components["schemas"]["ScheduleStatusPageMaintenanceRequestBody"];
3881
+ };
3882
+ };
3883
+ responses: {
3884
+ /** @description Created */
3885
+ 201: {
3886
+ headers: {
3887
+ [name: string]: unknown;
3888
+ };
3889
+ content: {
3890
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
3891
+ };
3892
+ };
3893
+ /** @description Error */
3894
+ default: {
3895
+ headers: {
3896
+ [name: string]: unknown;
3897
+ };
3898
+ content: {
3899
+ "application/json": components["schemas"]["Error"];
3900
+ };
3901
+ };
3902
+ };
3903
+ };
3904
+ "get-status-page-maintenance": {
3905
+ parameters: {
3906
+ query?: never;
3907
+ header?: never;
3908
+ path: {
3909
+ maintenanceId: string;
3910
+ };
3911
+ cookie?: never;
3912
+ };
3913
+ requestBody?: never;
3914
+ responses: {
3915
+ /** @description OK */
3916
+ 200: {
3917
+ headers: {
3918
+ [name: string]: unknown;
3919
+ };
3920
+ content: {
3921
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
3922
+ };
3923
+ };
3924
+ /** @description Error */
3925
+ default: {
3926
+ headers: {
3927
+ [name: string]: unknown;
3928
+ };
3929
+ content: {
3930
+ "application/json": components["schemas"]["Error"];
3931
+ };
3932
+ };
3933
+ };
3934
+ };
3935
+ "cancel-status-page-maintenance": {
3936
+ parameters: {
3937
+ query?: never;
3938
+ header?: never;
3939
+ path: {
3940
+ maintenanceId: string;
3941
+ };
3942
+ cookie?: never;
3943
+ };
3944
+ requestBody?: never;
3945
+ responses: {
3946
+ /** @description OK */
3947
+ 200: {
3948
+ headers: {
3949
+ [name: string]: unknown;
3950
+ };
3951
+ content: {
3952
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
3953
+ };
3954
+ };
3955
+ /** @description Error */
3956
+ default: {
3957
+ headers: {
3958
+ [name: string]: unknown;
3959
+ };
3960
+ content: {
3961
+ "application/json": components["schemas"]["Error"];
3962
+ };
3963
+ };
3964
+ };
3965
+ };
3966
+ "complete-status-page-maintenance": {
3967
+ parameters: {
3968
+ query?: never;
3969
+ header?: never;
3970
+ path: {
3971
+ maintenanceId: string;
3972
+ };
3973
+ cookie?: never;
3974
+ };
3975
+ requestBody?: never;
3976
+ responses: {
3977
+ /** @description OK */
3978
+ 200: {
3979
+ headers: {
3980
+ [name: string]: unknown;
3981
+ };
3982
+ content: {
3983
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
3984
+ };
3985
+ };
3986
+ /** @description Error */
3987
+ default: {
3988
+ headers: {
3989
+ [name: string]: unknown;
3990
+ };
3991
+ content: {
3992
+ "application/json": components["schemas"]["Error"];
3993
+ };
3994
+ };
3995
+ };
3996
+ };
3997
+ "get-project-web-check": {
3998
+ parameters: {
3999
+ query?: never;
4000
+ header?: never;
4001
+ path: {
4002
+ checkId: string;
4003
+ };
4004
+ cookie?: never;
4005
+ };
4006
+ requestBody?: never;
4007
+ responses: {
4008
+ /** @description OK */
4009
+ 200: {
4010
+ headers: {
4011
+ [name: string]: unknown;
4012
+ };
4013
+ content: {
4014
+ "application/json": components["schemas"]["WebCheckResource"];
4015
+ };
4016
+ };
4017
+ /** @description Error */
4018
+ default: {
4019
+ headers: {
4020
+ [name: string]: unknown;
4021
+ };
4022
+ content: {
4023
+ "application/json": components["schemas"]["Error"];
4024
+ };
4025
+ };
4026
+ };
4027
+ };
4028
+ "put-project-web-check": {
4029
+ parameters: {
4030
+ query?: never;
4031
+ header?: never;
4032
+ path: {
4033
+ checkId: string;
4034
+ };
4035
+ cookie?: never;
4036
+ };
4037
+ requestBody: {
4038
+ content: {
4039
+ "application/json": components["schemas"]["PutWebCheckRequestBody"];
4040
+ };
4041
+ };
4042
+ responses: {
4043
+ /** @description OK */
4044
+ 200: {
4045
+ headers: {
4046
+ [name: string]: unknown;
4047
+ };
4048
+ content: {
4049
+ "application/json": components["schemas"]["WebCheckResource"];
4050
+ };
4051
+ };
4052
+ /** @description Error */
4053
+ default: {
4054
+ headers: {
4055
+ [name: string]: unknown;
4056
+ };
4057
+ content: {
4058
+ "application/json": components["schemas"]["Error"];
4059
+ };
4060
+ };
4061
+ };
4062
+ };
4063
+ "delete-project-web-check": {
4064
+ parameters: {
4065
+ query?: never;
4066
+ header?: never;
4067
+ path: {
4068
+ checkId: string;
4069
+ };
4070
+ cookie?: never;
4071
+ };
4072
+ requestBody?: never;
4073
+ responses: {
4074
+ /** @description No Content */
4075
+ 204: {
4076
+ headers: {
4077
+ [name: string]: unknown;
4078
+ };
4079
+ content?: never;
4080
+ };
4081
+ /** @description Error */
4082
+ default: {
4083
+ headers: {
4084
+ [name: string]: unknown;
4085
+ };
4086
+ content: {
4087
+ "application/json": components["schemas"]["Error"];
4088
+ };
4089
+ };
4090
+ };
4091
+ };
4092
+ "get-status-page-domain": {
4093
+ parameters: {
4094
+ query?: never;
4095
+ header?: never;
4096
+ path?: never;
4097
+ cookie?: never;
4098
+ };
4099
+ requestBody?: never;
4100
+ responses: {
4101
+ /** @description OK */
4102
+ 200: {
4103
+ headers: {
4104
+ [name: string]: unknown;
4105
+ };
4106
+ content: {
4107
+ "application/json": components["schemas"]["StatusPageDomainResource"];
4108
+ };
4109
+ };
4110
+ /** @description Error */
4111
+ default: {
4112
+ headers: {
4113
+ [name: string]: unknown;
4114
+ };
4115
+ content: {
4116
+ "application/json": components["schemas"]["Error"];
4117
+ };
4118
+ };
4119
+ };
4120
+ };
4121
+ "put-status-page-domain": {
4122
+ parameters: {
4123
+ query?: never;
4124
+ header?: never;
4125
+ path?: never;
4126
+ cookie?: never;
4127
+ };
4128
+ requestBody: {
4129
+ content: {
4130
+ "application/json": components["schemas"]["PutStatusPageDomainRequestBody"];
4131
+ };
4132
+ };
4133
+ responses: {
4134
+ /** @description OK */
4135
+ 200: {
4136
+ headers: {
4137
+ [name: string]: unknown;
4138
+ };
4139
+ content: {
4140
+ "application/json": components["schemas"]["StatusPageDomainResource"];
4141
+ };
4142
+ };
4143
+ /** @description Error */
4144
+ default: {
4145
+ headers: {
4146
+ [name: string]: unknown;
4147
+ };
4148
+ content: {
4149
+ "application/json": components["schemas"]["Error"];
4150
+ };
4151
+ };
4152
+ };
4153
+ };
4154
+ "delete-status-page-domain": {
4155
+ parameters: {
4156
+ query?: never;
4157
+ header?: never;
4158
+ path?: never;
4159
+ cookie?: never;
4160
+ };
4161
+ requestBody?: never;
4162
+ responses: {
4163
+ /** @description No Content */
4164
+ 204: {
4165
+ headers: {
4166
+ [name: string]: unknown;
4167
+ };
4168
+ content?: never;
4169
+ };
4170
+ /** @description Error */
4171
+ default: {
4172
+ headers: {
4173
+ [name: string]: unknown;
4174
+ };
4175
+ content: {
4176
+ "application/json": components["schemas"]["Error"];
4177
+ };
4178
+ };
4179
+ };
4180
+ };
4181
+ }