@leaflow/sdk 0.0.0-dev.23.g7fcf334 → 0.0.0-dev.232.g18ca775

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 (77) hide show
  1. package/README.md +22 -1
  2. package/dist/account/v1/client.d.ts +4 -0
  3. package/dist/account/v1/client.js +7 -0
  4. package/dist/account/v1/index.d.ts +33 -22
  5. package/dist/account/v1/index.js +4 -4
  6. package/dist/account/v1/schema.d.ts +307 -89
  7. package/dist/assistant/v1/client.d.ts +4 -0
  8. package/dist/assistant/v1/client.js +7 -0
  9. package/dist/assistant/v1/index.d.ts +71 -40
  10. package/dist/assistant/v1/index.js +4 -4
  11. package/dist/assistant/v1/schema.d.ts +1204 -139
  12. package/dist/billing/account/v1/client.d.ts +4 -0
  13. package/dist/billing/account/v1/client.js +7 -0
  14. package/dist/billing/account/v1/index.d.ts +143 -0
  15. package/dist/billing/account/v1/index.js +5 -0
  16. package/dist/billing/account/v1/schema.d.ts +4009 -0
  17. package/dist/billing/account/v1/schema.js +5 -0
  18. package/dist/billing/catalog/v1/client.d.ts +4 -0
  19. package/dist/billing/catalog/v1/client.js +7 -0
  20. package/dist/billing/catalog/v1/index.d.ts +29 -0
  21. package/dist/billing/catalog/v1/index.js +5 -0
  22. package/dist/billing/catalog/v1/schema.d.ts +910 -0
  23. package/dist/billing/catalog/v1/schema.js +5 -0
  24. package/dist/billing/index.d.ts +3 -0
  25. package/dist/billing/index.js +6 -0
  26. package/dist/billing/project/v1/client.d.ts +4 -0
  27. package/dist/billing/project/v1/client.js +7 -0
  28. package/dist/billing/project/v1/index.d.ts +45 -0
  29. package/dist/billing/project/v1/index.js +5 -0
  30. package/dist/billing/project/v1/schema.d.ts +1443 -0
  31. package/dist/billing/project/v1/schema.js +5 -0
  32. package/dist/canopy/v1/client.d.ts +4 -0
  33. package/dist/canopy/v1/client.js +7 -0
  34. package/dist/canopy/v1/index.d.ts +24 -23
  35. package/dist/canopy/v1/index.js +4 -4
  36. package/dist/canopy/v1/schema.d.ts +113 -109
  37. package/dist/compute/v1/client.d.ts +4 -0
  38. package/dist/compute/v1/client.js +7 -0
  39. package/dist/compute/v1/index.d.ts +182 -127
  40. package/dist/compute/v1/index.js +4 -4
  41. package/dist/compute/v1/schema.d.ts +1501 -286
  42. package/dist/dns/v1/client.d.ts +4 -0
  43. package/dist/dns/v1/client.js +7 -0
  44. package/dist/dns/v1/index.d.ts +43 -0
  45. package/dist/dns/v1/index.js +5 -0
  46. package/dist/dns/v1/schema.d.ts +887 -0
  47. package/dist/dns/v1/schema.js +5 -0
  48. package/dist/iam/v1/client.d.ts +4 -0
  49. package/dist/iam/v1/client.js +7 -0
  50. package/dist/iam/v1/index.d.ts +55 -32
  51. package/dist/iam/v1/index.js +4 -4
  52. package/dist/iam/v1/schema.d.ts +521 -88
  53. package/dist/index.d.ts +11 -7
  54. package/dist/index.js +19 -5
  55. package/dist/monitoring/v1/client.d.ts +4 -0
  56. package/dist/monitoring/v1/client.js +7 -0
  57. package/dist/monitoring/v1/index.d.ts +130 -49
  58. package/dist/monitoring/v1/index.js +4 -4
  59. package/dist/monitoring/v1/schema.d.ts +2420 -527
  60. package/dist/notification/v1/client.d.ts +4 -0
  61. package/dist/notification/v1/client.js +7 -0
  62. package/dist/notification/v1/index.d.ts +77 -0
  63. package/dist/notification/v1/index.js +5 -0
  64. package/dist/notification/v1/schema.d.ts +2048 -0
  65. package/dist/notification/v1/schema.js +5 -0
  66. package/dist/support/v1/client.d.ts +4 -0
  67. package/dist/support/v1/client.js +7 -0
  68. package/dist/support/v1/index.d.ts +51 -0
  69. package/dist/support/v1/index.js +5 -0
  70. package/dist/support/v1/schema.d.ts +1082 -0
  71. package/dist/support/v1/schema.js +5 -0
  72. package/dist/tunnel/v1/client.d.ts +4 -0
  73. package/dist/tunnel/v1/client.js +7 -0
  74. package/dist/tunnel/v1/index.d.ts +8 -7
  75. package/dist/tunnel/v1/index.js +4 -4
  76. package/dist/tunnel/v1/schema.d.ts +40 -34
  77. package/package.json +30 -10
@@ -11,8 +11,8 @@ export interface paths {
11
11
  cookie?: never;
12
12
  };
13
13
  /**
14
- * 列出告警
15
- * @description `incident_status` 表示监控系统是否判定已恢复,`closed` 表示是否有人完成了处理。两者相互独立,可分别筛选。
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
16
  */
17
17
  get: operations["list-incidents"];
18
18
  put?: never;
@@ -30,7 +30,7 @@ export interface paths {
30
30
  path?: never;
31
31
  cookie?: never;
32
32
  };
33
- /** 查一条告警 */
33
+ /** Get an incident */
34
34
  get: operations["get-incident"];
35
35
  put?: never;
36
36
  post?: never;
@@ -50,8 +50,8 @@ export interface paths {
50
50
  get?: never;
51
51
  put?: never;
52
52
  /**
53
- * 确认这条告警
54
- * @description 同时会在监控系统中标记为已确认,便于其他渠道也能看到该告警已有人处理。
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
55
  */
56
56
  post: operations["acknowledge-incident"];
57
57
  delete?: never;
@@ -69,10 +69,10 @@ export interface paths {
69
69
  };
70
70
  get?: never;
71
71
  /**
72
- * 把这条告警交给谁,或者收回来
73
- * @description `assignee_user_id` 留空即取消指派。
72
+ * Assign an incident, or clear its assignee
73
+ * @description Leave `assignee_user_id` empty to clear the assignment.
74
74
  *
75
- * **这里不校验被指派的人在不在这个项目里**——那要问 IAM,而这个服务的准入还没接。
75
+ * **Project membership of the assignee is not verified.** Any user identifier is accepted and recorded as given.
76
76
  */
77
77
  put: operations["assign-incident"];
78
78
  post?: never;
@@ -92,8 +92,8 @@ export interface paths {
92
92
  get?: never;
93
93
  put?: never;
94
94
  /**
95
- * 了结这条告警
96
- * @description 了结的是**平台上的处理流程**,不是告警本身的状态:尚未恢复的告警也可以按「已接受的风险」了结,它在监控系统中仍为未恢复。
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
97
  */
98
98
  post: operations["close-incident"];
99
99
  delete?: never;
@@ -111,7 +111,7 @@ export interface paths {
111
111
  };
112
112
  get?: never;
113
113
  put?: never;
114
- /** 在时间线上写一条备注 */
114
+ /** Add a note to the timeline */
115
115
  post: operations["add-incident-comment"];
116
116
  delete?: never;
117
117
  options?: never;
@@ -128,8 +128,8 @@ export interface paths {
128
128
  };
129
129
  get?: never;
130
130
  /**
131
- * 关注这条告警,或者取消关注
132
- * @description 关注的是**自己**:操作者就是被加进关注列表的那个人。
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
133
  */
134
134
  put: operations["set-incident-following"];
135
135
  post?: never;
@@ -148,7 +148,7 @@ export interface paths {
148
148
  };
149
149
  get?: never;
150
150
  put?: never;
151
- /** 重新打开一条已经了结的告警 */
151
+ /** Reopen a closed incident */
152
152
  post: operations["reopen-incident"];
153
153
  delete?: never;
154
154
  options?: never;
@@ -164,8 +164,8 @@ export interface paths {
164
164
  cookie?: never;
165
165
  };
166
166
  /**
167
- * 列出这条告警的时间线
168
- * @description 游标翻页而不是偏移量:时间线是只增的,用偏移量翻页会在新记录写入时漏行和重行。
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
169
  */
170
170
  get: operations["list-incident-timeline"];
171
171
  put?: never;
@@ -183,7 +183,7 @@ export interface paths {
183
183
  path?: never;
184
184
  cookie?: never;
185
185
  };
186
- /** 列出维护窗口 */
186
+ /** List maintenance windows */
187
187
  get: operations["list-maintenance-windows"];
188
188
  put?: never;
189
189
  post?: never;
@@ -200,19 +200,19 @@ export interface paths {
200
200
  path?: never;
201
201
  cookie?: never;
202
202
  };
203
- /** 查一个维护窗口 */
203
+ /** Get a maintenance window */
204
204
  get: operations["get-maintenance-window"];
205
205
  /**
206
- * 开一个维护窗口,或者按同一个 id 覆盖它
207
- * @description **创建即覆盖**:延长一个正在进行的窗口就是用同一个 id 再调一次。
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
208
  *
209
- * 窗口期内这些机器的问题不告警,也不扣 SLA 的可用率。`server_ids` 留空表示整个项目,包括窗口开着的时候新接进来的机器。
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
210
  */
211
211
  put: operations["put-maintenance-window"];
212
212
  post?: never;
213
213
  /**
214
- * 撤掉一个维护窗口
215
- * @description 立刻恢复告警,哪怕窗口还没到期。
214
+ * Cancel a maintenance window
215
+ * @description Alerting resumes immediately, even if the window has not yet expired.
216
216
  */
217
217
  delete: operations["delete-maintenance-window"];
218
218
  options?: never;
@@ -228,8 +228,8 @@ export interface paths {
228
228
  cookie?: never;
229
229
  };
230
230
  /**
231
- * 项目总览
232
- * @description 项目下还没有任何机器时返回各项均为零的总览,而不是 404——空项目是一个正常状态。
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
233
  */
234
234
  get: operations["get-project-overview"];
235
235
  put?: never;
@@ -248,8 +248,8 @@ export interface paths {
248
248
  cookie?: never;
249
249
  };
250
250
  /**
251
- * 列出一台机器的监控项
252
- * @description 原样返回采集到的监控项,不做筛选或重命名。哪些属于重要指标,由调用方依据监控项自带的标签自行判断。
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
253
  */
254
254
  get: operations["list-server-items"];
255
255
  put?: never;
@@ -268,8 +268,8 @@ export interface paths {
268
268
  cookie?: never;
269
269
  };
270
270
  /**
271
- * 取一个监控项的时间序列
272
- * @description `item_key` 是**前缀匹配**:按分区、按网卡发现出来的监控项 key 带参数(`vfs.fs.size[/var,pused]`),所以 `vfs.fs.size` 这一个请求就能画出每个挂载点一条线。
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
273
  */
274
274
  get: operations["get-server-metric"];
275
275
  put?: never;
@@ -287,7 +287,7 @@ export interface paths {
287
287
  path?: never;
288
288
  cookie?: never;
289
289
  };
290
- /** 一台机器的硬件与接口 */
290
+ /** Hardware and interfaces of a machine */
291
291
  get: operations["get-server-resources"];
292
292
  put?: never;
293
293
  post?: never;
@@ -304,7 +304,7 @@ export interface paths {
304
304
  path?: never;
305
305
  cookie?: never;
306
306
  };
307
- /** 一台机器此刻的状态 */
307
+ /** Current state of a machine */
308
308
  get: operations["get-server-snapshot"];
309
309
  put?: never;
310
310
  post?: never;
@@ -321,7 +321,7 @@ export interface paths {
321
321
  path?: never;
322
322
  cookie?: never;
323
323
  };
324
- /** 某个指标最高的前几台 */
324
+ /** Machines ranked highest by a given metric */
325
325
  get: operations["list-project-top-items"];
326
326
  put?: never;
327
327
  post?: never;
@@ -331,6 +331,26 @@ export interface paths {
331
331
  patch?: never;
332
332
  trace?: never;
333
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
+ };
334
354
  "/api/v1/servers": {
335
355
  parameters: {
336
356
  query?: never;
@@ -338,7 +358,7 @@ export interface paths {
338
358
  path?: never;
339
359
  cookie?: never;
340
360
  };
341
- /** 列出项目里的机器 */
361
+ /** List the machines in the project */
342
362
  get: operations["list-servers"];
343
363
  put?: never;
344
364
  post?: never;
@@ -355,28 +375,32 @@ export interface paths {
355
375
  path?: never;
356
376
  cookie?: never;
357
377
  };
358
- /** 查一台机器的接入情况 */
378
+ /** Get the enrollment state of a machine */
359
379
  get: operations["get-server"];
360
380
  /**
361
- * 把一台机器接入监控
362
- * @description **同一个 server id 重复调用是幂等的**:参数一致时返回已接入的那台,不会重复创建监控主机,因此接入失败可以安全重试。
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.
363
383
  *
364
- * 修改接入参数请改用 PATCH。本接口在参数不一致时会返回错误,不会更新已有配置。
384
+ * To change enrollment settings, use PATCH. This endpoint returns an error when the parameters differ, and does not update an existing configuration.
365
385
  *
366
- * 响应中的 `tls_psk` **只返回这一次**,请及时保存;遗失后需要轮换。
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.
367
391
  */
368
392
  put: operations["enable-server-monitoring"];
369
393
  post?: never;
370
394
  /**
371
- * 删掉这台机器
372
- * @description **不可逆**:监控主机、历史数据和这台机器名下的告警会一并删除。若只是想暂时停止采集,改用 /disable。
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.
373
397
  */
374
398
  delete: operations["delete-server"];
375
399
  options?: never;
376
400
  head?: never;
377
401
  /**
378
- * 改一台机器的接入参数
379
- * @description 只更新请求体中出现的字段。`address` 与 `address_kind` 必须一并提供:只改其中一个会得到互相矛盾的接入配置,该错误不会被报出,表现为 agent 连不上。
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.
380
404
  */
381
405
  patch: operations["update-server"];
382
406
  trace?: never;
@@ -391,8 +415,8 @@ export interface paths {
391
415
  get?: never;
392
416
  put?: never;
393
417
  /**
394
- * 停止监控这台机器
395
- * @description 可逆操作:监控主机保留,仅停止采集,历史数据不受影响。重新接入即可恢复采集。如需连同历史数据一并删除,改用 DELETE。
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.
396
420
  */
397
421
  post: operations["disable-server-monitoring"];
398
422
  delete?: never;
@@ -411,8 +435,8 @@ export interface paths {
411
435
  get?: never;
412
436
  put?: never;
413
437
  /**
414
- * 换一把 agent 的 PSK
415
- * @description 换完要同步改 agent 侧的配置,否则那台机器立刻失联。新密钥同样**只在这个响应里明文出现一次**。
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**.
416
440
  */
417
441
  post: operations["rotate-agent-psk"];
418
442
  delete?: never;
@@ -428,17 +452,17 @@ export interface paths {
428
452
  path?: never;
429
453
  cookie?: never;
430
454
  };
431
- /** 查一个网页检查 */
455
+ /** Get a web check */
432
456
  get: operations["get-web-check"];
433
457
  /**
434
- * 建一个网页检查,或者按同一个 id 覆盖它
435
- * @description **创建即覆盖**:修改一个检查即用同一个 id 再次调用本接口,无需先判断它是否已存在。
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.
436
460
  */
437
461
  put: operations["put-web-check"];
438
462
  post?: never;
439
463
  /**
440
- * 删掉一个网页检查
441
- * @description 同时删除监控系统中对应的检查任务和触发器,不会遗留永远无法恢复的告警。
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.
442
466
  */
443
467
  delete: operations["delete-web-check"];
444
468
  options?: never;
@@ -453,7 +477,7 @@ export interface paths {
453
477
  path?: never;
454
478
  cookie?: never;
455
479
  };
456
- /** 列出网页检查 */
480
+ /** List web checks */
457
481
  get: operations["list-web-checks"];
458
482
  put?: never;
459
483
  post?: never;
@@ -471,10 +495,10 @@ export interface paths {
471
495
  cookie?: never;
472
496
  };
473
497
  /**
474
- * 查实测的达成情况
475
- * @description SLI 是测出来的数,SLO 是定下来的目标——这里返回的是前者。
498
+ * Get measured availability
499
+ * @description SLI is what was measured; SLO is what was promised — this endpoint returns the former.
476
500
  *
477
- * `server_id` 为空的那一行是项目整体。
501
+ * The row with an empty `server_id` covers the project as a whole.
478
502
  */
479
503
  get: operations["get-sli-report"];
480
504
  put?: never;
@@ -493,21 +517,21 @@ export interface paths {
493
517
  cookie?: never;
494
518
  };
495
519
  /**
496
- * 查这个项目的可用率目标
497
- * @description 没定过就是 404,而不是一份默认目标:没承诺过和承诺了 99.9% 是两回事。
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.
498
522
  */
499
523
  get: operations["get-slo"];
500
524
  /**
501
- * 定下这个项目的可用率目标,或者改它
502
- * @description 一个项目一条 SLO,**创建即覆盖**。
525
+ * Set the availability target of this project, or change it
526
+ * @description One SLO per project, **create or replace**.
503
527
  *
504
- * `min_severity` 必须显式选:它决定什么算「不可用」,是这条承诺的一半内容。
528
+ * `min_severity` must be chosen explicitly: it defines what counts as unavailable, which is half of what the target means.
505
529
  */
506
530
  put: operations["put-slo"];
507
531
  post?: never;
508
532
  /**
509
- * 撤掉这个项目的可用率目标
510
- * @description 同时移除监控系统中对应的服务树,此后不再统计可用率。
533
+ * Remove the availability target of this project
534
+ * @description Availability is no longer tracked from this point on.
511
535
  */
512
536
  delete: operations["delete-slo"];
513
537
  options?: never;
@@ -515,187 +539,612 @@ export interface paths {
515
539
  patch?: never;
516
540
  trace?: never;
517
541
  };
518
- }
519
- export type webhooks = Record<string, never>;
520
- export interface components {
521
- schemas: {
522
- Error: {
523
- code?: string;
524
- message: string;
525
- meta?: {
526
- [key: string]: unknown;
527
- };
528
- /** Format: int64 */
529
- status: number;
542
+ "/api/v1/status-page": {
543
+ parameters: {
544
+ query?: never;
545
+ header?: never;
546
+ path?: never;
547
+ cookie?: never;
530
548
  };
531
- IncidentFollowerResource: {
532
- display_name: string;
533
- /** Format: date-time */
534
- followed_at: string;
535
- user_id: string;
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;
536
580
  };
537
- MonitoringItemResource: {
538
- /** @description last / avg / min / max 之类 */
539
- aggregation_function: string;
540
- /** Format: int64 */
541
- evaluation_window_seconds: number;
542
- item_id: string;
543
- key: string;
544
- name: string;
545
- operator: string;
546
- /**
547
- * Format: double
548
- * @description 只有 threshold_status 为 RESOLVED 时才有
549
- */
550
- threshold: number | null;
551
- threshold_status: string;
552
- /** @description 触发那一刻的值,原样存下来的 */
553
- value: string;
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;
554
604
  };
555
- TagResource: {
556
- tag: string;
557
- value: string;
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;
558
627
  };
559
- IncidentResource: {
560
- acknowledge_message: string;
561
- acknowledged: boolean;
562
- /** Format: date-time */
563
- acknowledged_at: string | null;
564
- acknowledged_by_display_name: string;
565
- acknowledged_by_user_id: string;
566
- /** Format: date-time */
567
- assigned_at: string | null;
568
- assignee_display_name: string;
569
- assignee_user_id: string;
570
- close_message: string;
571
- close_reason: string;
572
- /** Format: date-time */
573
- closed_at: string | null;
574
- closed_by_display_name: string;
575
- closed_by_user_id: string;
576
- /** Format: int64 */
577
- duration_seconds: number;
578
- followers: components["schemas"]["IncidentFollowerResource"][] | null;
579
- host_connection: string;
580
- host_display_name: string;
581
- /** Format: uuid */
582
- id: string;
583
- /**
584
- * @description 监控系统是否判定已恢复。它与是否有人了结这条告警是两件事
585
- * @enum {string}
586
- */
587
- incident_status: "PROBLEM" | "RESOLVED";
588
- items: components["schemas"]["MonitoringItemResource"][] | null;
589
- name: string;
590
- /** @description 触发器配的那行现场数据 */
591
- operational_data: string;
592
- /** Format: uuid */
593
- project_id: string;
594
- /** Format: date-time */
595
- resolved_at: string | null;
596
- resolved_trigger_expression: string;
597
- /** Format: uuid */
598
- server_id: string;
599
- server_name: string;
600
- /** @enum {string} */
601
- severity: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
602
- /** Format: date-time */
603
- started_at: string;
604
- tags: components["schemas"]["TagResource"][] | null;
605
- trigger_expression: string;
606
- zabbix_event_id: string;
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;
607
648
  };
608
- LengthAwarePageIncidentResource: {
609
- /** @description 这一页的内容 */
610
- items: components["schemas"]["IncidentResource"][];
611
- /**
612
- * Format: int64
613
- * @description 这一页最多几条,回显请求里的值
614
- */
615
- limit: number;
616
- /**
617
- * Format: int64
618
- * @description 跳过了多少条,回显请求里的值
619
- */
620
- offset: number;
621
- /**
622
- * Format: int64
623
- * @description 命中的总条数,不只是这一页
624
- */
625
- total: number;
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;
626
665
  };
627
- AcknowledgeIncidentRequestBody: {
628
- /** @description 会一并写入监控系统的确认记录 */
629
- message?: string;
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;
630
693
  };
631
- AssignIncidentRequestBody: {
632
- /** @description 不给就用 user id:时间线上要留一个当时的人名副本 */
633
- assignee_display_name?: string;
634
- assignee_user_id?: string;
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;
635
720
  };
636
- CloseIncidentRequestBody: {
637
- /** @description reason 为 OTHER 时必填,否则请求会被拒绝 */
638
- message?: string;
639
- /** @enum {string} */
640
- reason: "RECOVERED" | "FIXED" | "FALSE_POSITIVE" | "DUPLICATE" | "NO_ACTION_REQUIRED" | "ACCEPTED_RISK" | "OTHER";
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;
641
748
  };
642
- AddCommentRequestBody: {
643
- message: string;
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;
644
776
  };
645
- IncidentActivityResource: {
646
- /** @enum {string} */
647
- activity_type: "OPENED" | "RECOVERED" | "ACKNOWLEDGED" | "ASSIGNED" | "UNASSIGNED" | "FOLLOWER_ADDED" | "FOLLOWER_REMOVED" | "COMMENT" | "CLOSED" | "REOPENED";
648
- actor_display_name: string;
649
- /** @description 操作者;来源为 SYSTEM 或 ZABBIX 时为空 */
650
- actor_user_id: string;
651
- close_reason: string;
652
- /** Format: uuid */
653
- id: string;
654
- /** Format: uuid */
655
- incident_id: string;
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;
656
960
  message: string;
961
+ /**
962
+ * @description What a given `code` carries alongside the message. The keys depend on the code,
963
+ * and a client that does not recognise one ignores it.
964
+ */
965
+ meta?: {
966
+ [key: string]: unknown;
967
+ };
968
+ /** Format: int64 */
969
+ status: number;
970
+ };
971
+ IncidentFollowerResource: {
972
+ display_name: string;
657
973
  /** Format: date-time */
658
- occurred_at: string;
659
- /** @enum {string} */
660
- source: "SYSTEM" | "OPERATOR" | "ZABBIX";
661
- subject_display_name: string;
662
- /** @description 被指派 / 被取消关注的那个人 */
663
- subject_user_id: string;
974
+ followed_at: string;
975
+ user_id: string;
664
976
  };
665
- SetFollowingRequestBody: {
666
- following: boolean;
977
+ MonitoringItemResource: {
978
+ /** @description Such as last, avg, min or max */
979
+ aggregation_function: string;
980
+ /** Format: int64 */
981
+ evaluation_window_seconds: number;
982
+ item_id: string;
983
+ key: string;
984
+ name: string;
985
+ operator: string;
986
+ /**
987
+ * Format: double
988
+ * @description Present only when `threshold_status` is RESOLVED
989
+ */
990
+ threshold: number | null;
991
+ threshold_status: string;
992
+ /** @description The value at the moment of the trigger, stored as collected */
993
+ value: string;
667
994
  };
668
- CursorPageIncidentActivityResource: {
669
- /** @description 这一页的内容 */
670
- items: components["schemas"]["IncidentActivityResource"][];
671
- /** @description 下一页的游标;为空表示已经到底 */
672
- next_cursor: string;
995
+ TagResource: {
996
+ tag: string;
997
+ value: string;
673
998
  };
674
- MaintenancePeriodResource: {
999
+ IncidentResource: {
1000
+ acknowledge_message: string;
1001
+ acknowledged: boolean;
1002
+ /** Format: date-time */
1003
+ acknowledged_at: string | null;
1004
+ acknowledged_by_display_name: string;
1005
+ acknowledged_by_user_id: string;
1006
+ /** Format: date-time */
1007
+ assigned_at: string | null;
1008
+ assignee_display_name: string;
1009
+ assignee_user_id: string;
1010
+ close_message: string;
1011
+ close_reason: string;
1012
+ /** Format: date-time */
1013
+ closed_at: string | null;
1014
+ closed_by_display_name: string;
1015
+ closed_by_user_id: string;
675
1016
  /** Format: int64 */
676
1017
  duration_seconds: number;
1018
+ followers: components["schemas"]["IncidentFollowerResource"][] | null;
1019
+ host_connection: string;
1020
+ host_display_name: string;
1021
+ /** Format: uuid */
1022
+ id: string;
677
1023
  /**
678
- * Format: int64
679
- * @description DAILY / WEEKLY:每 N 天 / 每 N 周
1024
+ * @description Whether monitoring considers the problem recovered. Independent of whether anyone has closed the incident
1025
+ * @enum {string}
680
1026
  */
681
- every: number;
682
- /** @enum {string} */
683
- kind: "ONCE" | "DAILY" | "WEEKLY";
1027
+ incident_status: "PROBLEM" | "RESOLVED";
1028
+ items: components["schemas"]["MonitoringItemResource"][] | null;
1029
+ name: string;
1030
+ /** @description The operational data line configured on the trigger */
1031
+ operational_data: string;
1032
+ /** Format: uuid */
1033
+ project_id: string;
1034
+ /** Format: date-time */
1035
+ resolved_at: string | null;
1036
+ resolved_trigger_expression: string;
684
1037
  /**
685
- * Format: int64
686
- * @description DAILY / WEEKLY:当天零点起的秒数,按窗口自己的时区算
1038
+ * Format: uuid
1039
+ * @description The machine this alert is about. Null when the alert is not about a machine
687
1040
  */
688
- start_time_seconds: number;
1041
+ server_id: string | null;
1042
+ /** @description Empty when server_id is null */
1043
+ server_name: string;
1044
+ /** @enum {string} */
1045
+ severity: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1046
+ /** Format: date-time */
1047
+ started_at: string;
1048
+ tags: components["schemas"]["TagResource"][] | null;
1049
+ trigger_expression: string;
689
1050
  /**
690
- * Format: date-time
691
- * @description 只有 ONCE 有
1051
+ * Format: uuid
1052
+ * @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
692
1053
  */
693
- starts_at: string | null;
1054
+ web_check_id: string | null;
1055
+ zabbix_event_id: string;
1056
+ };
1057
+ LengthAwarePageIncidentResource: {
1058
+ /** @description The records in this page */
1059
+ items: components["schemas"]["IncidentResource"][];
694
1060
  /**
695
1061
  * Format: int64
696
- * @description WEEKLY:星期几的位图,**周一是最低位**
1062
+ * @description Maximum records per page, echoing the request
697
1063
  */
698
- weekdays: number;
1064
+ limit: number;
1065
+ /**
1066
+ * Format: int64
1067
+ * @description Number of records skipped, echoing the request
1068
+ */
1069
+ offset: number;
1070
+ /**
1071
+ * Format: int64
1072
+ * @description Total number of matches, not just this page
1073
+ */
1074
+ total: number;
1075
+ };
1076
+ AcknowledgeIncidentRequestBody: {
1077
+ /** @description Also written to the acknowledgement record in the monitoring system */
1078
+ message?: string;
1079
+ };
1080
+ AssignIncidentRequestBody: {
1081
+ /** @description Defaults to the user id. The timeline keeps a copy of the name as it was at the time */
1082
+ assignee_display_name?: string;
1083
+ assignee_user_id?: string;
1084
+ };
1085
+ CloseIncidentRequestBody: {
1086
+ /** @description Required when `reason` is OTHER; the request is rejected otherwise */
1087
+ message?: string;
1088
+ /** @enum {string} */
1089
+ reason: "RECOVERED" | "FIXED" | "FALSE_POSITIVE" | "DUPLICATE" | "NO_ACTION_REQUIRED" | "ACCEPTED_RISK" | "OTHER";
1090
+ };
1091
+ AddCommentRequestBody: {
1092
+ message: string;
1093
+ };
1094
+ IncidentActivityResource: {
1095
+ /** @enum {string} */
1096
+ activity_type: "OPENED" | "RECOVERED" | "ACKNOWLEDGED" | "ASSIGNED" | "UNASSIGNED" | "FOLLOWER_ADDED" | "FOLLOWER_REMOVED" | "COMMENT" | "CLOSED" | "REOPENED";
1097
+ actor_display_name: string;
1098
+ /** @description The operator. Empty when the source is SYSTEM or ZABBIX */
1099
+ actor_user_id: string;
1100
+ close_reason: string;
1101
+ /** Format: uuid */
1102
+ id: string;
1103
+ /** Format: uuid */
1104
+ incident_id: string;
1105
+ message: string;
1106
+ /** Format: date-time */
1107
+ occurred_at: string;
1108
+ /** @enum {string} */
1109
+ source: "SYSTEM" | "OPERATOR" | "ZABBIX";
1110
+ subject_display_name: string;
1111
+ /** @description The user who was assigned, or removed from the followers */
1112
+ subject_user_id: string;
1113
+ };
1114
+ SetFollowingRequestBody: {
1115
+ following: boolean;
1116
+ };
1117
+ CursorPageIncidentActivityResource: {
1118
+ /** @description The records in this page */
1119
+ items: components["schemas"]["IncidentActivityResource"][];
1120
+ /** @description Cursor for the next page. Empty means the end has been reached */
1121
+ next_cursor: string;
1122
+ };
1123
+ MaintenancePeriodResource: {
1124
+ /** Format: int64 */
1125
+ duration_seconds: number;
1126
+ /**
1127
+ * Format: int64
1128
+ * @description DAILY and WEEKLY: every N days or every N weeks
1129
+ */
1130
+ every: number;
1131
+ /** @enum {string} */
1132
+ kind: "ONCE" | "DAILY" | "WEEKLY";
1133
+ /**
1134
+ * Format: int64
1135
+ * @description DAILY and WEEKLY: seconds from midnight, in the timezone of the window
1136
+ */
1137
+ start_time_seconds: number;
1138
+ /**
1139
+ * Format: date-time
1140
+ * @description Present only for ONCE
1141
+ */
1142
+ starts_at: string | null;
1143
+ /**
1144
+ * Format: int64
1145
+ * @description WEEKLY: bitmap of weekdays, **Monday is the lowest bit**
1146
+ */
1147
+ weekdays: number;
699
1148
  };
700
1149
  MaintenanceWindowResource: {
701
1150
  /** Format: date-time */
@@ -708,7 +1157,7 @@ export interface components {
708
1157
  period: components["schemas"]["MaintenancePeriodResource"];
709
1158
  /** Format: uuid */
710
1159
  project_id: string;
711
- /** @description 空表示**整个项目** */
1160
+ /** @description Empty covers the **entire project** */
712
1161
  server_ids: string[] | null;
713
1162
  /** @enum {string} */
714
1163
  sync_status: "PENDING" | "ACTIVE" | "FAILED" | "EXPIRED";
@@ -724,31 +1173,31 @@ export interface components {
724
1173
  duration_seconds?: number;
725
1174
  /**
726
1175
  * Format: int64
727
- * @description DAILY / WEEKLY:每 N 天 / 每 N 周
1176
+ * @description DAILY and WEEKLY: every N days or every N weeks
728
1177
  */
729
1178
  every?: number;
730
1179
  /** @enum {string} */
731
1180
  kind: "ONCE" | "DAILY" | "WEEKLY";
732
1181
  /**
733
1182
  * Format: int64
734
- * @description DAILY / WEEKLY:当天零点起的秒数,按窗口自己的时区算
1183
+ * @description DAILY and WEEKLY: seconds from midnight, in the timezone of the window
735
1184
  */
736
1185
  start_time_seconds?: number;
737
1186
  /**
738
1187
  * Format: date-time
739
- * @description 只有 ONCE 用得上
1188
+ * @description Used only by ONCE
740
1189
  */
741
1190
  starts_at?: string;
742
1191
  /**
743
1192
  * Format: int64
744
- * @description WEEKLY:星期几的位图,**周一是最低位**
1193
+ * @description WEEKLY: bitmap of weekdays, **Monday is the lowest bit**
745
1194
  */
746
1195
  weekdays?: number;
747
1196
  };
748
1197
  PutMaintenanceWindowRequestBody: {
749
1198
  /**
750
1199
  * Format: date-time
751
- * @description 整条规则的生效区间起点
1200
+ * @description Start of the period in which the rule is effective
752
1201
  */
753
1202
  active_since: string;
754
1203
  /** Format: date-time */
@@ -757,7 +1206,7 @@ export interface components {
757
1206
  name: string;
758
1207
  period: components["schemas"]["MaintenancePeriodRequest"];
759
1208
  server_ids?: string[] | null;
760
- /** @description IANA 名字,比如 Asia/Shanghai;空即用部署配的默认 */
1209
+ /** @description IANA name such as Asia/Shanghai. Empty uses the configured default */
761
1210
  timezone?: string;
762
1211
  };
763
1212
  CountResource: {
@@ -814,7 +1263,7 @@ export interface components {
814
1263
  severity: string;
815
1264
  /** Format: double */
816
1265
  threshold: number;
817
- /** @description 图例上说明这条线是什么 */
1266
+ /** @description Labels the line in the chart legend */
818
1267
  trigger_name: string;
819
1268
  };
820
1269
  MetricResponseBody: {
@@ -823,7 +1272,7 @@ export interface components {
823
1272
  effective_from: string;
824
1273
  /** Format: date-time */
825
1274
  effective_to: string;
826
- /** @description 数据来自趋势表,每个点是一小时的聚合 */
1275
+ /** @description Data comes from hourly aggregates, one point per hour */
827
1276
  from_trends: boolean;
828
1277
  series: components["schemas"]["MetricSeriesResource"][] | null;
829
1278
  thresholds: components["schemas"]["ItemThresholdResource"][] | null;
@@ -839,7 +1288,7 @@ export interface components {
839
1288
  };
840
1289
  ServerResourcesResource: {
841
1290
  interfaces: components["schemas"]["HostInterfaceResource"][] | null;
842
- /** @description 自动采集的硬件与系统清单:CPU、内存、操作系统等 */
1291
+ /** @description Hardware and system inventory collected automatically: CPU, memory, operating system and so on */
843
1292
  inventory: {
844
1293
  [key: string]: string;
845
1294
  };
@@ -848,7 +1297,7 @@ export interface components {
848
1297
  SnapshotResource: {
849
1298
  agent_error: string;
850
1299
  /**
851
- * @description AGENT_DOWN 是 agent 不通但机器还活着;UNREACHABLE 是连这一点都说不上
1300
+ * @description AGENT_DOWN means the agent is unreachable while the machine is still alive; UNREACHABLE means neither can be established
852
1301
  * @enum {string}
853
1302
  */
854
1303
  agent_reachability: "UNKNOWN" | "REACHABLE" | "AGENT_DOWN" | "UNREACHABLE";
@@ -868,6 +1317,46 @@ export interface components {
868
1317
  TopItemListResponseBody: {
869
1318
  items: components["schemas"]["TopItemResource"][] | null;
870
1319
  };
1320
+ TemplateCatalogParameterResource: {
1321
+ /** @description The value that takes effect when the parameter is omitted. An empty string is a real default, not an absent one */
1322
+ default: string;
1323
+ /**
1324
+ * @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.
1325
+ *
1326
+ * - `string` — no constraint; empty is accepted
1327
+ * - `non_empty_string` — must not be empty once trimmed
1328
+ * - `percent` — a number in the **closed** interval 0 to 100; fractions are accepted
1329
+ * - `positive_number` — a number **strictly** greater than 0; fractions are accepted
1330
+ * - `port` — an integer from 1 to 65535 inclusive; `8080/tcp` is not a port
1331
+ * - `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
1332
+ * - `ip_or_empty` — an IP address, or empty to mean "not specified"
1333
+ * - `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
1334
+ * @enum {string}
1335
+ */
1336
+ kind: "string" | "non_empty_string" | "percent" | "positive_number" | "port" | "host" | "ip_or_empty" | "regexp";
1337
+ /** @description The key to use in `template_bindings[].parameters`. It is not the Zabbix macro name, which is internal and changes between Zabbix versions */
1338
+ name: string;
1339
+ /** @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 */
1340
+ required: boolean;
1341
+ /** @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 */
1342
+ secret: boolean;
1343
+ };
1344
+ TemplateCatalogEntryResource: {
1345
+ /** @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 */
1346
+ is_base: boolean;
1347
+ /** @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 */
1348
+ needs_agent: boolean;
1349
+ /** @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 */
1350
+ parameters: components["schemas"]["TemplateCatalogParameterResource"][] | null;
1351
+ /** @description Templates that must be bound alongside this one. Values are `template_key`s */
1352
+ requires: string[] | null;
1353
+ /** @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 */
1354
+ supports_active_mode: boolean;
1355
+ template_key: string;
1356
+ };
1357
+ TemplateCatalogResponseBody: {
1358
+ items: components["schemas"]["TemplateCatalogEntryResource"][] | null;
1359
+ };
871
1360
  ServerTemplateResource: {
872
1361
  configured_secret_parameters: string[] | null;
873
1362
  parameters: {
@@ -892,7 +1381,7 @@ export interface components {
892
1381
  id: string;
893
1382
  last_error: string;
894
1383
  /**
895
- * @description FAILED 时看 last_error
1384
+ * @description Consult `last_error` when this is FAILED
896
1385
  * @enum {string}
897
1386
  */
898
1387
  monitoring_status: "PENDING" | "ACTIVE" | "DISABLED" | "FAILED";
@@ -902,30 +1391,34 @@ export interface components {
902
1391
  templates: components["schemas"]["ServerTemplateResource"][] | null;
903
1392
  /** Format: date-time */
904
1393
  updated_at: string;
905
- /** @description agent 配置里的 Hostname 必须与它一致,主动式采集靠它认人 */
1394
+ /** @description The Hostname in the agent configuration must match this value; active checks identify the machine by it */
906
1395
  zabbix_host_name: string;
907
1396
  };
908
1397
  LengthAwarePageServerResource: {
909
- /** @description 这一页的内容 */
1398
+ /** @description The records in this page */
910
1399
  items: components["schemas"]["ServerResource"][];
911
1400
  /**
912
1401
  * Format: int64
913
- * @description 这一页最多几条,回显请求里的值
1402
+ * @description Maximum records per page, echoing the request
914
1403
  */
915
1404
  limit: number;
916
1405
  /**
917
1406
  * Format: int64
918
- * @description 跳过了多少条,回显请求里的值
1407
+ * @description Number of records skipped, echoing the request
919
1408
  */
920
1409
  offset: number;
921
1410
  /**
922
1411
  * Format: int64
923
- * @description 命中的总条数,不只是这一页
1412
+ * @description Total number of matches, not just this page
924
1413
  */
925
1414
  total: number;
926
1415
  };
927
1416
  TemplateBindingRequest: {
928
- /** @description 模板自己声明的参数,密钥参数写明文,返回时只报名字 */
1417
+ /**
1418
+ * @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.
1419
+ *
1420
+ * 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.
1421
+ */
929
1422
  parameters?: {
930
1423
  [key: string]: string;
931
1424
  };
@@ -937,13 +1430,13 @@ export interface components {
937
1430
  /** @enum {string} */
938
1431
  address_kind: "ip" | "dns";
939
1432
  /**
940
- * @description 空即被动式:它对 agent 侧配置要求最少
1433
+ * @description Empty selects passive mode, which requires the least agent-side configuration
941
1434
  * @enum {string}
942
1435
  */
943
1436
  agent_mode?: "PASSIVE" | "ACTIVE";
944
1437
  /**
945
1438
  * Format: int64
946
- * @description 0 表示用默认的 10050
1439
+ * @description 0 uses the default of 10050
947
1440
  */
948
1441
  agent_port?: number;
949
1442
  description?: string;
@@ -951,14 +1444,14 @@ export interface components {
951
1444
  template_bindings?: components["schemas"]["TemplateBindingRequest"][] | null;
952
1445
  };
953
1446
  EnrollmentResource: {
954
- /** @description 含 PSK,与 tls_psk 一样只出现这一次 */
1447
+ /** @description Includes the PSK. Like `tls_psk`, it is returned only this once */
955
1448
  install_command: string;
956
1449
  install_script_url: string;
957
- /** @description **只出现这一次** */
1450
+ /** @description **Returned only this once** */
958
1451
  tls_psk: string;
959
1452
  tls_psk_identity: string;
960
1453
  zabbix_host_name: string;
961
- /** @description agent 配置里的 Server / ServerActive */
1454
+ /** @description The Server and ServerActive values for the agent configuration */
962
1455
  zabbix_server_address: string;
963
1456
  };
964
1457
  ServerEnrollmentResponseBody: {
@@ -968,12 +1461,12 @@ export interface components {
968
1461
  UpdateServerRequestBody: {
969
1462
  address?: string;
970
1463
  /**
971
- * @description 要改地址就必须和 address 一起给
1464
+ * @description Must be supplied together with `address` when changing the address
972
1465
  * @enum {string}
973
1466
  */
974
1467
  address_kind?: "ip" | "dns";
975
1468
  /**
976
- * @description 改采集模式会把全部模板换成另一个变体
1469
+ * @description Changing the collection mode rebinds every template to the corresponding variant
977
1470
  * @enum {string}
978
1471
  */
979
1472
  agent_mode?: "PASSIVE" | "ACTIVE";
@@ -989,7 +1482,7 @@ export interface components {
989
1482
  error: string;
990
1483
  /**
991
1484
  * Format: int64
992
- * @description 第几步失败的,从 1 数;healthy 时为 0
1485
+ * @description Index of the failed step, counting from 1. 0 when healthy
993
1486
  */
994
1487
  failed_step: number;
995
1488
  healthy: boolean;
@@ -999,7 +1492,7 @@ export interface components {
999
1492
  response_time_seconds: number;
1000
1493
  };
1001
1494
  WebCheckStepResource: {
1002
- /** @description 状态码表达式,比如 200 或者 200,301-302 */
1495
+ /** @description Status code expression, such as 200 or 200,301-302 */
1003
1496
  expected_status_codes: string;
1004
1497
  follow_redirects: boolean;
1005
1498
  name: string;
@@ -1014,11 +1507,14 @@ export interface components {
1014
1507
  last_error: string;
1015
1508
  /** Format: int64 */
1016
1509
  response_time_threshold_seconds: number;
1017
- /** @description null 表示这个检查还一轮都没跑过。零值会把「还不知道」显示成「响应 0 秒、状态码 0」 */
1510
+ /** @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" */
1018
1511
  result: components["schemas"]["WebCheckResultResource"] | null;
1019
1512
  /** Format: int64 */
1020
1513
  retries: number;
1021
- /** Format: uuid */
1514
+ /**
1515
+ * Format: uuid
1516
+ * @description The machine this check is attached to. Empty for a project-level check, which is not tied to any machine
1517
+ */
1022
1518
  server_id: string;
1023
1519
  steps: components["schemas"]["WebCheckStepResource"][] | null;
1024
1520
  /** @enum {string} */
@@ -1027,23 +1523,23 @@ export interface components {
1027
1523
  timeout_seconds: number;
1028
1524
  };
1029
1525
  WebCheckStepRequest: {
1030
- /** @description 状态码表达式,比如 200 或者 200,301-302;留空表示不检查状态码 */
1526
+ /** @description Status code expression, such as 200 or 200,301-302. Empty disables status code checking */
1031
1527
  expected_status_codes?: string;
1032
1528
  follow_redirects?: boolean;
1033
1529
  name: string;
1034
- /** @description 响应体里必须出现的字符串 */
1530
+ /** @description A string that must appear in the response body */
1035
1531
  required_pattern?: string;
1036
1532
  url: string;
1037
1533
  };
1038
1534
  PutWebCheckRequestBody: {
1039
1535
  /**
1040
1536
  * Format: int64
1041
- * @description 0 表示用默认
1537
+ * @description 0 uses the default
1042
1538
  */
1043
1539
  interval_seconds?: number;
1044
1540
  /**
1045
1541
  * Format: int64
1046
- * @description 超过它算慢,0 表示不看响应时间
1542
+ * @description Slower than this counts as slow. 0 disables the response time check
1047
1543
  */
1048
1544
  response_time_threshold_seconds?: number;
1049
1545
  /** Format: int64 */
@@ -1060,19 +1556,19 @@ export interface components {
1060
1556
  downtime_seconds: number;
1061
1557
  /**
1062
1558
  * Format: int64
1063
- * @description 为负表示这个周期的额度已经超支
1559
+ * @description A negative value means the budget for this period is already exhausted
1064
1560
  */
1065
1561
  error_budget_seconds: number;
1066
1562
  /**
1067
1563
  * Format: int64
1068
- * @description 被计划内维护排除掉的那部分
1564
+ * @description The portion excluded by planned maintenance
1069
1565
  */
1070
1566
  excluded_downtime_seconds: number;
1071
1567
  /** Format: date-time */
1072
1568
  period_from: string;
1073
1569
  /** Format: date-time */
1074
1570
  period_to: string;
1075
- /** @description 空表示这一行是项目整体 */
1571
+ /** @description Empty means this row covers the project as a whole */
1076
1572
  server_id: string;
1077
1573
  /** Format: double */
1078
1574
  sli_percent: number;
@@ -1089,7 +1585,7 @@ export interface components {
1089
1585
  start_time_seconds: number;
1090
1586
  /**
1091
1587
  * Format: int64
1092
- * @description 星期几的位图,**周一是最低位**,与维护窗口同一套编码
1588
+ * @description Bitmap of weekdays, **Monday is the lowest bit**, using the same encoding as maintenance windows
1093
1589
  */
1094
1590
  weekdays: number;
1095
1591
  };
@@ -1104,13 +1600,13 @@ export interface components {
1104
1600
  period: "DAILY" | "WEEKLY" | "MONTHLY" | "QUARTERLY" | "ANNUALLY";
1105
1601
  /** Format: uuid */
1106
1602
  project_id: string;
1107
- /** @description 空表示 7×24 全天候承诺 */
1603
+ /** @description Empty means a 24x7 commitment */
1108
1604
  schedule: components["schemas"]["ScheduleWindowResource"][] | null;
1109
1605
  /** Format: uuid */
1110
1606
  slo_id: string;
1111
1607
  /**
1112
1608
  * Format: double
1113
- * @description 目标可用率,比如 99.9
1609
+ * @description Target availability, such as 99.9
1114
1610
  */
1115
1611
  slo_percent: number;
1116
1612
  /** @enum {string} */
@@ -1124,7 +1620,7 @@ export interface components {
1124
1620
  start_time_seconds?: number;
1125
1621
  /**
1126
1622
  * Format: int64
1127
- * @description 星期几的位图,**周一是最低位**(1=周一 … 64=周日)
1623
+ * @description Bitmap of weekdays, **Monday is the lowest bit** (1 = Monday … 64 = Sunday)
1128
1624
  */
1129
1625
  weekdays: number;
1130
1626
  };
@@ -1135,7 +1631,7 @@ export interface components {
1135
1631
  min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1136
1632
  name: string;
1137
1633
  /**
1138
- * @description 空即按月
1634
+ * @description Empty selects monthly
1139
1635
  * @enum {string}
1140
1636
  */
1141
1637
  period?: "DAILY" | "WEEKLY" | "MONTHLY" | "QUARTERLY" | "ANNUALLY";
@@ -1144,49 +1640,1294 @@ export interface components {
1144
1640
  slo_id: string;
1145
1641
  /**
1146
1642
  * Format: double
1147
- * @description 目标可用率,比如 99.9;最多四位小数
1643
+ * @description Target availability, such as 99.9. At most four decimal places
1148
1644
  */
1149
1645
  slo_percent: number;
1150
- /** @description 决定统计周期的边界,即每个周期从哪一刻开始 */
1646
+ /** @description Determines the boundaries of each reporting period, that is, the moment each period begins */
1151
1647
  timezone?: string;
1152
1648
  };
1153
- };
1154
- responses: never;
1155
- parameters: never;
1156
- requestBodies: never;
1157
- headers: never;
1158
- pathItems: never;
1159
- }
1160
- export type $defs = Record<string, never>;
1161
- export interface operations {
1162
- "list-incidents": {
1163
- parameters: {
1164
- query?: {
1165
- /** @description 这一页最多返回多少条 */
1166
- limit?: number;
1167
- /** @description 跳过多少条。要翻得更深请改用游标翻页的接口 */
1168
- offset?: number;
1169
- /** @description 只看某一台机器的 */
1170
- server_id?: string;
1171
- incident_status?: "PROBLEM" | "RESOLVED";
1172
- /** @description 按不低于该等级匹配,而非精确匹配 */
1173
- min_severity?: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1174
- started_after?: string;
1175
- started_before?: string;
1176
- /** @description 与 [active_from, active_to] **有交集**的告警,给指标图叠加故障区间要的是这个 */
1177
- active_from?: string;
1178
- active_to?: string;
1179
- /** @description 形如 key 或 key=value,可重复;多个标签之间是与关系 */
1180
- tag?: string[] | null;
1181
- assignee_user_id?: string;
1182
- /** @description 有没有人在这边把它处理完,与 incident_status 无关 */
1183
- closed?: "true" | "false";
1184
- acknowledged?: "true" | "false";
1185
- unassigned?: "true" | "false";
1186
- keyword?: string;
1187
- };
1188
- header?: never;
1189
- path?: never;
1649
+ StatusPageResource: {
1650
+ /** @description #RRGGBB */
1651
+ brand_color: string;
1652
+ /** Format: date-time */
1653
+ created_at: string;
1654
+ /** @description The custom domain bound to this page. Empty means it is served only at /{slug} under the shared domain */
1655
+ custom_domain: string;
1656
+ footer_text: string;
1657
+ headline: string;
1658
+ logo_url: string;
1659
+ name: string;
1660
+ /** @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 */
1661
+ public_url: string;
1662
+ published: boolean;
1663
+ /** @description Whether search engines may index the page */
1664
+ search_engine_index: boolean;
1665
+ /** @description The readable address segment, empty when none is set. The page is always reachable at /<project id> regardless */
1666
+ slug: string;
1667
+ /** Format: uuid */
1668
+ status_page_id: string;
1669
+ support_url: string;
1670
+ /** @enum {string} */
1671
+ theme: "AUTO" | "LIGHT" | "DARK";
1672
+ /** @description Determines where the day boundary falls on the availability bar */
1673
+ timezone: string;
1674
+ /** Format: date-time */
1675
+ updated_at: string;
1676
+ /**
1677
+ * Format: int64
1678
+ * @description Number of days covered by the availability bar
1679
+ */
1680
+ uptime_days: number;
1681
+ /** @description The text shown on the support link. Empty means the page default is used */
1682
+ support_label: string;
1683
+ };
1684
+ PutStatusPageRequestBody: {
1685
+ /** @description #RRGGBB. Applied to the page styling; only a strict six-digit hexadecimal value is accepted */
1686
+ brand_color?: string;
1687
+ /** @description Read-only here. Bind a custom domain through PUT /status-page/domain, which verifies ownership first; a value sent here is ignored */
1688
+ custom_domain?: string;
1689
+ /** @description The line of free-form text in the page footer. Plain text */
1690
+ footer_text?: string;
1691
+ /** @description The line shown below the title */
1692
+ headline?: string;
1693
+ logo_url?: string;
1694
+ /** @description Page title */
1695
+ name: string;
1696
+ /**
1697
+ * @description While false, the public address returns 404. Unpublished by default
1698
+ * @default false
1699
+ */
1700
+ published?: boolean;
1701
+ /**
1702
+ * @description Not indexed by default. Once a page has been crawled, switching back does not remove copies already held in third-party indexes
1703
+ * @default false
1704
+ */
1705
+ search_engine_index?: boolean;
1706
+ /** @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 */
1707
+ slug?: string;
1708
+ support_url?: string;
1709
+ /**
1710
+ * @default AUTO
1711
+ * @enum {string}
1712
+ */
1713
+ theme?: "AUTO" | "LIGHT" | "DARK";
1714
+ /** @description IANA name. Empty selects UTC */
1715
+ timezone?: string;
1716
+ /**
1717
+ * Format: int64
1718
+ * @default 90
1719
+ */
1720
+ uptime_days?: number;
1721
+ /** @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 */
1722
+ support_label?: string;
1723
+ };
1724
+ PutStatusPageOrderRequestBody: {
1725
+ items: components["schemas"]["StatusPageOrderItem"][];
1726
+ };
1727
+ /** @description Exactly one of the two: `group_id` marks this position as a group, `component_id` as an ungrouped component */
1728
+ StatusPageOrderItem: {
1729
+ /** Format: uuid */
1730
+ component_id?: string;
1731
+ /** Format: uuid */
1732
+ group_id?: string;
1733
+ };
1734
+ PutStatusPageGroupOrderRequestBody: {
1735
+ component_ids: string[];
1736
+ };
1737
+ StatusPageGroupResource: {
1738
+ /** @description Whether the group is collapsed by default on the page */
1739
+ collapsed: boolean;
1740
+ /** Format: date-time */
1741
+ created_at: string;
1742
+ description: string;
1743
+ /** Format: uuid */
1744
+ group_id: string;
1745
+ name: string;
1746
+ /** Format: int64 */
1747
+ position: number;
1748
+ };
1749
+ StatusPageGroupListResponseBody: {
1750
+ data: components["schemas"]["StatusPageGroupResource"][];
1751
+ };
1752
+ PutStatusPageGroupRequestBody: {
1753
+ /** @default true */
1754
+ collapsed?: boolean;
1755
+ description?: string;
1756
+ name: string;
1757
+ };
1758
+ StatusPageComponentResource: {
1759
+ /** @enum {string} */
1760
+ auto_status_min_severity: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1761
+ /** Format: uuid */
1762
+ component_id: string;
1763
+ /** Format: date-time */
1764
+ created_at: string;
1765
+ /**
1766
+ * @description The status currently shown to the public. OPERATIONAL means normal
1767
+ * @enum {string}
1768
+ */
1769
+ current_status: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1770
+ description: string;
1771
+ /** @description Empty means ungrouped, placed directly at the top level of the page */
1772
+ group_id: string;
1773
+ name: string;
1774
+ /** @description Hide this row while everything is normal */
1775
+ only_show_if_degraded: boolean;
1776
+ /** Format: int64 */
1777
+ position: number;
1778
+ /** @description Whether the availability bar is shown. Components with this disabled are also excluded from the aggregate of their group */
1779
+ show_uptime: boolean;
1780
+ /**
1781
+ * Format: date-time
1782
+ * @description The moment this component started being covered. Earlier days are shown as unmeasured rather than operational
1783
+ */
1784
+ started_on: string;
1785
+ /**
1786
+ * Format: double
1787
+ * @description Availability over the past `uptime_days` days
1788
+ */
1789
+ uptime_percent: number;
1790
+ };
1791
+ StatusPageComponentListResponseBody: {
1792
+ data: components["schemas"]["StatusPageComponentResource"][];
1793
+ };
1794
+ PutStatusPageComponentRequestBody: {
1795
+ /**
1796
+ * @description Alerts below this severity do not change the status of this row
1797
+ * @default AVERAGE
1798
+ * @enum {string}
1799
+ */
1800
+ auto_status_min_severity?: "ANY" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
1801
+ description?: string;
1802
+ /**
1803
+ * Format: uuid
1804
+ * @description Empty leaves the component ungrouped
1805
+ */
1806
+ group_id?: string;
1807
+ /** @description Customer-facing copy; appears verbatim on the public page */
1808
+ name: string;
1809
+ /** @default false */
1810
+ only_show_if_degraded?: boolean;
1811
+ /** @default true */
1812
+ show_uptime?: boolean;
1813
+ /**
1814
+ * Format: date-time
1815
+ * @description Meaningful only at creation and immutable afterwards. Empty selects the current moment
1816
+ */
1817
+ started_on?: string;
1818
+ };
1819
+ StatusPageComponentSourceServer: {
1820
+ /** Format: uuid */
1821
+ server_id: string;
1822
+ };
1823
+ StatusPageComponentSourceWebCheck: {
1824
+ /**
1825
+ * @description Whether the checked address is shown on the public page
1826
+ * @default false
1827
+ */
1828
+ show_url?: boolean;
1829
+ /** Format: uuid */
1830
+ web_check_id: string;
1831
+ };
1832
+ StatusPageComponentSourcesResource: {
1833
+ servers: components["schemas"]["StatusPageComponentSourceServer"][];
1834
+ web_checks: components["schemas"]["StatusPageComponentSourceWebCheck"][];
1835
+ };
1836
+ /** @description Submits the complete set; anything not listed is unbound */
1837
+ PutStatusPageComponentSourcesRequestBody: {
1838
+ servers?: components["schemas"]["StatusPageComponentSourceServer"][];
1839
+ web_checks?: components["schemas"]["StatusPageComponentSourceWebCheck"][];
1840
+ };
1841
+ /** @description A status transition of one component within one update. The component name is a snapshot taken at the time */
1842
+ StatusPageIncidentComponentResource: {
1843
+ /** Format: uuid */
1844
+ component_id: string;
1845
+ component_name: string;
1846
+ /** @enum {string} */
1847
+ new_status: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1848
+ /** @enum {string} */
1849
+ old_status: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1850
+ };
1851
+ StatusPageIncidentUpdateResource: {
1852
+ affected_components: components["schemas"]["StatusPageIncidentComponentResource"][] | null;
1853
+ /** @description Body text. Plain text */
1854
+ body: string;
1855
+ /** @enum {string} */
1856
+ incident_status: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1857
+ /** Format: date-time */
1858
+ published_at: string;
1859
+ /** Format: uuid */
1860
+ update_id: string;
1861
+ };
1862
+ StatusPageIncidentResource: {
1863
+ /** @enum {string} */
1864
+ impact: "NONE" | "MINOR" | "MAJOR" | "CRITICAL";
1865
+ /** Format: uuid */
1866
+ incident_id: string;
1867
+ /** @enum {string} */
1868
+ incident_status: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1869
+ name: string;
1870
+ /** Format: date-time */
1871
+ published_at: string;
1872
+ /** Format: date-time */
1873
+ resolved_at: string | null;
1874
+ /**
1875
+ * Format: date-time
1876
+ * @description When the incident began, not when the notice was published
1877
+ */
1878
+ started_at: string;
1879
+ /** @description Most recently published first */
1880
+ updates: components["schemas"]["StatusPageIncidentUpdateResource"][] | null;
1881
+ };
1882
+ LengthAwarePageStatusPageIncidentResource: {
1883
+ data: components["schemas"]["StatusPageIncidentResource"][];
1884
+ /** Format: int64 */
1885
+ limit: number;
1886
+ /** Format: int64 */
1887
+ offset: number;
1888
+ /** Format: int64 */
1889
+ total: number;
1890
+ };
1891
+ StatusPageIncidentComponentRequest: {
1892
+ /** Format: uuid */
1893
+ component_id: string;
1894
+ /**
1895
+ * @description Empty returns this component to operational
1896
+ * @enum {string}
1897
+ */
1898
+ status?: "OPERATIONAL" | "DEGRADED_PERFORMANCE" | "PARTIAL_OUTAGE" | "MAJOR_OUTAGE" | "UNDER_MAINTENANCE";
1899
+ };
1900
+ PublishStatusPageIncidentRequestBody: {
1901
+ /** @description Body of the first update. Plain text */
1902
+ body: string;
1903
+ components?: components["schemas"]["StatusPageIncidentComponentRequest"][];
1904
+ /**
1905
+ * @description Empty derives the impact from the affected components
1906
+ * @enum {string}
1907
+ */
1908
+ impact?: "NONE" | "MINOR" | "MAJOR" | "CRITICAL";
1909
+ /**
1910
+ * @default INVESTIGATING
1911
+ * @enum {string}
1912
+ */
1913
+ incident_status?: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1914
+ /** @description The public title */
1915
+ name: string;
1916
+ /**
1917
+ * Format: date-time
1918
+ * @description Empty selects the current moment. Backfilling a past incident sets it in the past
1919
+ */
1920
+ published_at?: string;
1921
+ /**
1922
+ * Format: date-time
1923
+ * @description When the incident began. Empty uses the publication time
1924
+ */
1925
+ started_at?: string;
1926
+ };
1927
+ PostStatusPageIncidentUpdateRequestBody: {
1928
+ /** @description Body text. Plain text */
1929
+ body: string;
1930
+ /** @description Lists only the components being changed by this update; those not listed keep their current status */
1931
+ components?: components["schemas"]["StatusPageIncidentComponentRequest"][];
1932
+ /**
1933
+ * @description Empty keeps the current stage. RESOLVED closes the notice and returns every affected component to operational
1934
+ * @enum {string}
1935
+ */
1936
+ incident_status?: "INVESTIGATING" | "IDENTIFIED" | "MONITORING" | "RESOLVED";
1937
+ /** Format: date-time */
1938
+ published_at?: string;
1939
+ };
1940
+ StatusPageMaintenanceComponentResource: {
1941
+ /** Format: uuid */
1942
+ component_id: string;
1943
+ component_name: string;
1944
+ /** @enum {string} */
1945
+ component_status: "UNDER_MAINTENANCE" | "DEGRADED_PERFORMANCE";
1946
+ };
1947
+ StatusPageMaintenanceResource: {
1948
+ affected_components: components["schemas"]["StatusPageMaintenanceComponentResource"][] | null;
1949
+ /** @description Maintenance description. Plain text */
1950
+ body: string;
1951
+ /**
1952
+ * Format: date-time
1953
+ * @description When the maintenance actually finished
1954
+ */
1955
+ completed_at: string | null;
1956
+ /** Format: uuid */
1957
+ maintenance_id: string;
1958
+ /** @enum {string} */
1959
+ maintenance_status: "SCHEDULED" | "IN_PROGRESS" | "COMPLETED" | "CANCELLED";
1960
+ name: string;
1961
+ /** Format: date-time */
1962
+ scheduled_for: string;
1963
+ /** Format: date-time */
1964
+ scheduled_until: string;
1965
+ /**
1966
+ * Format: date-time
1967
+ * @description When the maintenance actually started, which may differ from the scheduled time
1968
+ */
1969
+ started_at: string | null;
1970
+ };
1971
+ LengthAwarePageStatusPageMaintenanceResource: {
1972
+ data: components["schemas"]["StatusPageMaintenanceResource"][];
1973
+ /** Format: int64 */
1974
+ limit: number;
1975
+ /** Format: int64 */
1976
+ offset: number;
1977
+ /** Format: int64 */
1978
+ total: number;
1979
+ };
1980
+ StatusPageMaintenanceComponentRequest: {
1981
+ /** Format: uuid */
1982
+ component_id: string;
1983
+ /**
1984
+ * @description How this component is shown while the maintenance runs. Neither value reduces availability
1985
+ * @default UNDER_MAINTENANCE
1986
+ * @enum {string}
1987
+ */
1988
+ component_status?: "UNDER_MAINTENANCE" | "DEGRADED_PERFORMANCE";
1989
+ };
1990
+ ScheduleStatusPageMaintenanceRequestBody: {
1991
+ /** @description Maintenance description. Plain text */
1992
+ body: string;
1993
+ /** @description At least one. Maintenance that affects no component reads on the page as an announcement with no subject */
1994
+ components: components["schemas"]["StatusPageMaintenanceComponentRequest"][];
1995
+ name: string;
1996
+ /** Format: date-time */
1997
+ scheduled_for: string;
1998
+ /**
1999
+ * Format: date-time
2000
+ * @description Must be later than `scheduled_for`
2001
+ */
2002
+ scheduled_until: string;
2003
+ };
2004
+ StatusPageDomainResource: {
2005
+ /**
2006
+ * Format: date-time
2007
+ * @description When the current certificate expires
2008
+ */
2009
+ certificate_not_after: string | null;
2010
+ /**
2011
+ * @description NONE means no certificate has been requested for this domain yet
2012
+ * @enum {string}
2013
+ */
2014
+ certificate_status: "NONE" | "PENDING" | "ACTIVE" | "FAILED";
2015
+ /** @description The bound custom domain. Empty means none is bound */
2016
+ domain: string;
2017
+ /** @description The value the domain must point at */
2018
+ expected_cname: string;
2019
+ /** @description Why the most recent issuance attempt failed. Empty when it did not */
2020
+ last_error: string;
2021
+ /** @description What the domain currently resolves to. Empty when it resolves to nothing */
2022
+ observed_cname: string;
2023
+ /** @description The address this page is served at, taking the custom domain into account */
2024
+ public_url: string;
2025
+ /** @description Whether the domain currently points at the status page */
2026
+ verified: boolean;
2027
+ /**
2028
+ * Format: date-time
2029
+ * @description When ownership was last confirmed
2030
+ */
2031
+ verified_at: string | null;
2032
+ };
2033
+ PutStatusPageDomainRequestBody: {
2034
+ /** @description Your own domain, such as status.acme.com. It must already point at the status page by CNAME */
2035
+ domain: string;
2036
+ };
2037
+ };
2038
+ responses: never;
2039
+ parameters: never;
2040
+ requestBodies: never;
2041
+ headers: never;
2042
+ pathItems: never;
2043
+ }
2044
+ export type $defs = Record<string, never>;
2045
+ export interface operations {
2046
+ "list-incidents": {
2047
+ parameters: {
2048
+ query?: {
2049
+ /** @description Maximum number of records in this page */
2050
+ limit?: number;
2051
+ /** @description Number of records to skip. For deeper paging, use the cursor-paged endpoint instead */
2052
+ offset?: number;
2053
+ /** @description Restrict to a single machine */
2054
+ server_id?: string;
2055
+ /** @description Restrict to a single web check */
2056
+ web_check_id?: string;
2057
+ incident_status?: "PROBLEM" | "RESOLVED";
2058
+ /** @description Matches at or above this severity, not exactly this severity */
2059
+ min_severity?: "NOT_CLASSIFIED" | "INFORMATION" | "WARNING" | "AVERAGE" | "HIGH" | "DISASTER";
2060
+ started_after?: string;
2061
+ started_before?: string;
2062
+ /** @description Incidents that **overlap** [active_from, active_to]. This is what you want when overlaying incident bands on a metric chart */
2063
+ active_from?: string;
2064
+ active_to?: string;
2065
+ /** @description Given as `key` or `key=value`, repeatable. Multiple tags are combined with AND */
2066
+ tag?: string[] | null;
2067
+ assignee_user_id?: string;
2068
+ /** @description Whether someone has finished handling it here. Independent of `incident_status` */
2069
+ closed?: "true" | "false";
2070
+ acknowledged?: "true" | "false";
2071
+ unassigned?: "true" | "false";
2072
+ keyword?: string;
2073
+ };
2074
+ header?: never;
2075
+ path?: never;
2076
+ cookie?: never;
2077
+ };
2078
+ requestBody?: never;
2079
+ responses: {
2080
+ /** @description OK */
2081
+ 200: {
2082
+ headers: {
2083
+ [name: string]: unknown;
2084
+ };
2085
+ content: {
2086
+ "application/json": components["schemas"]["LengthAwarePageIncidentResource"];
2087
+ };
2088
+ };
2089
+ /** @description Error */
2090
+ default: {
2091
+ headers: {
2092
+ [name: string]: unknown;
2093
+ };
2094
+ content: {
2095
+ "application/json": components["schemas"]["Error"];
2096
+ };
2097
+ };
2098
+ };
2099
+ };
2100
+ "get-incident": {
2101
+ parameters: {
2102
+ query?: never;
2103
+ header?: never;
2104
+ path: {
2105
+ incidentId: string;
2106
+ };
2107
+ cookie?: never;
2108
+ };
2109
+ requestBody?: never;
2110
+ responses: {
2111
+ /** @description OK */
2112
+ 200: {
2113
+ headers: {
2114
+ [name: string]: unknown;
2115
+ };
2116
+ content: {
2117
+ "application/json": components["schemas"]["IncidentResource"];
2118
+ };
2119
+ };
2120
+ /** @description Error */
2121
+ default: {
2122
+ headers: {
2123
+ [name: string]: unknown;
2124
+ };
2125
+ content: {
2126
+ "application/json": components["schemas"]["Error"];
2127
+ };
2128
+ };
2129
+ };
2130
+ };
2131
+ "acknowledge-incident": {
2132
+ parameters: {
2133
+ query?: never;
2134
+ header?: never;
2135
+ path: {
2136
+ incidentId: string;
2137
+ };
2138
+ cookie?: never;
2139
+ };
2140
+ requestBody: {
2141
+ content: {
2142
+ "application/json": components["schemas"]["AcknowledgeIncidentRequestBody"];
2143
+ };
2144
+ };
2145
+ responses: {
2146
+ /** @description OK */
2147
+ 200: {
2148
+ headers: {
2149
+ [name: string]: unknown;
2150
+ };
2151
+ content: {
2152
+ "application/json": components["schemas"]["IncidentResource"];
2153
+ };
2154
+ };
2155
+ /** @description Error */
2156
+ default: {
2157
+ headers: {
2158
+ [name: string]: unknown;
2159
+ };
2160
+ content: {
2161
+ "application/json": components["schemas"]["Error"];
2162
+ };
2163
+ };
2164
+ };
2165
+ };
2166
+ "assign-incident": {
2167
+ parameters: {
2168
+ query?: never;
2169
+ header?: never;
2170
+ path: {
2171
+ incidentId: string;
2172
+ };
2173
+ cookie?: never;
2174
+ };
2175
+ requestBody: {
2176
+ content: {
2177
+ "application/json": components["schemas"]["AssignIncidentRequestBody"];
2178
+ };
2179
+ };
2180
+ responses: {
2181
+ /** @description OK */
2182
+ 200: {
2183
+ headers: {
2184
+ [name: string]: unknown;
2185
+ };
2186
+ content: {
2187
+ "application/json": components["schemas"]["IncidentResource"];
2188
+ };
2189
+ };
2190
+ /** @description Error */
2191
+ default: {
2192
+ headers: {
2193
+ [name: string]: unknown;
2194
+ };
2195
+ content: {
2196
+ "application/json": components["schemas"]["Error"];
2197
+ };
2198
+ };
2199
+ };
2200
+ };
2201
+ "close-incident": {
2202
+ parameters: {
2203
+ query?: never;
2204
+ header?: never;
2205
+ path: {
2206
+ incidentId: string;
2207
+ };
2208
+ cookie?: never;
2209
+ };
2210
+ requestBody: {
2211
+ content: {
2212
+ "application/json": components["schemas"]["CloseIncidentRequestBody"];
2213
+ };
2214
+ };
2215
+ responses: {
2216
+ /** @description OK */
2217
+ 200: {
2218
+ headers: {
2219
+ [name: string]: unknown;
2220
+ };
2221
+ content: {
2222
+ "application/json": components["schemas"]["IncidentResource"];
2223
+ };
2224
+ };
2225
+ /** @description Error */
2226
+ default: {
2227
+ headers: {
2228
+ [name: string]: unknown;
2229
+ };
2230
+ content: {
2231
+ "application/json": components["schemas"]["Error"];
2232
+ };
2233
+ };
2234
+ };
2235
+ };
2236
+ "add-incident-comment": {
2237
+ parameters: {
2238
+ query?: never;
2239
+ header?: never;
2240
+ path: {
2241
+ incidentId: string;
2242
+ };
2243
+ cookie?: never;
2244
+ };
2245
+ requestBody: {
2246
+ content: {
2247
+ "application/json": components["schemas"]["AddCommentRequestBody"];
2248
+ };
2249
+ };
2250
+ responses: {
2251
+ /** @description OK */
2252
+ 200: {
2253
+ headers: {
2254
+ [name: string]: unknown;
2255
+ };
2256
+ content: {
2257
+ "application/json": components["schemas"]["IncidentActivityResource"];
2258
+ };
2259
+ };
2260
+ /** @description Error */
2261
+ default: {
2262
+ headers: {
2263
+ [name: string]: unknown;
2264
+ };
2265
+ content: {
2266
+ "application/json": components["schemas"]["Error"];
2267
+ };
2268
+ };
2269
+ };
2270
+ };
2271
+ "set-incident-following": {
2272
+ parameters: {
2273
+ query?: never;
2274
+ header?: never;
2275
+ path: {
2276
+ incidentId: string;
2277
+ };
2278
+ cookie?: never;
2279
+ };
2280
+ requestBody: {
2281
+ content: {
2282
+ "application/json": components["schemas"]["SetFollowingRequestBody"];
2283
+ };
2284
+ };
2285
+ responses: {
2286
+ /** @description OK */
2287
+ 200: {
2288
+ headers: {
2289
+ [name: string]: unknown;
2290
+ };
2291
+ content: {
2292
+ "application/json": components["schemas"]["IncidentResource"];
2293
+ };
2294
+ };
2295
+ /** @description Error */
2296
+ default: {
2297
+ headers: {
2298
+ [name: string]: unknown;
2299
+ };
2300
+ content: {
2301
+ "application/json": components["schemas"]["Error"];
2302
+ };
2303
+ };
2304
+ };
2305
+ };
2306
+ "reopen-incident": {
2307
+ parameters: {
2308
+ query?: never;
2309
+ header?: never;
2310
+ path: {
2311
+ incidentId: string;
2312
+ };
2313
+ cookie?: never;
2314
+ };
2315
+ requestBody?: never;
2316
+ responses: {
2317
+ /** @description OK */
2318
+ 200: {
2319
+ headers: {
2320
+ [name: string]: unknown;
2321
+ };
2322
+ content: {
2323
+ "application/json": components["schemas"]["IncidentResource"];
2324
+ };
2325
+ };
2326
+ /** @description Error */
2327
+ default: {
2328
+ headers: {
2329
+ [name: string]: unknown;
2330
+ };
2331
+ content: {
2332
+ "application/json": components["schemas"]["Error"];
2333
+ };
2334
+ };
2335
+ };
2336
+ };
2337
+ "list-incident-timeline": {
2338
+ parameters: {
2339
+ query?: {
2340
+ limit?: number;
2341
+ /** @description The `next_cursor` returned by the previous page. Empty starts from the beginning */
2342
+ cursor?: string;
2343
+ };
2344
+ header?: never;
2345
+ path: {
2346
+ incidentId: string;
2347
+ };
2348
+ cookie?: never;
2349
+ };
2350
+ requestBody?: never;
2351
+ responses: {
2352
+ /** @description OK */
2353
+ 200: {
2354
+ headers: {
2355
+ [name: string]: unknown;
2356
+ };
2357
+ content: {
2358
+ "application/json": components["schemas"]["CursorPageIncidentActivityResource"];
2359
+ };
2360
+ };
2361
+ /** @description Error */
2362
+ default: {
2363
+ headers: {
2364
+ [name: string]: unknown;
2365
+ };
2366
+ content: {
2367
+ "application/json": components["schemas"]["Error"];
2368
+ };
2369
+ };
2370
+ };
2371
+ };
2372
+ "list-maintenance-windows": {
2373
+ parameters: {
2374
+ query?: never;
2375
+ header?: never;
2376
+ path?: never;
2377
+ cookie?: never;
2378
+ };
2379
+ requestBody?: never;
2380
+ responses: {
2381
+ /** @description OK */
2382
+ 200: {
2383
+ headers: {
2384
+ [name: string]: unknown;
2385
+ };
2386
+ content: {
2387
+ "application/json": components["schemas"]["MaintenanceWindowListResponseBody"];
2388
+ };
2389
+ };
2390
+ /** @description Error */
2391
+ default: {
2392
+ headers: {
2393
+ [name: string]: unknown;
2394
+ };
2395
+ content: {
2396
+ "application/json": components["schemas"]["Error"];
2397
+ };
2398
+ };
2399
+ };
2400
+ };
2401
+ "get-maintenance-window": {
2402
+ parameters: {
2403
+ query?: never;
2404
+ header?: never;
2405
+ path: {
2406
+ windowId: string;
2407
+ };
2408
+ cookie?: never;
2409
+ };
2410
+ requestBody?: never;
2411
+ responses: {
2412
+ /** @description OK */
2413
+ 200: {
2414
+ headers: {
2415
+ [name: string]: unknown;
2416
+ };
2417
+ content: {
2418
+ "application/json": components["schemas"]["MaintenanceWindowResource"];
2419
+ };
2420
+ };
2421
+ /** @description Error */
2422
+ default: {
2423
+ headers: {
2424
+ [name: string]: unknown;
2425
+ };
2426
+ content: {
2427
+ "application/json": components["schemas"]["Error"];
2428
+ };
2429
+ };
2430
+ };
2431
+ };
2432
+ "put-maintenance-window": {
2433
+ parameters: {
2434
+ query?: never;
2435
+ header?: never;
2436
+ path: {
2437
+ windowId: string;
2438
+ };
2439
+ cookie?: never;
2440
+ };
2441
+ requestBody: {
2442
+ content: {
2443
+ "application/json": components["schemas"]["PutMaintenanceWindowRequestBody"];
2444
+ };
2445
+ };
2446
+ responses: {
2447
+ /** @description OK */
2448
+ 200: {
2449
+ headers: {
2450
+ [name: string]: unknown;
2451
+ };
2452
+ content: {
2453
+ "application/json": components["schemas"]["MaintenanceWindowResource"];
2454
+ };
2455
+ };
2456
+ /** @description Error */
2457
+ default: {
2458
+ headers: {
2459
+ [name: string]: unknown;
2460
+ };
2461
+ content: {
2462
+ "application/json": components["schemas"]["Error"];
2463
+ };
2464
+ };
2465
+ };
2466
+ };
2467
+ "delete-maintenance-window": {
2468
+ parameters: {
2469
+ query?: never;
2470
+ header?: never;
2471
+ path: {
2472
+ windowId: string;
2473
+ };
2474
+ cookie?: never;
2475
+ };
2476
+ requestBody?: never;
2477
+ responses: {
2478
+ /** @description No Content */
2479
+ 204: {
2480
+ headers: {
2481
+ [name: string]: unknown;
2482
+ };
2483
+ content?: never;
2484
+ };
2485
+ /** @description Error */
2486
+ default: {
2487
+ headers: {
2488
+ [name: string]: unknown;
2489
+ };
2490
+ content: {
2491
+ "application/json": components["schemas"]["Error"];
2492
+ };
2493
+ };
2494
+ };
2495
+ };
2496
+ "get-project-overview": {
2497
+ parameters: {
2498
+ query?: never;
2499
+ header?: never;
2500
+ path?: never;
2501
+ cookie?: never;
2502
+ };
2503
+ requestBody?: never;
2504
+ responses: {
2505
+ /** @description OK */
2506
+ 200: {
2507
+ headers: {
2508
+ [name: string]: unknown;
2509
+ };
2510
+ content: {
2511
+ "application/json": components["schemas"]["ProjectOverviewResource"];
2512
+ };
2513
+ };
2514
+ /** @description Error */
2515
+ default: {
2516
+ headers: {
2517
+ [name: string]: unknown;
2518
+ };
2519
+ content: {
2520
+ "application/json": components["schemas"]["Error"];
2521
+ };
2522
+ };
2523
+ };
2524
+ };
2525
+ "list-server-items": {
2526
+ parameters: {
2527
+ query?: {
2528
+ /** @description Fuzzy match on key or name */
2529
+ keyword?: string;
2530
+ /** @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 */
2531
+ tag?: string[] | null;
2532
+ };
2533
+ header?: never;
2534
+ path: {
2535
+ serverId: string;
2536
+ };
2537
+ cookie?: never;
2538
+ };
2539
+ requestBody?: never;
2540
+ responses: {
2541
+ /** @description OK */
2542
+ 200: {
2543
+ headers: {
2544
+ [name: string]: unknown;
2545
+ };
2546
+ content: {
2547
+ "application/json": components["schemas"]["ItemListResponseBody"];
2548
+ };
2549
+ };
2550
+ /** @description Error */
2551
+ default: {
2552
+ headers: {
2553
+ [name: string]: unknown;
2554
+ };
2555
+ content: {
2556
+ "application/json": components["schemas"]["Error"];
2557
+ };
2558
+ };
2559
+ };
2560
+ };
2561
+ "get-server-metric": {
2562
+ parameters: {
2563
+ query?: {
2564
+ /** @description **Prefix match**: `vfs.fs.size` returns one series per mount point. Supply this or `item_id` */
2565
+ item_key?: string;
2566
+ item_id?: string;
2567
+ /** @description Defaults to one hour ago */
2568
+ from?: string;
2569
+ to?: string;
2570
+ /** @description Number of downsampling buckets. 0 returns the collected data points unchanged */
2571
+ max_points?: number;
2572
+ /** @description Also return the thresholds currently in effect for these items */
2573
+ include_thresholds?: boolean;
2574
+ };
2575
+ header?: never;
2576
+ path: {
2577
+ serverId: string;
2578
+ };
2579
+ cookie?: never;
2580
+ };
2581
+ requestBody?: never;
2582
+ responses: {
2583
+ /** @description OK */
2584
+ 200: {
2585
+ headers: {
2586
+ [name: string]: unknown;
2587
+ };
2588
+ content: {
2589
+ "application/json": components["schemas"]["MetricResponseBody"];
2590
+ };
2591
+ };
2592
+ /** @description Error */
2593
+ default: {
2594
+ headers: {
2595
+ [name: string]: unknown;
2596
+ };
2597
+ content: {
2598
+ "application/json": components["schemas"]["Error"];
2599
+ };
2600
+ };
2601
+ };
2602
+ };
2603
+ "get-server-resources": {
2604
+ parameters: {
2605
+ query?: never;
2606
+ header?: never;
2607
+ path: {
2608
+ serverId: string;
2609
+ };
2610
+ cookie?: never;
2611
+ };
2612
+ requestBody?: never;
2613
+ responses: {
2614
+ /** @description OK */
2615
+ 200: {
2616
+ headers: {
2617
+ [name: string]: unknown;
2618
+ };
2619
+ content: {
2620
+ "application/json": components["schemas"]["ServerResourcesResource"];
2621
+ };
2622
+ };
2623
+ /** @description Error */
2624
+ default: {
2625
+ headers: {
2626
+ [name: string]: unknown;
2627
+ };
2628
+ content: {
2629
+ "application/json": components["schemas"]["Error"];
2630
+ };
2631
+ };
2632
+ };
2633
+ };
2634
+ "get-server-snapshot": {
2635
+ parameters: {
2636
+ query?: never;
2637
+ header?: never;
2638
+ path: {
2639
+ serverId: string;
2640
+ };
2641
+ cookie?: never;
2642
+ };
2643
+ requestBody?: never;
2644
+ responses: {
2645
+ /** @description OK */
2646
+ 200: {
2647
+ headers: {
2648
+ [name: string]: unknown;
2649
+ };
2650
+ content: {
2651
+ "application/json": components["schemas"]["SnapshotResource"];
2652
+ };
2653
+ };
2654
+ /** @description Error */
2655
+ default: {
2656
+ headers: {
2657
+ [name: string]: unknown;
2658
+ };
2659
+ content: {
2660
+ "application/json": components["schemas"]["Error"];
2661
+ };
2662
+ };
2663
+ };
2664
+ };
2665
+ "list-project-top-items": {
2666
+ parameters: {
2667
+ query: {
2668
+ kind: "CPU_UTILIZATION" | "MEMORY_UTILIZATION" | "ROOT_FILESYSTEM_USED";
2669
+ /** @description 0 uses the default */
2670
+ limit?: number;
2671
+ };
2672
+ header?: never;
2673
+ path?: never;
2674
+ cookie?: never;
2675
+ };
2676
+ requestBody?: never;
2677
+ responses: {
2678
+ /** @description OK */
2679
+ 200: {
2680
+ headers: {
2681
+ [name: string]: unknown;
2682
+ };
2683
+ content: {
2684
+ "application/json": components["schemas"]["TopItemListResponseBody"];
2685
+ };
2686
+ };
2687
+ /** @description Error */
2688
+ default: {
2689
+ headers: {
2690
+ [name: string]: unknown;
2691
+ };
2692
+ content: {
2693
+ "application/json": components["schemas"]["Error"];
2694
+ };
2695
+ };
2696
+ };
2697
+ };
2698
+ "list-templates": {
2699
+ parameters: {
2700
+ query?: never;
2701
+ header?: never;
2702
+ path?: never;
2703
+ cookie?: never;
2704
+ };
2705
+ requestBody?: never;
2706
+ responses: {
2707
+ /** @description OK */
2708
+ 200: {
2709
+ headers: {
2710
+ [name: string]: unknown;
2711
+ };
2712
+ content: {
2713
+ "application/json": components["schemas"]["TemplateCatalogResponseBody"];
2714
+ };
2715
+ };
2716
+ /** @description Error */
2717
+ default: {
2718
+ headers: {
2719
+ [name: string]: unknown;
2720
+ };
2721
+ content: {
2722
+ "application/json": components["schemas"]["Error"];
2723
+ };
2724
+ };
2725
+ };
2726
+ };
2727
+ "list-servers": {
2728
+ parameters: {
2729
+ query?: {
2730
+ /** @description Maximum number of records in this page */
2731
+ limit?: number;
2732
+ /** @description Number of records to skip. For deeper paging, use the cursor-paged endpoint instead */
2733
+ offset?: number;
2734
+ /** @description Fuzzy match on name or address */
2735
+ keyword?: string;
2736
+ monitoring_status?: "PENDING" | "ACTIVE" | "DISABLED" | "FAILED";
2737
+ };
2738
+ header?: never;
2739
+ path?: never;
2740
+ cookie?: never;
2741
+ };
2742
+ requestBody?: never;
2743
+ responses: {
2744
+ /** @description OK */
2745
+ 200: {
2746
+ headers: {
2747
+ [name: string]: unknown;
2748
+ };
2749
+ content: {
2750
+ "application/json": components["schemas"]["LengthAwarePageServerResource"];
2751
+ };
2752
+ };
2753
+ /** @description Error */
2754
+ default: {
2755
+ headers: {
2756
+ [name: string]: unknown;
2757
+ };
2758
+ content: {
2759
+ "application/json": components["schemas"]["Error"];
2760
+ };
2761
+ };
2762
+ };
2763
+ };
2764
+ "get-server": {
2765
+ parameters: {
2766
+ query?: never;
2767
+ header?: never;
2768
+ path: {
2769
+ serverId: string;
2770
+ };
2771
+ cookie?: never;
2772
+ };
2773
+ requestBody?: never;
2774
+ responses: {
2775
+ /** @description OK */
2776
+ 200: {
2777
+ headers: {
2778
+ [name: string]: unknown;
2779
+ };
2780
+ content: {
2781
+ "application/json": components["schemas"]["ServerResource"];
2782
+ };
2783
+ };
2784
+ /** @description Error */
2785
+ default: {
2786
+ headers: {
2787
+ [name: string]: unknown;
2788
+ };
2789
+ content: {
2790
+ "application/json": components["schemas"]["Error"];
2791
+ };
2792
+ };
2793
+ };
2794
+ };
2795
+ "enable-server-monitoring": {
2796
+ parameters: {
2797
+ query?: never;
2798
+ header?: never;
2799
+ path: {
2800
+ /** @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. */
2801
+ serverId: string;
2802
+ };
2803
+ cookie?: never;
2804
+ };
2805
+ requestBody: {
2806
+ content: {
2807
+ "application/json": components["schemas"]["EnableMonitoringRequestBody"];
2808
+ };
2809
+ };
2810
+ responses: {
2811
+ /** @description OK */
2812
+ 200: {
2813
+ headers: {
2814
+ [name: string]: unknown;
2815
+ };
2816
+ content: {
2817
+ "application/json": components["schemas"]["ServerEnrollmentResponseBody"];
2818
+ };
2819
+ };
2820
+ /** @description Error */
2821
+ default: {
2822
+ headers: {
2823
+ [name: string]: unknown;
2824
+ };
2825
+ content: {
2826
+ "application/json": components["schemas"]["Error"];
2827
+ };
2828
+ };
2829
+ };
2830
+ };
2831
+ "delete-server": {
2832
+ parameters: {
2833
+ query?: never;
2834
+ header?: never;
2835
+ path: {
2836
+ serverId: string;
2837
+ };
2838
+ cookie?: never;
2839
+ };
2840
+ requestBody?: never;
2841
+ responses: {
2842
+ /** @description No Content */
2843
+ 204: {
2844
+ headers: {
2845
+ [name: string]: unknown;
2846
+ };
2847
+ content?: never;
2848
+ };
2849
+ /** @description Error */
2850
+ default: {
2851
+ headers: {
2852
+ [name: string]: unknown;
2853
+ };
2854
+ content: {
2855
+ "application/json": components["schemas"]["Error"];
2856
+ };
2857
+ };
2858
+ };
2859
+ };
2860
+ "update-server": {
2861
+ parameters: {
2862
+ query?: never;
2863
+ header?: never;
2864
+ path: {
2865
+ serverId: string;
2866
+ };
2867
+ cookie?: never;
2868
+ };
2869
+ requestBody: {
2870
+ content: {
2871
+ "application/json": components["schemas"]["UpdateServerRequestBody"];
2872
+ };
2873
+ };
2874
+ responses: {
2875
+ /** @description OK */
2876
+ 200: {
2877
+ headers: {
2878
+ [name: string]: unknown;
2879
+ };
2880
+ content: {
2881
+ "application/json": components["schemas"]["ServerResource"];
2882
+ };
2883
+ };
2884
+ /** @description Error */
2885
+ default: {
2886
+ headers: {
2887
+ [name: string]: unknown;
2888
+ };
2889
+ content: {
2890
+ "application/json": components["schemas"]["Error"];
2891
+ };
2892
+ };
2893
+ };
2894
+ };
2895
+ "disable-server-monitoring": {
2896
+ parameters: {
2897
+ query?: never;
2898
+ header?: never;
2899
+ path: {
2900
+ serverId: string;
2901
+ };
2902
+ cookie?: never;
2903
+ };
2904
+ requestBody?: never;
2905
+ responses: {
2906
+ /** @description No Content */
2907
+ 204: {
2908
+ headers: {
2909
+ [name: string]: unknown;
2910
+ };
2911
+ content?: never;
2912
+ };
2913
+ /** @description Error */
2914
+ default: {
2915
+ headers: {
2916
+ [name: string]: unknown;
2917
+ };
2918
+ content: {
2919
+ "application/json": components["schemas"]["Error"];
2920
+ };
2921
+ };
2922
+ };
2923
+ };
2924
+ "rotate-agent-psk": {
2925
+ parameters: {
2926
+ query?: never;
2927
+ header?: never;
2928
+ path: {
2929
+ serverId: string;
2930
+ };
1190
2931
  cookie?: never;
1191
2932
  };
1192
2933
  requestBody?: never;
@@ -1197,7 +2938,7 @@ export interface operations {
1197
2938
  [name: string]: unknown;
1198
2939
  };
1199
2940
  content: {
1200
- "application/json": components["schemas"]["LengthAwarePageIncidentResource"];
2941
+ "application/json": components["schemas"]["EnrollmentResource"];
1201
2942
  };
1202
2943
  };
1203
2944
  /** @description Error */
@@ -1211,12 +2952,13 @@ export interface operations {
1211
2952
  };
1212
2953
  };
1213
2954
  };
1214
- "get-incident": {
2955
+ "get-web-check": {
1215
2956
  parameters: {
1216
2957
  query?: never;
1217
2958
  header?: never;
1218
2959
  path: {
1219
- incidentId: string;
2960
+ serverId: string;
2961
+ checkId: string;
1220
2962
  };
1221
2963
  cookie?: never;
1222
2964
  };
@@ -1228,7 +2970,7 @@ export interface operations {
1228
2970
  [name: string]: unknown;
1229
2971
  };
1230
2972
  content: {
1231
- "application/json": components["schemas"]["IncidentResource"];
2973
+ "application/json": components["schemas"]["WebCheckResource"];
1232
2974
  };
1233
2975
  };
1234
2976
  /** @description Error */
@@ -1242,18 +2984,19 @@ export interface operations {
1242
2984
  };
1243
2985
  };
1244
2986
  };
1245
- "acknowledge-incident": {
2987
+ "put-web-check": {
1246
2988
  parameters: {
1247
2989
  query?: never;
1248
2990
  header?: never;
1249
2991
  path: {
1250
- incidentId: string;
2992
+ serverId: string;
2993
+ checkId: string;
1251
2994
  };
1252
2995
  cookie?: never;
1253
2996
  };
1254
2997
  requestBody: {
1255
2998
  content: {
1256
- "application/json": components["schemas"]["AcknowledgeIncidentRequestBody"];
2999
+ "application/json": components["schemas"]["PutWebCheckRequestBody"];
1257
3000
  };
1258
3001
  };
1259
3002
  responses: {
@@ -1263,7 +3006,7 @@ export interface operations {
1263
3006
  [name: string]: unknown;
1264
3007
  };
1265
3008
  content: {
1266
- "application/json": components["schemas"]["IncidentResource"];
3009
+ "application/json": components["schemas"]["WebCheckResource"];
1267
3010
  };
1268
3011
  };
1269
3012
  /** @description Error */
@@ -1277,20 +3020,47 @@ export interface operations {
1277
3020
  };
1278
3021
  };
1279
3022
  };
1280
- "assign-incident": {
3023
+ "delete-web-check": {
1281
3024
  parameters: {
1282
3025
  query?: never;
1283
3026
  header?: never;
1284
3027
  path: {
1285
- incidentId: string;
3028
+ serverId: string;
3029
+ checkId: string;
1286
3030
  };
1287
3031
  cookie?: never;
1288
3032
  };
1289
- requestBody: {
1290
- content: {
1291
- "application/json": components["schemas"]["AssignIncidentRequestBody"];
3033
+ requestBody?: never;
3034
+ responses: {
3035
+ /** @description No Content */
3036
+ 204: {
3037
+ headers: {
3038
+ [name: string]: unknown;
3039
+ };
3040
+ content?: never;
3041
+ };
3042
+ /** @description Error */
3043
+ default: {
3044
+ headers: {
3045
+ [name: string]: unknown;
3046
+ };
3047
+ content: {
3048
+ "application/json": components["schemas"]["Error"];
3049
+ };
3050
+ };
3051
+ };
3052
+ };
3053
+ "list-web-checks": {
3054
+ parameters: {
3055
+ query?: {
3056
+ /** @description Restrict to the checks of a single machine. Omit for the whole project */
3057
+ server_id?: string;
1292
3058
  };
3059
+ header?: never;
3060
+ path?: never;
3061
+ cookie?: never;
1293
3062
  };
3063
+ requestBody?: never;
1294
3064
  responses: {
1295
3065
  /** @description OK */
1296
3066
  200: {
@@ -1298,7 +3068,7 @@ export interface operations {
1298
3068
  [name: string]: unknown;
1299
3069
  };
1300
3070
  content: {
1301
- "application/json": components["schemas"]["IncidentResource"];
3071
+ "application/json": components["schemas"]["WebCheckListResponseBody"];
1302
3072
  };
1303
3073
  };
1304
3074
  /** @description Error */
@@ -1312,18 +3082,79 @@ export interface operations {
1312
3082
  };
1313
3083
  };
1314
3084
  };
1315
- "close-incident": {
3085
+ "get-sli-report": {
3086
+ parameters: {
3087
+ query?: {
3088
+ from?: string;
3089
+ to?: string;
3090
+ /** @description Return the most recent N complete periods. Use this or from/to, not both */
3091
+ periods?: number;
3092
+ };
3093
+ header?: never;
3094
+ path?: never;
3095
+ cookie?: never;
3096
+ };
3097
+ requestBody?: never;
3098
+ responses: {
3099
+ /** @description OK */
3100
+ 200: {
3101
+ headers: {
3102
+ [name: string]: unknown;
3103
+ };
3104
+ content: {
3105
+ "application/json": components["schemas"]["SLIReportResponseBody"];
3106
+ };
3107
+ };
3108
+ /** @description Error */
3109
+ default: {
3110
+ headers: {
3111
+ [name: string]: unknown;
3112
+ };
3113
+ content: {
3114
+ "application/json": components["schemas"]["Error"];
3115
+ };
3116
+ };
3117
+ };
3118
+ };
3119
+ "get-slo": {
1316
3120
  parameters: {
1317
3121
  query?: never;
1318
3122
  header?: never;
1319
- path: {
1320
- incidentId: string;
3123
+ path?: never;
3124
+ cookie?: never;
3125
+ };
3126
+ requestBody?: never;
3127
+ responses: {
3128
+ /** @description OK */
3129
+ 200: {
3130
+ headers: {
3131
+ [name: string]: unknown;
3132
+ };
3133
+ content: {
3134
+ "application/json": components["schemas"]["SLOResource"];
3135
+ };
3136
+ };
3137
+ /** @description Error */
3138
+ default: {
3139
+ headers: {
3140
+ [name: string]: unknown;
3141
+ };
3142
+ content: {
3143
+ "application/json": components["schemas"]["Error"];
3144
+ };
1321
3145
  };
3146
+ };
3147
+ };
3148
+ "put-slo": {
3149
+ parameters: {
3150
+ query?: never;
3151
+ header?: never;
3152
+ path?: never;
1322
3153
  cookie?: never;
1323
3154
  };
1324
3155
  requestBody: {
1325
3156
  content: {
1326
- "application/json": components["schemas"]["CloseIncidentRequestBody"];
3157
+ "application/json": components["schemas"]["PutSLORequestBody"];
1327
3158
  };
1328
3159
  };
1329
3160
  responses: {
@@ -1333,7 +3164,7 @@ export interface operations {
1333
3164
  [name: string]: unknown;
1334
3165
  };
1335
3166
  content: {
1336
- "application/json": components["schemas"]["IncidentResource"];
3167
+ "application/json": components["schemas"]["SLOResource"];
1337
3168
  };
1338
3169
  };
1339
3170
  /** @description Error */
@@ -1347,20 +3178,41 @@ export interface operations {
1347
3178
  };
1348
3179
  };
1349
3180
  };
1350
- "add-incident-comment": {
3181
+ "delete-slo": {
1351
3182
  parameters: {
1352
3183
  query?: never;
1353
3184
  header?: never;
1354
- path: {
1355
- incidentId: string;
1356
- };
3185
+ path?: never;
1357
3186
  cookie?: never;
1358
3187
  };
1359
- requestBody: {
1360
- content: {
1361
- "application/json": components["schemas"]["AddCommentRequestBody"];
3188
+ requestBody?: never;
3189
+ responses: {
3190
+ /** @description No Content */
3191
+ 204: {
3192
+ headers: {
3193
+ [name: string]: unknown;
3194
+ };
3195
+ content?: never;
1362
3196
  };
3197
+ /** @description Error */
3198
+ default: {
3199
+ headers: {
3200
+ [name: string]: unknown;
3201
+ };
3202
+ content: {
3203
+ "application/json": components["schemas"]["Error"];
3204
+ };
3205
+ };
3206
+ };
3207
+ };
3208
+ "get-status-page": {
3209
+ parameters: {
3210
+ query?: never;
3211
+ header?: never;
3212
+ path?: never;
3213
+ cookie?: never;
1363
3214
  };
3215
+ requestBody?: never;
1364
3216
  responses: {
1365
3217
  /** @description OK */
1366
3218
  200: {
@@ -1368,7 +3220,7 @@ export interface operations {
1368
3220
  [name: string]: unknown;
1369
3221
  };
1370
3222
  content: {
1371
- "application/json": components["schemas"]["IncidentActivityResource"];
3223
+ "application/json": components["schemas"]["StatusPageResource"];
1372
3224
  };
1373
3225
  };
1374
3226
  /** @description Error */
@@ -1382,18 +3234,16 @@ export interface operations {
1382
3234
  };
1383
3235
  };
1384
3236
  };
1385
- "set-incident-following": {
3237
+ "put-status-page": {
1386
3238
  parameters: {
1387
3239
  query?: never;
1388
3240
  header?: never;
1389
- path: {
1390
- incidentId: string;
1391
- };
3241
+ path?: never;
1392
3242
  cookie?: never;
1393
3243
  };
1394
3244
  requestBody: {
1395
3245
  content: {
1396
- "application/json": components["schemas"]["SetFollowingRequestBody"];
3246
+ "application/json": components["schemas"]["PutStatusPageRequestBody"];
1397
3247
  };
1398
3248
  };
1399
3249
  responses: {
@@ -1403,7 +3253,7 @@ export interface operations {
1403
3253
  [name: string]: unknown;
1404
3254
  };
1405
3255
  content: {
1406
- "application/json": components["schemas"]["IncidentResource"];
3256
+ "application/json": components["schemas"]["StatusPageResource"];
1407
3257
  };
1408
3258
  };
1409
3259
  /** @description Error */
@@ -1417,13 +3267,69 @@ export interface operations {
1417
3267
  };
1418
3268
  };
1419
3269
  };
1420
- "reopen-incident": {
3270
+ "delete-status-page": {
1421
3271
  parameters: {
1422
3272
  query?: never;
1423
3273
  header?: never;
1424
- path: {
1425
- incidentId: string;
3274
+ path?: never;
3275
+ cookie?: never;
3276
+ };
3277
+ requestBody?: never;
3278
+ responses: {
3279
+ /** @description No Content */
3280
+ 204: {
3281
+ headers: {
3282
+ [name: string]: unknown;
3283
+ };
3284
+ content?: never;
3285
+ };
3286
+ /** @description Error */
3287
+ default: {
3288
+ headers: {
3289
+ [name: string]: unknown;
3290
+ };
3291
+ content: {
3292
+ "application/json": components["schemas"]["Error"];
3293
+ };
1426
3294
  };
3295
+ };
3296
+ };
3297
+ "put-status-page-order": {
3298
+ parameters: {
3299
+ query?: never;
3300
+ header?: never;
3301
+ path?: never;
3302
+ cookie?: never;
3303
+ };
3304
+ requestBody: {
3305
+ content: {
3306
+ "application/json": components["schemas"]["PutStatusPageOrderRequestBody"];
3307
+ };
3308
+ };
3309
+ responses: {
3310
+ /** @description No Content */
3311
+ 204: {
3312
+ headers: {
3313
+ [name: string]: unknown;
3314
+ };
3315
+ content?: never;
3316
+ };
3317
+ /** @description Error */
3318
+ default: {
3319
+ headers: {
3320
+ [name: string]: unknown;
3321
+ };
3322
+ content: {
3323
+ "application/json": components["schemas"]["Error"];
3324
+ };
3325
+ };
3326
+ };
3327
+ };
3328
+ "list-status-page-groups": {
3329
+ parameters: {
3330
+ query?: never;
3331
+ header?: never;
3332
+ path?: never;
1427
3333
  cookie?: never;
1428
3334
  };
1429
3335
  requestBody?: never;
@@ -1434,7 +3340,40 @@ export interface operations {
1434
3340
  [name: string]: unknown;
1435
3341
  };
1436
3342
  content: {
1437
- "application/json": components["schemas"]["IncidentResource"];
3343
+ "application/json": components["schemas"]["StatusPageGroupListResponseBody"];
3344
+ };
3345
+ };
3346
+ /** @description Error */
3347
+ default: {
3348
+ headers: {
3349
+ [name: string]: unknown;
3350
+ };
3351
+ content: {
3352
+ "application/json": components["schemas"]["Error"];
3353
+ };
3354
+ };
3355
+ };
3356
+ };
3357
+ "create-status-page-group": {
3358
+ parameters: {
3359
+ query?: never;
3360
+ header?: never;
3361
+ path?: never;
3362
+ cookie?: never;
3363
+ };
3364
+ requestBody: {
3365
+ content: {
3366
+ "application/json": components["schemas"]["PutStatusPageGroupRequestBody"];
3367
+ };
3368
+ };
3369
+ responses: {
3370
+ /** @description Created */
3371
+ 201: {
3372
+ headers: {
3373
+ [name: string]: unknown;
3374
+ };
3375
+ content: {
3376
+ "application/json": components["schemas"]["StatusPageGroupResource"];
1438
3377
  };
1439
3378
  };
1440
3379
  /** @description Error */
@@ -1448,20 +3387,20 @@ export interface operations {
1448
3387
  };
1449
3388
  };
1450
3389
  };
1451
- "list-incident-timeline": {
3390
+ "update-status-page-group": {
1452
3391
  parameters: {
1453
- query?: {
1454
- limit?: number;
1455
- /** @description 上一页返回的 next_cursor,空即从头开始 */
1456
- cursor?: string;
1457
- };
3392
+ query?: never;
1458
3393
  header?: never;
1459
3394
  path: {
1460
- incidentId: string;
3395
+ groupId: string;
1461
3396
  };
1462
3397
  cookie?: never;
1463
3398
  };
1464
- requestBody?: never;
3399
+ requestBody: {
3400
+ content: {
3401
+ "application/json": components["schemas"]["PutStatusPageGroupRequestBody"];
3402
+ };
3403
+ };
1465
3404
  responses: {
1466
3405
  /** @description OK */
1467
3406
  200: {
@@ -1469,7 +3408,7 @@ export interface operations {
1469
3408
  [name: string]: unknown;
1470
3409
  };
1471
3410
  content: {
1472
- "application/json": components["schemas"]["CursorPageIncidentActivityResource"];
3411
+ "application/json": components["schemas"]["StatusPageGroupResource"];
1473
3412
  };
1474
3413
  };
1475
3414
  /** @description Error */
@@ -1483,23 +3422,23 @@ export interface operations {
1483
3422
  };
1484
3423
  };
1485
3424
  };
1486
- "list-maintenance-windows": {
3425
+ "delete-status-page-group": {
1487
3426
  parameters: {
1488
3427
  query?: never;
1489
3428
  header?: never;
1490
- path?: never;
3429
+ path: {
3430
+ groupId: string;
3431
+ };
1491
3432
  cookie?: never;
1492
3433
  };
1493
3434
  requestBody?: never;
1494
3435
  responses: {
1495
- /** @description OK */
1496
- 200: {
3436
+ /** @description No Content */
3437
+ 204: {
1497
3438
  headers: {
1498
3439
  [name: string]: unknown;
1499
3440
  };
1500
- content: {
1501
- "application/json": components["schemas"]["MaintenanceWindowListResponseBody"];
1502
- };
3441
+ content?: never;
1503
3442
  };
1504
3443
  /** @description Error */
1505
3444
  default: {
@@ -1512,25 +3451,27 @@ export interface operations {
1512
3451
  };
1513
3452
  };
1514
3453
  };
1515
- "get-maintenance-window": {
3454
+ "put-status-page-group-order": {
1516
3455
  parameters: {
1517
3456
  query?: never;
1518
3457
  header?: never;
1519
3458
  path: {
1520
- windowId: string;
3459
+ groupId: string;
1521
3460
  };
1522
3461
  cookie?: never;
1523
3462
  };
1524
- requestBody?: never;
3463
+ requestBody: {
3464
+ content: {
3465
+ "application/json": components["schemas"]["PutStatusPageGroupOrderRequestBody"];
3466
+ };
3467
+ };
1525
3468
  responses: {
1526
- /** @description OK */
1527
- 200: {
3469
+ /** @description No Content */
3470
+ 204: {
1528
3471
  headers: {
1529
3472
  [name: string]: unknown;
1530
3473
  };
1531
- content: {
1532
- "application/json": components["schemas"]["MaintenanceWindowResource"];
1533
- };
3474
+ content?: never;
1534
3475
  };
1535
3476
  /** @description Error */
1536
3477
  default: {
@@ -1543,20 +3484,14 @@ export interface operations {
1543
3484
  };
1544
3485
  };
1545
3486
  };
1546
- "put-maintenance-window": {
3487
+ "list-status-page-components": {
1547
3488
  parameters: {
1548
3489
  query?: never;
1549
3490
  header?: never;
1550
- path: {
1551
- windowId: string;
1552
- };
3491
+ path?: never;
1553
3492
  cookie?: never;
1554
3493
  };
1555
- requestBody: {
1556
- content: {
1557
- "application/json": components["schemas"]["PutMaintenanceWindowRequestBody"];
1558
- };
1559
- };
3494
+ requestBody?: never;
1560
3495
  responses: {
1561
3496
  /** @description OK */
1562
3497
  200: {
@@ -1564,7 +3499,7 @@ export interface operations {
1564
3499
  [name: string]: unknown;
1565
3500
  };
1566
3501
  content: {
1567
- "application/json": components["schemas"]["MaintenanceWindowResource"];
3502
+ "application/json": components["schemas"]["StatusPageComponentListResponseBody"];
1568
3503
  };
1569
3504
  };
1570
3505
  /** @description Error */
@@ -1578,23 +3513,27 @@ export interface operations {
1578
3513
  };
1579
3514
  };
1580
3515
  };
1581
- "delete-maintenance-window": {
3516
+ "create-status-page-component": {
1582
3517
  parameters: {
1583
3518
  query?: never;
1584
3519
  header?: never;
1585
- path: {
1586
- windowId: string;
1587
- };
3520
+ path?: never;
1588
3521
  cookie?: never;
1589
3522
  };
1590
- requestBody?: never;
3523
+ requestBody: {
3524
+ content: {
3525
+ "application/json": components["schemas"]["PutStatusPageComponentRequestBody"];
3526
+ };
3527
+ };
1591
3528
  responses: {
1592
- /** @description No Content */
1593
- 204: {
3529
+ /** @description Created */
3530
+ 201: {
1594
3531
  headers: {
1595
3532
  [name: string]: unknown;
1596
3533
  };
1597
- content?: never;
3534
+ content: {
3535
+ "application/json": components["schemas"]["StatusPageComponentResource"];
3536
+ };
1598
3537
  };
1599
3538
  /** @description Error */
1600
3539
  default: {
@@ -1607,11 +3546,13 @@ export interface operations {
1607
3546
  };
1608
3547
  };
1609
3548
  };
1610
- "get-project-overview": {
3549
+ "get-status-page-component": {
1611
3550
  parameters: {
1612
3551
  query?: never;
1613
3552
  header?: never;
1614
- path?: never;
3553
+ path: {
3554
+ componentId: string;
3555
+ };
1615
3556
  cookie?: never;
1616
3557
  };
1617
3558
  requestBody?: never;
@@ -1622,7 +3563,7 @@ export interface operations {
1622
3563
  [name: string]: unknown;
1623
3564
  };
1624
3565
  content: {
1625
- "application/json": components["schemas"]["ProjectOverviewResource"];
3566
+ "application/json": components["schemas"]["StatusPageComponentResource"];
1626
3567
  };
1627
3568
  };
1628
3569
  /** @description Error */
@@ -1636,21 +3577,20 @@ export interface operations {
1636
3577
  };
1637
3578
  };
1638
3579
  };
1639
- "list-server-items": {
3580
+ "update-status-page-component": {
1640
3581
  parameters: {
1641
- query?: {
1642
- /** @description 按 key 或名字模糊匹配 */
1643
- keyword?: string;
1644
- /** @description 形如 key 或 key=value,可重复。官方模板打好的 component 标签(cpu / memory / filesystem…)就是靠它筛 */
1645
- tag?: string[] | null;
1646
- };
3582
+ query?: never;
1647
3583
  header?: never;
1648
3584
  path: {
1649
- serverId: string;
3585
+ componentId: string;
1650
3586
  };
1651
3587
  cookie?: never;
1652
3588
  };
1653
- requestBody?: never;
3589
+ requestBody: {
3590
+ content: {
3591
+ "application/json": components["schemas"]["PutStatusPageComponentRequestBody"];
3592
+ };
3593
+ };
1654
3594
  responses: {
1655
3595
  /** @description OK */
1656
3596
  200: {
@@ -1658,7 +3598,7 @@ export interface operations {
1658
3598
  [name: string]: unknown;
1659
3599
  };
1660
3600
  content: {
1661
- "application/json": components["schemas"]["ItemListResponseBody"];
3601
+ "application/json": components["schemas"]["StatusPageComponentResource"];
1662
3602
  };
1663
3603
  };
1664
3604
  /** @description Error */
@@ -1672,36 +3612,23 @@ export interface operations {
1672
3612
  };
1673
3613
  };
1674
3614
  };
1675
- "get-server-metric": {
3615
+ "delete-status-page-component": {
1676
3616
  parameters: {
1677
- query?: {
1678
- /** @description **前缀匹配**:vfs.fs.size 一次拿回每个挂载点一条线。与 item_id 至少给一个 */
1679
- item_key?: string;
1680
- item_id?: string;
1681
- /** @description 不给就是一小时前 */
1682
- from?: string;
1683
- to?: string;
1684
- /** @description 降采样的桶数,0 表示原样返回采集到的数据点 */
1685
- max_points?: number;
1686
- /** @description 顺带取这些监控项当前生效的阈值线 */
1687
- include_thresholds?: boolean;
1688
- };
3617
+ query?: never;
1689
3618
  header?: never;
1690
3619
  path: {
1691
- serverId: string;
3620
+ componentId: string;
1692
3621
  };
1693
3622
  cookie?: never;
1694
3623
  };
1695
3624
  requestBody?: never;
1696
3625
  responses: {
1697
- /** @description OK */
1698
- 200: {
3626
+ /** @description No Content */
3627
+ 204: {
1699
3628
  headers: {
1700
3629
  [name: string]: unknown;
1701
3630
  };
1702
- content: {
1703
- "application/json": components["schemas"]["MetricResponseBody"];
1704
- };
3631
+ content?: never;
1705
3632
  };
1706
3633
  /** @description Error */
1707
3634
  default: {
@@ -1714,12 +3641,12 @@ export interface operations {
1714
3641
  };
1715
3642
  };
1716
3643
  };
1717
- "get-server-resources": {
3644
+ "list-status-page-component-sources": {
1718
3645
  parameters: {
1719
3646
  query?: never;
1720
3647
  header?: never;
1721
3648
  path: {
1722
- serverId: string;
3649
+ componentId: string;
1723
3650
  };
1724
3651
  cookie?: never;
1725
3652
  };
@@ -1731,7 +3658,7 @@ export interface operations {
1731
3658
  [name: string]: unknown;
1732
3659
  };
1733
3660
  content: {
1734
- "application/json": components["schemas"]["ServerResourcesResource"];
3661
+ "application/json": components["schemas"]["StatusPageComponentSourcesResource"];
1735
3662
  };
1736
3663
  };
1737
3664
  /** @description Error */
@@ -1745,16 +3672,20 @@ export interface operations {
1745
3672
  };
1746
3673
  };
1747
3674
  };
1748
- "get-server-snapshot": {
3675
+ "put-status-page-component-sources": {
1749
3676
  parameters: {
1750
3677
  query?: never;
1751
3678
  header?: never;
1752
3679
  path: {
1753
- serverId: string;
3680
+ componentId: string;
1754
3681
  };
1755
3682
  cookie?: never;
1756
3683
  };
1757
- requestBody?: never;
3684
+ requestBody: {
3685
+ content: {
3686
+ "application/json": components["schemas"]["PutStatusPageComponentSourcesRequestBody"];
3687
+ };
3688
+ };
1758
3689
  responses: {
1759
3690
  /** @description OK */
1760
3691
  200: {
@@ -1762,7 +3693,7 @@ export interface operations {
1762
3693
  [name: string]: unknown;
1763
3694
  };
1764
3695
  content: {
1765
- "application/json": components["schemas"]["SnapshotResource"];
3696
+ "application/json": components["schemas"]["StatusPageComponentSourcesResource"];
1766
3697
  };
1767
3698
  };
1768
3699
  /** @description Error */
@@ -1776,12 +3707,12 @@ export interface operations {
1776
3707
  };
1777
3708
  };
1778
3709
  };
1779
- "list-project-top-items": {
3710
+ "list-status-page-incidents": {
1780
3711
  parameters: {
1781
- query: {
1782
- kind: "CPU_UTILIZATION" | "MEMORY_UTILIZATION" | "ROOT_FILESYSTEM_USED";
1783
- /** @description 0 表示用默认 */
3712
+ query?: {
3713
+ /** @description Maximum number of records in this page */
1784
3714
  limit?: number;
3715
+ offset?: number;
1785
3716
  };
1786
3717
  header?: never;
1787
3718
  path?: never;
@@ -1795,7 +3726,7 @@ export interface operations {
1795
3726
  [name: string]: unknown;
1796
3727
  };
1797
3728
  content: {
1798
- "application/json": components["schemas"]["TopItemListResponseBody"];
3729
+ "application/json": components["schemas"]["LengthAwarePageStatusPageIncidentResource"];
1799
3730
  };
1800
3731
  };
1801
3732
  /** @description Error */
@@ -1809,30 +3740,26 @@ export interface operations {
1809
3740
  };
1810
3741
  };
1811
3742
  };
1812
- "list-servers": {
3743
+ "publish-status-page-incident": {
1813
3744
  parameters: {
1814
- query?: {
1815
- /** @description 这一页最多返回多少条 */
1816
- limit?: number;
1817
- /** @description 跳过多少条。要翻得更深请改用游标翻页的接口 */
1818
- offset?: number;
1819
- /** @description 按名字或地址模糊匹配 */
1820
- keyword?: string;
1821
- monitoring_status?: "PENDING" | "ACTIVE" | "DISABLED" | "FAILED";
1822
- };
3745
+ query?: never;
1823
3746
  header?: never;
1824
3747
  path?: never;
1825
3748
  cookie?: never;
1826
3749
  };
1827
- requestBody?: never;
3750
+ requestBody: {
3751
+ content: {
3752
+ "application/json": components["schemas"]["PublishStatusPageIncidentRequestBody"];
3753
+ };
3754
+ };
1828
3755
  responses: {
1829
- /** @description OK */
1830
- 200: {
3756
+ /** @description Created */
3757
+ 201: {
1831
3758
  headers: {
1832
3759
  [name: string]: unknown;
1833
3760
  };
1834
3761
  content: {
1835
- "application/json": components["schemas"]["LengthAwarePageServerResource"];
3762
+ "application/json": components["schemas"]["StatusPageIncidentResource"];
1836
3763
  };
1837
3764
  };
1838
3765
  /** @description Error */
@@ -1846,12 +3773,12 @@ export interface operations {
1846
3773
  };
1847
3774
  };
1848
3775
  };
1849
- "get-server": {
3776
+ "get-status-page-incident": {
1850
3777
  parameters: {
1851
3778
  query?: never;
1852
3779
  header?: never;
1853
3780
  path: {
1854
- serverId: string;
3781
+ incidentId: string;
1855
3782
  };
1856
3783
  cookie?: never;
1857
3784
  };
@@ -1863,7 +3790,7 @@ export interface operations {
1863
3790
  [name: string]: unknown;
1864
3791
  };
1865
3792
  content: {
1866
- "application/json": components["schemas"]["ServerResource"];
3793
+ "application/json": components["schemas"]["StatusPageIncidentResource"];
1867
3794
  };
1868
3795
  };
1869
3796
  /** @description Error */
@@ -1877,18 +3804,18 @@ export interface operations {
1877
3804
  };
1878
3805
  };
1879
3806
  };
1880
- "enable-server-monitoring": {
3807
+ "post-status-page-incident-update": {
1881
3808
  parameters: {
1882
3809
  query?: never;
1883
3810
  header?: never;
1884
3811
  path: {
1885
- serverId: string;
3812
+ incidentId: string;
1886
3813
  };
1887
3814
  cookie?: never;
1888
3815
  };
1889
3816
  requestBody: {
1890
3817
  content: {
1891
- "application/json": components["schemas"]["EnableMonitoringRequestBody"];
3818
+ "application/json": components["schemas"]["PostStatusPageIncidentUpdateRequestBody"];
1892
3819
  };
1893
3820
  };
1894
3821
  responses: {
@@ -1898,7 +3825,7 @@ export interface operations {
1898
3825
  [name: string]: unknown;
1899
3826
  };
1900
3827
  content: {
1901
- "application/json": components["schemas"]["ServerEnrollmentResponseBody"];
3828
+ "application/json": components["schemas"]["StatusPageIncidentResource"];
1902
3829
  };
1903
3830
  };
1904
3831
  /** @description Error */
@@ -1912,23 +3839,27 @@ export interface operations {
1912
3839
  };
1913
3840
  };
1914
3841
  };
1915
- "delete-server": {
3842
+ "list-status-page-maintenances": {
1916
3843
  parameters: {
1917
- query?: never;
1918
- header?: never;
1919
- path: {
1920
- serverId: string;
3844
+ query?: {
3845
+ /** @description Maximum number of records in this page */
3846
+ limit?: number;
3847
+ offset?: number;
1921
3848
  };
3849
+ header?: never;
3850
+ path?: never;
1922
3851
  cookie?: never;
1923
3852
  };
1924
3853
  requestBody?: never;
1925
3854
  responses: {
1926
- /** @description No Content */
1927
- 204: {
3855
+ /** @description OK */
3856
+ 200: {
1928
3857
  headers: {
1929
3858
  [name: string]: unknown;
1930
3859
  };
1931
- content?: never;
3860
+ content: {
3861
+ "application/json": components["schemas"]["LengthAwarePageStatusPageMaintenanceResource"];
3862
+ };
1932
3863
  };
1933
3864
  /** @description Error */
1934
3865
  default: {
@@ -1941,28 +3872,26 @@ export interface operations {
1941
3872
  };
1942
3873
  };
1943
3874
  };
1944
- "update-server": {
3875
+ "schedule-status-page-maintenance": {
1945
3876
  parameters: {
1946
3877
  query?: never;
1947
3878
  header?: never;
1948
- path: {
1949
- serverId: string;
1950
- };
3879
+ path?: never;
1951
3880
  cookie?: never;
1952
3881
  };
1953
3882
  requestBody: {
1954
3883
  content: {
1955
- "application/json": components["schemas"]["UpdateServerRequestBody"];
3884
+ "application/json": components["schemas"]["ScheduleStatusPageMaintenanceRequestBody"];
1956
3885
  };
1957
3886
  };
1958
3887
  responses: {
1959
- /** @description OK */
1960
- 200: {
3888
+ /** @description Created */
3889
+ 201: {
1961
3890
  headers: {
1962
3891
  [name: string]: unknown;
1963
3892
  };
1964
3893
  content: {
1965
- "application/json": components["schemas"]["ServerResource"];
3894
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
1966
3895
  };
1967
3896
  };
1968
3897
  /** @description Error */
@@ -1976,23 +3905,25 @@ export interface operations {
1976
3905
  };
1977
3906
  };
1978
3907
  };
1979
- "disable-server-monitoring": {
3908
+ "get-status-page-maintenance": {
1980
3909
  parameters: {
1981
3910
  query?: never;
1982
3911
  header?: never;
1983
3912
  path: {
1984
- serverId: string;
3913
+ maintenanceId: string;
1985
3914
  };
1986
3915
  cookie?: never;
1987
3916
  };
1988
3917
  requestBody?: never;
1989
3918
  responses: {
1990
- /** @description No Content */
1991
- 204: {
3919
+ /** @description OK */
3920
+ 200: {
1992
3921
  headers: {
1993
3922
  [name: string]: unknown;
1994
3923
  };
1995
- content?: never;
3924
+ content: {
3925
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
3926
+ };
1996
3927
  };
1997
3928
  /** @description Error */
1998
3929
  default: {
@@ -2005,12 +3936,12 @@ export interface operations {
2005
3936
  };
2006
3937
  };
2007
3938
  };
2008
- "rotate-agent-psk": {
3939
+ "cancel-status-page-maintenance": {
2009
3940
  parameters: {
2010
3941
  query?: never;
2011
3942
  header?: never;
2012
3943
  path: {
2013
- serverId: string;
3944
+ maintenanceId: string;
2014
3945
  };
2015
3946
  cookie?: never;
2016
3947
  };
@@ -2022,7 +3953,7 @@ export interface operations {
2022
3953
  [name: string]: unknown;
2023
3954
  };
2024
3955
  content: {
2025
- "application/json": components["schemas"]["EnrollmentResource"];
3956
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
2026
3957
  };
2027
3958
  };
2028
3959
  /** @description Error */
@@ -2036,13 +3967,12 @@ export interface operations {
2036
3967
  };
2037
3968
  };
2038
3969
  };
2039
- "get-web-check": {
3970
+ "complete-status-page-maintenance": {
2040
3971
  parameters: {
2041
3972
  query?: never;
2042
3973
  header?: never;
2043
3974
  path: {
2044
- serverId: string;
2045
- checkId: string;
3975
+ maintenanceId: string;
2046
3976
  };
2047
3977
  cookie?: never;
2048
3978
  };
@@ -2054,7 +3984,7 @@ export interface operations {
2054
3984
  [name: string]: unknown;
2055
3985
  };
2056
3986
  content: {
2057
- "application/json": components["schemas"]["WebCheckResource"];
3987
+ "application/json": components["schemas"]["StatusPageMaintenanceResource"];
2058
3988
  };
2059
3989
  };
2060
3990
  /** @description Error */
@@ -2068,21 +3998,16 @@ export interface operations {
2068
3998
  };
2069
3999
  };
2070
4000
  };
2071
- "put-web-check": {
4001
+ "get-project-web-check": {
2072
4002
  parameters: {
2073
4003
  query?: never;
2074
4004
  header?: never;
2075
4005
  path: {
2076
- serverId: string;
2077
4006
  checkId: string;
2078
4007
  };
2079
4008
  cookie?: never;
2080
4009
  };
2081
- requestBody: {
2082
- content: {
2083
- "application/json": components["schemas"]["PutWebCheckRequestBody"];
2084
- };
2085
- };
4010
+ requestBody?: never;
2086
4011
  responses: {
2087
4012
  /** @description OK */
2088
4013
  200: {
@@ -2104,47 +4029,20 @@ export interface operations {
2104
4029
  };
2105
4030
  };
2106
4031
  };
2107
- "delete-web-check": {
4032
+ "put-project-web-check": {
2108
4033
  parameters: {
2109
4034
  query?: never;
2110
4035
  header?: never;
2111
4036
  path: {
2112
- serverId: string;
2113
4037
  checkId: string;
2114
4038
  };
2115
4039
  cookie?: never;
2116
4040
  };
2117
- requestBody?: never;
2118
- responses: {
2119
- /** @description No Content */
2120
- 204: {
2121
- headers: {
2122
- [name: string]: unknown;
2123
- };
2124
- content?: never;
2125
- };
2126
- /** @description Error */
2127
- default: {
2128
- headers: {
2129
- [name: string]: unknown;
2130
- };
2131
- content: {
2132
- "application/json": components["schemas"]["Error"];
2133
- };
2134
- };
2135
- };
2136
- };
2137
- "list-web-checks": {
2138
- parameters: {
2139
- query?: {
2140
- /** @description 只看某一台机器的检查;不给就是整个项目的 */
2141
- server_id?: string;
4041
+ requestBody: {
4042
+ content: {
4043
+ "application/json": components["schemas"]["PutWebCheckRequestBody"];
2142
4044
  };
2143
- header?: never;
2144
- path?: never;
2145
- cookie?: never;
2146
4045
  };
2147
- requestBody?: never;
2148
4046
  responses: {
2149
4047
  /** @description OK */
2150
4048
  200: {
@@ -2152,7 +4050,7 @@ export interface operations {
2152
4050
  [name: string]: unknown;
2153
4051
  };
2154
4052
  content: {
2155
- "application/json": components["schemas"]["WebCheckListResponseBody"];
4053
+ "application/json": components["schemas"]["WebCheckResource"];
2156
4054
  };
2157
4055
  };
2158
4056
  /** @description Error */
@@ -2166,28 +4064,23 @@ export interface operations {
2166
4064
  };
2167
4065
  };
2168
4066
  };
2169
- "get-sli-report": {
4067
+ "delete-project-web-check": {
2170
4068
  parameters: {
2171
- query?: {
2172
- from?: string;
2173
- to?: string;
2174
- /** @description 取最近 N 个完整周期,与 from/to 二选一 */
2175
- periods?: number;
2176
- };
4069
+ query?: never;
2177
4070
  header?: never;
2178
- path?: never;
4071
+ path: {
4072
+ checkId: string;
4073
+ };
2179
4074
  cookie?: never;
2180
4075
  };
2181
4076
  requestBody?: never;
2182
4077
  responses: {
2183
- /** @description OK */
2184
- 200: {
4078
+ /** @description No Content */
4079
+ 204: {
2185
4080
  headers: {
2186
4081
  [name: string]: unknown;
2187
4082
  };
2188
- content: {
2189
- "application/json": components["schemas"]["SLIReportResponseBody"];
2190
- };
4083
+ content?: never;
2191
4084
  };
2192
4085
  /** @description Error */
2193
4086
  default: {
@@ -2200,7 +4093,7 @@ export interface operations {
2200
4093
  };
2201
4094
  };
2202
4095
  };
2203
- "get-slo": {
4096
+ "get-status-page-domain": {
2204
4097
  parameters: {
2205
4098
  query?: never;
2206
4099
  header?: never;
@@ -2215,7 +4108,7 @@ export interface operations {
2215
4108
  [name: string]: unknown;
2216
4109
  };
2217
4110
  content: {
2218
- "application/json": components["schemas"]["SLOResource"];
4111
+ "application/json": components["schemas"]["StatusPageDomainResource"];
2219
4112
  };
2220
4113
  };
2221
4114
  /** @description Error */
@@ -2229,7 +4122,7 @@ export interface operations {
2229
4122
  };
2230
4123
  };
2231
4124
  };
2232
- "put-slo": {
4125
+ "put-status-page-domain": {
2233
4126
  parameters: {
2234
4127
  query?: never;
2235
4128
  header?: never;
@@ -2238,7 +4131,7 @@ export interface operations {
2238
4131
  };
2239
4132
  requestBody: {
2240
4133
  content: {
2241
- "application/json": components["schemas"]["PutSLORequestBody"];
4134
+ "application/json": components["schemas"]["PutStatusPageDomainRequestBody"];
2242
4135
  };
2243
4136
  };
2244
4137
  responses: {
@@ -2248,7 +4141,7 @@ export interface operations {
2248
4141
  [name: string]: unknown;
2249
4142
  };
2250
4143
  content: {
2251
- "application/json": components["schemas"]["SLOResource"];
4144
+ "application/json": components["schemas"]["StatusPageDomainResource"];
2252
4145
  };
2253
4146
  };
2254
4147
  /** @description Error */
@@ -2262,7 +4155,7 @@ export interface operations {
2262
4155
  };
2263
4156
  };
2264
4157
  };
2265
- "delete-slo": {
4158
+ "delete-status-page-domain": {
2266
4159
  parameters: {
2267
4160
  query?: never;
2268
4161
  header?: never;