获取健康状态
GET /v2/_hc 根据鉴权结果返回匿名简易响应或鉴权详细响应。GET /_hc 使用相同的 handler 和响应格式。启用 CP Auth 时,详情权限按实际请求路径校验,因此同一个 token 可能被允许访问其中一个路径,而被另一个路径拒绝。此接口没有查询参数。
请求鉴权
| 请求头 | 必填 | 说明 |
|---|---|---|
Authorization |
否 | 可选。具有 oracle scope 的 Bearer <token> 通过 CP Auth 校验后返回详情。不带此请求头时返回简易响应;关闭 CP Auth 时,即使带凭据也只返回简易响应;查询参数 token 不会开启详情。 |
匿名简易响应
不带 token 时只返回以下三个状态字段;鉴权响应也包含这三个字段。
| 响应字段 | 类型 | 说明 |
|---|---|---|
status |
string |
整体状态:ok、degraded、unhealthy。 |
server.status |
string |
服务端状态:ok、degraded、unavailable。 |
worker.status |
string |
worker 状态:starting、ok、degraded、stale、unavailable。 |
{
"status": "ok",
"server": {
"status": "ok"
},
"worker": {
"status": "ok"
}
}
鉴权详细响应
Bearer token 校验通过后,额外返回以下字段。详情要求启用 CP Auth。所有时间均为 RFC 3339 UTC 字符串。类型末尾的 ? 表示可选字段;空的数据流映射可能省略。
| 响应字段 | 类型 | 说明 |
|---|---|---|
version |
string |
服务端版本。 |
commit |
string |
构建 commit。 |
server.components |
object |
各组件健康状态,按组件名索引。包括 api、websocket,以及配置的 market_overview 等组件。 |
server.components.api.status |
string |
API 依赖状态:starting、ok、degraded、unavailable。 |
server.components.market_overview.status |
string |
市场概览刷新状态:ok 或 unavailable;配置该监控时返回。 |
server.components.websocket.status |
string |
实时数据流状态:starting、ok、stale、unavailable。 |
server.components.websocket.last_message_at |
string? |
当前 API 服务最后接收到实时市场事件的时间。 |
server.components.websocket.tickers |
object? |
聚合 ticker 状态,按 BTC 等基础资产符号索引。 |
server.components.websocket.tickers.<symbol>.status |
string |
资产 ticker 状态:starting、ok、idle、stale。 |
server.components.websocket.tickers.<symbol>.last_message_at |
string? |
最后接收到该资产聚合 ticker 事件的时间。 |
server.components.websocket.klines |
object? |
聚合 1m K 线事件状态,按基础资产符号索引。 |
server.components.websocket.klines.<symbol>.status |
string |
资产 1m K 线数据流状态:starting、ok、idle、stale。 |
server.components.websocket.klines.<symbol>.last_message_at |
string? |
最后接收到该资产聚合 1m K 线事件的时间。 |
server.components.websocket.source_tickers |
object? |
已观察到的来源 ticker 状态,以 exchange:pair:quote 为键。 |
server.components.websocket.source_tickers.<market>.status |
string |
来源事件接收状态:ok 或 stale。 |
server.components.websocket.source_tickers.<market>.symbol |
string |
BTC 等基础资产符号。 |
server.components.websocket.source_tickers.<market>.last_message_at |
string? |
当前 API 服务最后接收到该来源 ticker 事件的时间。 |
server.components.websocket.source_tickers.<market>.source_time |
string? |
交易所原始报价时间,对应 WebSocket 事件的 T。 |
worker.heartbeat_at |
string? |
worker 心跳时间;不可用时省略。 |
{
"status": "ok",
"version": "dev",
"commit": "none",
"server": {
"status": "ok",
"components": {
"api": {
"status": "ok"
},
"market_overview": {
"status": "ok"
},
"websocket": {
"status": "ok",
"last_message_at": "2026-10-02T04:00:00Z",
"tickers": {
"BTC": {
"status": "ok",
"last_message_at": "2026-10-02T04:00:00Z"
}
},
"klines": {
"BTC": {
"status": "ok",
"last_message_at": "2026-10-02T04:00:00Z"
}
},
"source_tickers": {
"gmo_coin:BTC_JPY:JPY": {
"status": "ok",
"symbol": "BTC",
"last_message_at": "2026-10-02T04:00:00Z",
"source_time": "2026-10-02T03:59:50Z"
}
}
}
}
},
"worker": {
"status": "ok",
"heartbeat_at": "2026-10-02T04:00:00Z"
}
}
资产映射使用 BTC 等基础资产符号;<market> 代表 exchange:pair:quote 键,例如 gmo_coin:BTC_JPY:JPY。来源 ticker 超过 30 秒没有事件时标记 stale,但该诊断状态和较旧的 source_time 不会使整体健康降级。重复的来源心跳只更新 last_message_at,source_time 保持原始报价时间。idle 表示已连接但暂时没有交易的安静市场。
HTTP 状态与鉴权失败
两种响应的健康状态相同:200 也可能包含降级状态;必要依赖不可用或依赖检查过期时返回 503。启用 CP Auth 时,鉴权格式错误或无效 key 返回 401;过期或撤销的 key 可返回 403。其他 CP Auth 错误保留 HTTP 状态和错误码,错误消息经过脱敏。鉴权失败会返回错误,不会自动退回简易响应。可用性监控应省略 Authorization,以独立于 CP Auth 可用性和 token 权限读取公开健康状态。没有可用健康快照时,返回 503 及简易 JSON 格式,server 和 worker 均标记为 unavailable。响应使用 Cache-Control: no-store 和 Vary: Authorization。
授权
Required when cp_auth.enabled=true. The token must have the oracle scope.
响应
Cached health summary, or detailed health after successful Bearer authentication.
