/v1/account/monitors

account/monitors

监控:让我们监控公司;创建、暂停、删除。

费用和限制

费用和限制
项目 积分
监控 每天 检查一次,为期 30 天 50
监控 每 3 天 检查一次,为期 30 天 40
监控 每 7 天 检查一次,为期 30 天 20
监控 每 30 天 检查一次,为期 30 天 10
周期内每次额外的成功检查 +2

限制:每分钟 30 次请求。 创建、更新和删除:每分钟 10 次。

curl -G "https://handelsregister.ai/api/v1/account/monitoring/pricing" \
  -H "x-api-key: YOUR_API_KEY" \
  --data-urlencode 'poll_interval_days=7'
1{2  "pricing": {3    "policy_version": "2026-08.v2",4    "credits_per_run": 2,5    "cycle_minimum_credits": 20,6    "included_runs": 5,7    "cycle_days": 30,8    "estimated_runs": 5,9    "estimated_credits": 2010  },11  "entitled": true,12  "meta": {13    "request_credit_cost": 0,14    "credits_remaining": 14515  }16}
200 · 示例响应:每 7 天检查一次的监控价格

监控如何运作

状态
状态 含义
initializing 已创建;基线和激活正在进行。
active 按所选间隔检查。
paused_user 已被你暂停。
paused_configuration 已不再连接任何有效且已验证的 Webhook 端点。
paused_billing 你的余额不足以支付周期或额外检查。或者价格已变更,正在等待你同意。
error 连续多次检查失败。
archived 已永久结束。你仍可按 ID 读取该监控,但它不再出现在列表中。

端点

方法
方法 路径 用途
GET /v1/account/monitors 所有监控,最新的在前,不含已归档的。
POST /v1/account/monitors 创建监控。
GET /v1/account/monitors/{id} 一个监控,含其周期和最近的检查。
PATCH /v1/account/monitors/{id} 更改检查间隔。
POST /v1/account/monitors/{id}/pause 暂停。
POST /v1/account/monitors/{id}/resume 恢复。
DELETE /v1/account/monitors/{id} 归档。
GET /v1/account/monitoring/pricing 某个间隔的价格。

Idempotency-Key

创建监控

curl -X POST "https://handelsregister.ai/api/v1/account/monitors" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "entity_id": "94eb910fef13f94585c48c263fa446d4",
    "label": "Hetzner Online GmbH",
    "poll_interval_days": 7,
    "endpoint_ids": [
        "wep_01m6b3j1g0cdz98hw8zdefbf52"
    ]
}'
参数
名称 类型 说明 示例
Idempotency-KeyHeader 字符串必填 每个操作一个唯一值,最好是 UUID。见 Idempotency-Key。限制: 1 至 128 个字符 req-20260802-01
entity_idBody 字符串必填 公司的 entity_id,来自 fetch-organization 或 search-organizations。限制: 1 至 128 个字符 94eb910fef13f94585c48c263fa446d4
labelBody 字符串可选 监控的名称。限制: 最多 200 个字符 Hetzner Online GmbH
poll_interval_daysBody 整数必填 检查间隔,以天计。限制: 1 至 30 7
endpoint_idsBody string 列表必填 你的 Webhook 端点的 ID(wep_…)。每个都必须有效且已验证。限制: 1 至 10 项 ["wep_01m6b3j1g0cdz98hw8zdefbf52"]
1{2  "monitor": {3    "id": "mon_01m6b3m7945dn7cyvexzv41kjz",4    "type": "organization.signals",5    "entity_id": "94eb910fef13f94585c48c263fa446d4",6    "label": "Hetzner Online GmbH",7    "poll_interval_days": 7,8    "status": "initializing",9    "status_reason": null,10    "pricing_policy_version": "2026-08.v2",11    "baseline_completed_at": null,12    "activated_at": null,13    "last_succeeded_at": null,14    "next_poll_at": null,15    "created_at": "2026-11-01T08:29:13+00:00"16  },17  "meta": {18    "message": "Monitor created; the free baseline is queued and this request charged 0 credits. The cycle price is charged only when activation succeeds.",19    "baseline_queued": true,20    "billing": {21      "charged_credits": 0,22      "new_cycle": false,23      "floor_transaction_id": null24    },25    "request_credit_cost": 0,26    "credits_remaining": 14527  }28}
202 · 示例响应:一个新监控,示例中为 Hetzner Online GmbH(Ansbach HRB 6089)
通过 API,你在创建监控时设置 Webhook 端点。如需连接另一个 Webhook 端点,可在“账户 › 监控”下使用“连接目标”,不额外收费。

列出和更新监控

curl -G "https://handelsregister.ai/api/v1/account/monitors/mon_01m65pn3vm11sjjp1j076cbvec" \
  -H "x-api-key: YOUR_API_KEY"
1{2  "monitor": {3    "id": "mon_01m65pn3vm11sjjp1j076cbvec",4    "type": "organization.signals",5    "entity_id": "94eb910fef13f94585c48c263fa446d4",6    "label": "Hetzner Online GmbH",7    "poll_interval_days": 1,8    "status": "active",9    "status_reason": null,10    "pricing_policy_version": "2026-08.v2",11    "baseline_completed_at": "2026-10-30T06:06:28+00:00",12    "activated_at": "2026-10-30T06:06:28+00:00",13    "last_succeeded_at": "2026-10-30T06:06:53+00:00",14    "next_poll_at": "2026-10-31T06:19:12+00:00",15    "created_at": "2026-10-30T06:06:18+00:00"16  },17  "billing_cycle": {18    "starts_at": "2026-10-30T06:06:28+00:00",19    "ends_at": "2026-11-29T06:06:28+00:00",20    "floor_credits": 50,21    "credits_per_run": 2,22    "included_runs": 30,23    "successful_runs": 1,24    "extra_credits_settled": 0,25    "pricing_policy_version": "2026-08.v2"26  },27  "recent_runs": [28    {29      "due_slot_at": "2026-10-30T06:06:28+00:00",30      "kind": "activation_catchup",31      "status": "succeeded",32      "charge_state": "covered",33      "charge_credits": 0,34      "events_new": 0,35      "finished_at": "2026-10-30T06:06:55+00:00"36    }37  ],38  "meta": {39    "request_credit_cost": 0,40    "credits_remaining": 14541  }42}
200 · 示例响应:一个每日检查的有效监控,同样是 Hetzner Online GmbH
监控的字段
字段 含义
id 监控的 ID,以 mon_ 开头。
entity_id 被监控的公司。
poll_interval_days 检查间隔,以天计。
status, status_reason 状态,见上文。status_reason 给出原因。
baseline_completed_at, activated_at, last_succeeded_at 基线、激活以及最近一次成功检查的时间。
next_poll_at 下一次计划的检查,仅限有效的监控。
billing_cycle 当前周期:开始、结束、价格、包含的检查次数以及迄今已完成的检查。
recent_runs 最近的检查,含结果、计费以及 events_new 中的新信号数量。
curl -X PATCH "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "poll_interval_days": 30
}'
1{2  "monitor": {3    "id": "mon_01m6b3m7945dn7cyvexzv41kjz",4    "type": "organization.signals",5    "entity_id": "94eb910fef13f94585c48c263fa446d4",6    "label": "Hetzner Online GmbH",7    "poll_interval_days": 30,8    "status": "initializing",9    "status_reason": null,10    "pricing_policy_version": "2026-08.v2",11    "baseline_completed_at": null,12    "activated_at": null,13    "last_succeeded_at": null,14    "next_poll_at": null,15    "created_at": "2026-11-01T08:29:13+00:00"16  },17  "meta": {18    "request_credit_cost": 0,19    "credits_remaining": 14520  }21}
200 · 示例响应:间隔已更改为 30 天

暂停、恢复、归档

curl -X POST "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz/resume" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
如果你停用或归档某个 Webhook 端点,所有没有其他 Webhook 端点的监控都会以 paused_configuration 暂停。重新启用 Webhook 端点后,请用 resume 恢复监控。

错误

错误
状态 原因 你可以怎么做
400 api_key 位于 URL 中。 在请求头 x-api-key 中发送密钥。
400 Idempotency-Key 格式无效。 修正格式,例如使用 UUID。
401 没有 API 密钥或令牌,或其无效。 在请求头 x-api-key 中发送密钥。
403 Bearer 令牌缺少权限 account:read。 使用 API 密钥或带 account:read 的令牌。
403 你账户的电子邮件地址尚未确认,或账户已被锁定。 打开确认邮件中的链接。如果账户被锁定,客服可以提供帮助。
403 Bearer 令牌缺少权限 monitoring:manage。 使用 API 密钥或管理员令牌。
404 你的账户中没有此 ID 的监控。 检查 ID。
409 该公司已存在监控(duplicate_monitor)。 使用现有的监控,或先将其归档。
409 该 Idempotency-Key 已用于不同的数据、已超过 24 小时,或仍在处理中。 使用新键或稍等片刻。
422 某个值无效:invalid_subject、invalid_interval、endpoint_required、monitor_limit 或 not_resumable。 修正该值。
428 缺少请求头 Idempotency-Key。 发送该请求头。
429 请求过多。 按 Retry-After 等待后重试。
429 creation_rate_limited:24 小时内新建的监控过多。 按 Retry-After 等待后重试。
503 监控暂时不可用。 稍后重试。
1{2  "error": "duplicate_monitor",3  "meta": {4    "message": "You already have a monitor for this company.",5    "request_credit_cost": 0,6    "credits_remaining": 1457  }8}
409 · 为同一家公司创建第二个监控