From 01493ff1f2c416c89dde482f26c123661a4764f2 Mon Sep 17 00:00:00 2001 From: "flashduty[bot]" Date: Thu, 29 Oct 2026 08:09:06 +0000 Subject: [PATCH] =?UTF-8?q?docs(api-reference):=20daily=20api-review=20202?= =?UTF-8?q?6-10-29=20=E2=80=94=20drop=20license=20release=5Flimited,=20add?= =?UTF-8?q?=20rum=20cumulative,=20monit=20absent=5Fcounts=5Fas=5Fnormal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api-reference/monitors.openapi.en.json | 4 ++++ api-reference/monitors.openapi.zh.json | 4 ++++ api-reference/on-call.openapi.en.json | 10 ++-------- api-reference/on-call.openapi.zh.json | 10 ++-------- api-reference/openapi.en.json | 20 +++++++++++--------- api-reference/openapi.zh.json | 20 +++++++++++--------- api-reference/rum.openapi.en.json | 6 +++++- api-reference/rum.openapi.zh.json | 6 +++++- 8 files changed, 44 insertions(+), 36 deletions(-) diff --git a/api-reference/monitors.openapi.en.json b/api-reference/monitors.openapi.en.json index 2afd5a4d..0d752958 100644 --- a/api-reference/monitors.openapi.en.json +++ b/api-reference/monitors.openapi.en.json @@ -9616,6 +9616,10 @@ "recovery": { "$ref": "#/components/schemas/AlertRuleRecoveryQueryV2", "description": "Recovery evaluation config. Required (with non-empty `recovery.expr`) only when `recovery_mode` is `expression_match` or `recovery_query_match`; must be omitted for the other modes." + }, + "absent_counts_as_normal": { + "type": "boolean", + "description": "Count an active instance that is missing from every condition query of a successful round as one normal round, instead of freezing the instance in its current state. Only valid with `recovery_mode` `condition_clear` or `expression_match`; omitting it keeps the freeze-on-absence behavior of existing rules. The matched datasources must be served by monit-edge v0.77.0 or later, otherwise saving the rule fails with `InvalidParameter`." } } }, diff --git a/api-reference/monitors.openapi.zh.json b/api-reference/monitors.openapi.zh.json index 9abf26a4..334f3ece 100644 --- a/api-reference/monitors.openapi.zh.json +++ b/api-reference/monitors.openapi.zh.json @@ -9616,6 +9616,10 @@ "recovery": { "$ref": "#/components/schemas/AlertRuleRecoveryQueryV2", "description": "恢复判定配置。仅 `recovery_mode` 为 `expression_match` 或 `recovery_query_match` 时必填(`recovery.expr` 非空),其余模式不允许传入。" + }, + "absent_counts_as_normal": { + "type": "boolean", + "description": "把在某轮成功评估中未出现在任何条件查询里的活动实例计为一次正常轮次,而不是把它冻结在当前状态。仅 `recovery_mode` 为 `condition_clear` 或 `expression_match` 时可用;省略该字段时保持既有规则「数据缺失即冻结」的行为。命中的数据源须由 monit-edge v0.77.0 及以上版本服务,否则保存规则会以 `InvalidParameter` 失败。" } } }, diff --git a/api-reference/on-call.openapi.en.json b/api-reference/on-call.openapi.en.json index edfc6a04..77ee1547 100644 --- a/api-reference/on-call.openapi.en.json +++ b/api-reference/on-call.openapi.en.json @@ -17694,8 +17694,7 @@ "created_at": 0, "updated_at": 0 } - ], - "release_limited": false + ] } } } @@ -20596,8 +20595,7 @@ "description": "People with active fixed or temporary On-call licenses.", "required": [ "total", - "items", - "release_limited" + "items" ], "properties": { "total": { @@ -20611,10 +20609,6 @@ "items": { "$ref": "#/components/schemas/LicensePersonItem" } - }, - "release_limited": { - "type": "boolean", - "description": "Whether the account has used up its license release quota for the current 30-day window. While `true`, releasing a seat fails with error code `NoLicense`." } } }, diff --git a/api-reference/on-call.openapi.zh.json b/api-reference/on-call.openapi.zh.json index 65894d81..2322dee0 100644 --- a/api-reference/on-call.openapi.zh.json +++ b/api-reference/on-call.openapi.zh.json @@ -17694,8 +17694,7 @@ "created_at": 0, "updated_at": 0 } - ], - "release_limited": false + ] } } } @@ -20596,8 +20595,7 @@ "description": "当前账户中持有固定或临时 On-call 许可的人员。", "required": [ "total", - "items", - "release_limited" + "items" ], "properties": { "total": { @@ -20611,10 +20609,6 @@ "items": { "$ref": "#/components/schemas/LicensePersonItem" } - }, - "release_limited": { - "type": "boolean", - "description": "当前 30 天窗口内的许可释放配额是否已用尽。为 `true` 时释放席位会返回错误码 `NoLicense`。" } } }, diff --git a/api-reference/openapi.en.json b/api-reference/openapi.en.json index b976beb0..3f46a8d2 100644 --- a/api-reference/openapi.en.json +++ b/api-reference/openapi.en.json @@ -13798,10 +13798,6 @@ }, "type": "array" }, - "release_limited": { - "description": "Whether the account has used up its license release quota for the current 30-day window. While `true`, releasing a seat fails with error code `NoLicense`.", - "type": "boolean" - }, "total": { "description": "Number of people holding an active license.", "format": "int64", @@ -13810,8 +13806,7 @@ }, "required": [ "total", - "items", - "release_limited" + "items" ], "type": "object" }, @@ -20760,8 +20755,12 @@ "RumDataQueryDefinition": { "description": "One RUM data query definition.", "properties": { + "cumulative": { + "description": "Set to `true` to get a time series of a single `COUNT` or `SUM` as the increments of its running total: each bucket holds only what the bucket adds, so the running sum ends at the aggregate over the range, aligned the way that aggregate is. Requires `format` `time_series` and exactly one select field, `COUNT(...)` or `SUM(...)`, with an alias; a statement with `SELECT DISTINCT`, `GROUP BY`, `HAVING` or `LIMIT` makes the whole request fail with `InvalidParameter`. `COUNT(DISTINCT x)` is accepted and counts each `x` in its first bucket only. The query always runs unsampled, so the response carries no `sampling`.", + "type": "boolean" + }, "disable_sampling": { - "description": "When `true`, the query always runs on the full data and the response never carries `sampling`. When `false` (default), the server may sample aggregate queries over large time windows.", + "description": "When `true`, the query always runs on the full data and the response never carries `sampling`. When `false` (default), the server may sample aggregate queries over large time windows. A query that would have been sampled otherwise also takes one of the account's exact-query slots: it queues while too many such queries run for the account, and if no slot frees up before its deadline that query's `error` entry is set with code `BadRequest`.", "type": "boolean" }, "dql": { @@ -30335,6 +30334,10 @@ "recovery": { "$ref": "#/components/schemas/AlertRuleRecoveryQueryV2", "description": "Recovery evaluation config. Required (with non-empty `recovery.expr`) only when `recovery_mode` is `expression_match` or `recovery_query_match`; must be omitted for the other modes." + }, + "absent_counts_as_normal": { + "type": "boolean", + "description": "Count an active instance that is missing from every condition query of a successful round as one normal round, instead of freezing the instance in its current state. Only valid with `recovery_mode` `condition_clear` or `expression_match`; omitting it keeps the freeze-on-absence behavior of existing rules. The matched datasources must be served by monit-edge v0.77.0 or later, otherwise saving the rule fails with `InvalidParameter`." } } }, @@ -53756,8 +53759,7 @@ "created_at": 0, "updated_at": 0 } - ], - "release_limited": false + ] } } } diff --git a/api-reference/openapi.zh.json b/api-reference/openapi.zh.json index 876a6bd6..10c7f920 100644 --- a/api-reference/openapi.zh.json +++ b/api-reference/openapi.zh.json @@ -13798,10 +13798,6 @@ }, "type": "array" }, - "release_limited": { - "description": "当前 30 天窗口内的许可释放配额是否已用尽。为 `true` 时释放席位会返回错误码 `NoLicense`。", - "type": "boolean" - }, "total": { "description": "持有有效许可的人员数量。", "format": "int64", @@ -13810,8 +13806,7 @@ }, "required": [ "total", - "items", - "release_limited" + "items" ], "type": "object" }, @@ -20760,8 +20755,12 @@ "RumDataQueryDefinition": { "description": "单个 RUM 数据查询定义。", "properties": { + "cumulative": { + "description": "设为 `true` 时,把单个 `COUNT` 或 `SUM` 的时间序列按累计值的增量返回:每个时间桶只填该桶新增的部分,累计和正好等于整个区间的聚合值,且与聚合值一样对齐。要求 `format` 为 `time_series`,并且只有一个带别名的 `COUNT(...)` 或 `SUM(...)` 字段;语句含 `SELECT DISTINCT`、`GROUP BY`、`HAVING` 或 `LIMIT` 时整个请求以 `InvalidParameter` 失败。支持 `COUNT(DISTINCT x)`,该值只在首次出现的桶里计一次。该查询始终不采样,因此响应不带 `sampling`。", + "type": "boolean" + }, "disable_sampling": { - "description": "为 `true` 时始终查询全量数据,响应不会出现 `sampling`。为 `false`(默认)时,服务端可能对大时间跨度的聚合查询进行抽样。", + "description": "为 `true` 时始终查询全量数据,响应不会出现 `sampling`。为 `false`(默认)时,服务端可能对大时间跨度的聚合查询进行抽样。本会被抽样的查询还会占用该账户的一个 exact 查询槽位:同时运行的这类查询过多时它会排队,若在超时前没有空出槽位,该查询的 `error` 条目会以 `BadRequest` 返回。", "type": "boolean" }, "dql": { @@ -30335,6 +30334,10 @@ "recovery": { "$ref": "#/components/schemas/AlertRuleRecoveryQueryV2", "description": "恢复判定配置。仅 `recovery_mode` 为 `expression_match` 或 `recovery_query_match` 时必填(`recovery.expr` 非空),其余模式不允许传入。" + }, + "absent_counts_as_normal": { + "type": "boolean", + "description": "把在某轮成功评估中未出现在任何条件查询里的活动实例计为一次正常轮次,而不是把它冻结在当前状态。仅 `recovery_mode` 为 `condition_clear` 或 `expression_match` 时可用;省略该字段时保持既有规则「数据缺失即冻结」的行为。命中的数据源须由 monit-edge v0.77.0 及以上版本服务,否则保存规则会以 `InvalidParameter` 失败。" } } }, @@ -53756,8 +53759,7 @@ "created_at": 0, "updated_at": 0 } - ], - "release_limited": false + ] } } } diff --git a/api-reference/rum.openapi.en.json b/api-reference/rum.openapi.en.json index e4364407..f4a81eaf 100644 --- a/api-reference/rum.openapi.en.json +++ b/api-reference/rum.openapi.en.json @@ -1223,8 +1223,12 @@ "RumDataQueryDefinition": { "description": "One RUM data query definition.", "properties": { + "cumulative": { + "description": "Set to `true` to get a time series of a single `COUNT` or `SUM` as the increments of its running total: each bucket holds only what the bucket adds, so the running sum ends at the aggregate over the range, aligned the way that aggregate is. Requires `format` `time_series` and exactly one select field, `COUNT(...)` or `SUM(...)`, with an alias; a statement with `SELECT DISTINCT`, `GROUP BY`, `HAVING` or `LIMIT` makes the whole request fail with `InvalidParameter`. `COUNT(DISTINCT x)` is accepted and counts each `x` in its first bucket only. The query always runs unsampled, so the response carries no `sampling`.", + "type": "boolean" + }, "disable_sampling": { - "description": "When `true`, the query always runs on the full data and the response never carries `sampling`. When `false` (default), the server may sample aggregate queries over large time windows.", + "description": "When `true`, the query always runs on the full data and the response never carries `sampling`. When `false` (default), the server may sample aggregate queries over large time windows. A query that would have been sampled otherwise also takes one of the account's exact-query slots: it queues while too many such queries run for the account, and if no slot frees up before its deadline that query's `error` entry is set with code `BadRequest`.", "type": "boolean" }, "dql": { diff --git a/api-reference/rum.openapi.zh.json b/api-reference/rum.openapi.zh.json index 21cf234b..bec67645 100644 --- a/api-reference/rum.openapi.zh.json +++ b/api-reference/rum.openapi.zh.json @@ -1223,8 +1223,12 @@ "RumDataQueryDefinition": { "description": "单个 RUM 数据查询定义。", "properties": { + "cumulative": { + "description": "设为 `true` 时,把单个 `COUNT` 或 `SUM` 的时间序列按累计值的增量返回:每个时间桶只填该桶新增的部分,累计和正好等于整个区间的聚合值,且与聚合值一样对齐。要求 `format` 为 `time_series`,并且只有一个带别名的 `COUNT(...)` 或 `SUM(...)` 字段;语句含 `SELECT DISTINCT`、`GROUP BY`、`HAVING` 或 `LIMIT` 时整个请求以 `InvalidParameter` 失败。支持 `COUNT(DISTINCT x)`,该值只在首次出现的桶里计一次。该查询始终不采样,因此响应不带 `sampling`。", + "type": "boolean" + }, "disable_sampling": { - "description": "为 `true` 时始终查询全量数据,响应不会出现 `sampling`。为 `false`(默认)时,服务端可能对大时间跨度的聚合查询进行抽样。", + "description": "为 `true` 时始终查询全量数据,响应不会出现 `sampling`。为 `false`(默认)时,服务端可能对大时间跨度的聚合查询进行抽样。本会被抽样的查询还会占用该账户的一个 exact 查询槽位:同时运行的这类查询过多时它会排队,若在超时前没有空出槽位,该查询的 `error` 条目会以 `BadRequest` 返回。", "type": "boolean" }, "dql": {