跳转到主要内容
POST
/
enrichment
/
upsert
创建或替换富化规则
curl --request POST \
  --url 'https://api.flashcat.cloud/enrichment/upsert?app_key=' \
  --header 'Content-Type: application/json' \
  --data '
{
  "integration_id": 5001,
  "rules": [
    {
      "kind": "extraction",
      "settings": {
        "source_field": "labels.env",
        "result_label": "environment",
        "pattern": "(?P<result>prod|staging|dev)",
        "override": true
      }
    }
  ]
}
'
{
  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
  "data": {}
}

限制说明

项目说明
速率限制每个账户 1,000 次/分钟50 次/秒
权限要求无 —— 持有有效的 app_key 即可调用

使用说明

  • 富化规则按顺序依次执行。
  • 每条规则有一个 kindextraction(正则/gjson 提取)、composition(模板组合标签)、mapping(通过映射规则或 API 查找)、drop(删除标签)。
  • 可选的 if 字段为 AndFilters 条件,不匹配时跳过该规则。
  • kind: extractionsource_field 须为 titledescriptionlabels.* 前缀的键;pattern(正则,须包含命名分组 result)和 g_json(GJson 路径)二选一。
  • kind: compositiontemplate 使用 Go text/template 语法,可引用 labels.* 键。
  • kind: mappingmapping_typeschema(默认)或 api;分别提供 schema_idapi_id
  • kind: dropdrop_labels 列出要删除的标签键名。
  • 每次调用都会记录到账户审计日志,请不要把敏感信息放在请求字段中。

授权

app_key
string
query
必填

在 Flashduty 控制台 账户 → APP Key 中签发的 app_key。调用任何公开 API 时都必须携带。它等同于所属账户的身份凭证,请妥善保管。

请求体

application/json
integration_id
integer<int64>
必填

待配置富化规则的集成 ID。

rules
object[]
必填

富化规则有序列表,将原子替换现有全部规则。

响应

成功

成功响应结构。2xx 响应中 request_id 标识本次调用(同时出现在 Flashcat-Request-Id 响应头中),data 为接口业务 payload。失败响应使用不同结构,参见 ErrorResponse

request_id
string
必填

本次请求的唯一 ID,也会在 Flashcat-Request-Id 响应头中返回。反馈问题时请一并附上。

示例:

"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"

data
object
必填

空响应体。成功时服务端返回 data: null