GET可用FRESH
API 目錄
每個公開端點及其分類、宣告狀態與即時狀態、快取 TTL、最近一次探測結果,另附速率限制與錯誤碼表。
GET
/api/meta/catalog請求
此端點不接受任何參數。
請求範例
curl -s "https://www.coinboss.com/api/meta/catalog"回應欄位
欄位表由真實回應產生,因此列出的正是端點實際回傳的內容。路徑中的 a[] 代表陣列元素,{*} 代表以動態名稱(例如幣種或交易所)為鍵的物件。
| 欄位 | 型別 | 單位 | 說明 |
|---|---|---|---|
| success | boolean | — | 請求成功時為 true。失敗時回應內容為 `{ success: false, code, error, request_id }`。 |
| schema | string | — | 此回應的結構描述 ID(`coinboss.meta.catalog/1`)。 |
| now | number | ms | 建立回應時的伺服器時間。 |
| api_version | string | — | 公開 API 的版本(`v1`)。 |
| catalog_version | string | — | 端點目錄的版本,為發布日期,例如 `2026.11.11`。 |
| base_path | string | — | 所有端點共用的路徑前綴(`/api`)。 |
| summary | object | — | 摘要區塊。 |
| summary.total | number | — | 總數。 |
| summary.available | number | — | 是否有資料。 |
| summary.partial | number | — | 僅有部分預期資料時為 true。 |
| summary.degraded | number | count | 即時狀態為 `degraded` 的端點數量。 |
| summary.down | number | count | 即時狀態為 `down` 的端點數量。 |
| summary.unavailable | number | — | 沒有資料的項目及其原因。絕不會回報為 0。 |
| summary.unknown | number | count | 即時狀態為 `unknown`(沒有近期探測結果)的端點數量。 |
| probe | object | — | 即時狀態背後的端點探針狀態:上次執行時間、距今時間、間隔,以及是否新鮮。 |
| probe.last_run_at | number | ms | 時間戳記。 |
| probe.age_s | number | s | 此資料列距上次更新的秒數。 |
| probe.interval_s | number | s | 兩次探測之間的預定間隔(300)。 |
| probe.fresh | boolean | — | 最近一次探測距今不到 20 分鐘時為 true;為 false 時端點狀態會回報為 `unknown`。 |
| probe.error | null | — | 錯誤訊息(僅在失敗時出現)。 |
| categories | array | — | 至少包含一個端點的端點分類,附各狀態的端點數量。 |
| categories[] | object | — | 單一分類:`id`、`title`、`desc`,以及其在各狀態下的端點數量。 |
| categories[].id | string | — | 識別碼。 |
| categories[].title | string | — | 分類的顯示標題。 |
| categories[].desc | string | — | 分類的一句話說明;尚未撰寫時為 null。 |
| categories[].total | number | — | 總數。 |
| categories[].available | number | — | 是否有資料。 |
| categories[].partial | number | — | 僅有部分預期資料時為 true。 |
| categories[].degraded | number | count | 該分類中即時狀態為 `degraded` 的端點數量。 |
| categories[].down | number | count | 該分類中即時狀態為 `down` 的端點數量。 |
| categories[].unavailable | number | — | 沒有資料的項目及其原因。絕不會回報為 0。 |
| categories[].unknown | number | count | 該分類中即時狀態為 `unknown` 的端點數量。 |
| endpoints | array | — | 所有文件記載的端點及其即時狀態。 |
| endpoints[] | object | — | 單一端點:識別資訊、路徑、宣告狀態與即時狀態、快取存活時間、參數名稱,以及最近一次探測結果。 |
| endpoints[].id | string | — | 識別碼。 |
| endpoints[].cat | string | — | 端點所屬分類的 ID。 |
| endpoints[].kind | string | — | 種類。 |
| endpoints[].method | string | — | 公式/計算方法說明。 |
| endpoints[].path | string | — | 端點的請求路徑;`:name` 形式的區段為路徑參數。 |
| endpoints[].title | string | — | 端點的簡短顯示標題。 |
| endpoints[].summary | string | — | 摘要區塊。 |
| endpoints[].declared | string | — | 目錄中宣告的狀態,與探測無關:`available`、`partial` 或 `unavailable`。 |
| endpoints[].status | string | — | 狀態。 |
| endpoints[].status_reason | string|null | — | `status` 不為 `available` 的原因,以純文字說明;否則為 null。 |
| endpoints[].stability | string | — | `stable`、`beta`(欄位集合可能在未提前 90 天通知的情況下變動)或 `legacy`(持續可用,但已有替代端點)。 |
| endpoints[].since | string|null | — | 該期間的起始時間。 |
| endpoints[].ttl_s | number|null | s | 端點回應的伺服器端快取存活時間;不快取或不適用時為 null。 |
| endpoints[].params | array | — | 端點接受的所有參數名稱。 在產生此表所用的樣本中為空 |
| endpoints[].params[] | string | — | 單一參數名稱。 |
| endpoints[].required | array | — | 必須傳送的參數名稱。 在產生此表所用的樣本中為空 |
| endpoints[].probe | object | — | 端點最近一次的探測結果:檢查時間、HTTP 狀態、`ok`、`schema_ok`、延遲、大小、資料距今時間、最近一次成功時間與連續失敗次數;從未探測過時為 null。 |
| endpoints[].probe.checked_at | number | ms | 時間戳記。 |
| endpoints[].probe.http | number | — | 最近一次探測請求的 HTTP 狀態。 |
| endpoints[].probe.ok | boolean | — | 最近一次探測請求回傳 HTTP 200 且 JSON 內容有效時為 `true`。 |
| endpoints[].probe.schema_ok | boolean | — | 探測到的回應與文件記載的欄位表相符時為 `true`;沒有欄位表時為 `null`。 |
| endpoints[].probe.latency_ms | number | ms | 最近一次探測請求的回應時間。 |
| endpoints[].probe.bytes | number | bytes | 探測到的回應內容大小。 |
| endpoints[].probe.quality | null | — | 探測到的回應所回報的 `meta.quality`(FRESH / PARTIAL / STALE …);端點未回報時為 `null`。 |
| endpoints[].probe.data_age_s | number|null | s | 距該事件的秒數。 |
| endpoints[].probe.last_ok_at | number | ms | 時間戳記。 |
| endpoints[].probe.fail_streak | number | count | 連續失敗的探測次數;最近一次探測成功時為 0。 |
| endpoints[].required[] | string | — | 單一必填參數名稱。 |
| rate_limit | object | — | 公開 API 的速率限制規則。 |
| rate_limit.window_s | number | s | 計數時間視窗的長度(60)。 |
| rate_limit.anonymous_per_min | number | count | 未傳送 API 金鑰時,每個用戶端 IP 每分鐘允許的請求數。 |
| rate_limit.scope | string | — | 說明請求計數方式的文字:匿名時依用戶端 IP 計數,傳送 `CB-API-KEY` 標頭時依金鑰計數。 |
| rate_limit.key_tiers_per_min | object | — | 各 API 金鑰等級每分鐘允許的請求數,鍵為等級名稱。 |
| rate_limit.key_tiers_per_min.hobbyist | number | count | `hobbyist` 等級金鑰的每分鐘請求數。 |
| rate_limit.key_tiers_per_min.startup | number | count | `startup` 等級金鑰的每分鐘請求數。 |
| rate_limit.key_tiers_per_min.standard | number | count | `standard` 等級金鑰的每分鐘請求數。 |
| rate_limit.key_tiers_per_min.professional | number | count | `professional` 等級金鑰的每分鐘請求數。 |
| rate_limit.exempt | array | — | 不計入限制的路徑樣式。 |
| rate_limit.exempt[] | string | — | 單一豁免路徑樣式,例如 `/api/coin-icon/*`。 |
| rate_limit.headers | array | — | 回報速率限制狀態的回應標頭名稱。 |
| rate_limit.headers[] | string | — | 單一標頭名稱,例如 `X-RateLimit-Remaining`。 |
| rate_limit.on_exceed | object | — | 超過限制時回傳的內容:`http` 狀態與錯誤 `code`。 |
| rate_limit.on_exceed.http | number | — | 超過限制時回傳的 HTTP 狀態(429)。 |
| rate_limit.on_exceed.code | string | — | 代碼。 |
| errors | array | — | API 可能回傳的錯誤碼,各附 HTTP 狀態、含義與重試建議。 |
| errors[] | object | — | 單一錯誤碼。 |
| errors[].code | string | — | 代碼。 |
| errors[].http | number|string | — | 隨此錯誤碼送出的 HTTP 狀態;適用多個狀態時為字串,例如 `501 / 503`。 |
| errors[].meaning | string | — | 該錯誤的含義。 |
| errors[].retry | string | — | 是否重試以及如何重試的建議。 |
| errors[].legacy | boolean | — | 僅在該錯誤碼用於以 HTTP 200 搭配 `success: false` 回應的舊端點時出現,且值為 true。 可能不存在 |
| status_legend | object | — | 每種端點狀態定義的純文字說明。 |
| status_legend.available | string | — | 是否有資料。 |
| status_legend.partial | string | — | 僅有部分預期資料時為 true。 |
| status_legend.degraded | string | — | 狀態 `degraded` 的定義。 |
| status_legend.down | string | — | 狀態 `down` 的定義。 |
| status_legend.unavailable | string | — | 沒有資料的項目及其原因。絕不會回報為 0。 |
| status_legend.unknown | string | — | 狀態 `unknown` 的定義。 |
| meta | object | — | 此回應的封套資訊:結構描述 ID、產生資料的系統、時間戳記、快取存活時間與新鮮度。 |
| meta.schema | string | — | 此回應的結構描述 ID;與頂層 `schema` 的值相同。 |
| meta.source | array | — | 數值的來源。 |
| meta.source[] | object | — | 數值的來源。 |
| meta.source[].system | string | — | 產生資料的系統;開發者中心的端點一律為 `coinboss`。 |
| meta.source[].component | string | — | 資料背後的元件:端點探針與資料品質巡檢。 |
| meta.observed_at | null | — | 時間戳記。 |
| meta.received_at | number | ms | 時間戳記。 |
| meta.fetched_at | number | ms | CoinBoss 從來源擷取資料的時間。 |
| meta.window | string | — | 時間視窗。 |
| meta.cache_ttl_s | number | s | 此回應的伺服器端快取存活時間。 |
| meta.quality | string | — | 端點探針在過去 20 分鐘內有回報時為 `FRESH`,否則為 `STALE`。 |
| meta.is_stale | boolean | — | 資料列超出新鮮視窗時為 true;過期的資料列不計入總額。 |
| meta.fallback | string | — | 輸入資料過期或缺失時此端點回傳內容的純文字說明。 |
產生於 2026-11-11 23:01 UTC,依據 1 筆真實回應。
回應範例
/api/meta/catalog · 真實回應,擷取於 2026-11-13 03:53:45 UTC。 較長的陣列與對應表已截短顯示:errors 原有 9 個項目; endpoints 原有 299 個項目; categories 原有 21 個項目。
- "success"true
- "schema""coinboss.meta.catalog/1"
- "now"1794542025566
- "api_version""v1"
- "catalog_version""2026.11.12"
- "base_path""/api"
- "summary"
- "total"299
- "available"256
- "partial"17
- "degraded"17
- "down"8
- "unavailable"1
- "unknown"0
- "probe"
- "last_run_at"1794541726312
- "age_s"299
- "interval_s"300
- "fresh"true
- "error"null
- "categories"
- "endpoints"
- "rate_limit"
- "window_s"60
- "anonymous_per_min"1200
- "scope""per client IP for anonymous requests; per key when a CB-API-KEY header is sent"
- "key_tiers_per_min"
- "exempt"
- "headers"
- "on_exceed"
- "errors"
- "status_legend"
- "available""last probe returned HTTP 200 and the response matched the documented schema"
- "partial""works, but exchange / field coverage is incomplete (see status_reason)"
- "degraded""responding, but schema drift or stale data was detected by the last probe"
- "down""last probe failed"
- "unavailable""documented for completeness; no lawful public source yet, the endpoint returns nulls or is not served"
- "unknown""no probe result within the last 20 minutes"
- "meta"
- "schema""coinboss.meta.catalog/1"
- "source"
- "observed_at"null
- "received_at"1794541726312
- "fetched_at"1794542025566
- "window""latest"
- "cache_ttl_s"30
- "quality""FRESH"
- "is_stale"false
- "fallback""when the probe has not reported within 20 minutes every endpoint status becomes \"unknown\""
詳細資訊
- 身分驗證
- 無。公開端點。
- 速率限制
- 每個 IP 每分鐘 1200 次請求
- 伺服器快取
- 30s
- 邊緣微快取
- 10s
- 更新頻率
- 於請求時依目錄檔案與最新探測結果重建(探測每 5 分鐘執行一次)。
- 資料來源
- CoinBoss 端點目錄 + sd_api_probe(API 探測實際呼叫的結果)。
- 時間戳記
- Unix epoch 毫秒(UTC),除非欄位說明另有註明
- 回應格式
- json
- 穩定性
- 穩定版
- 上線時間
- 2026-11-11
即時狀態
可用檢查於 2026-11-13 03:53:45 UTCHTTP 2006 ms結構描述相符最新資料點距今 5m
近 30 天可用率
408 次檢查中有 100% 通過
錯誤
所有端點的失敗回應都採用同一種結構。完整清單請見錯誤頁面。 錯誤與速率限制 →
| 錯誤碼 | HTTP | 意義 | 處理方式 |
|---|---|---|---|
| INVALID_PARAM | 400 | 缺少必填參數,或某個值不被接受。已知時,`param` 會指出是哪個參數。 | 請勿原樣重試;請修正請求。 |
| UNAUTHORIZED | 401 | 已送出 `CB-API-KEY` 標頭,但金鑰未知或已撤銷。公開資料不需要金鑰——請移除該標頭或改用有效的金鑰。 | 請勿原樣重試。 |
| FORBIDDEN | 403 | 此路由不屬於公開 API(內部或僅限帳戶使用)。 | 請勿重試。 |
| NOT_FOUND | 404 | 未知的路由,或所請求的幣種/交易所/基金不存在。 | 請勿重試;請對照目錄檢查路徑與識別碼。 |
| RATE_LIMITED | 429 | 請求數超過每分鐘上限。`Retry-After` 會指出需等待的秒數。 | 等待 `Retry-After` 指定的時間後,再以退避策略重試。 |
| INTERNAL | 500 | 非預期的伺服器錯誤。訊息刻意保持籠統;回報時請附上 `request_id`。 | 幾秒後重試一次;若問題持續,請附上請求 ID 回報。 |
| UPSTREAM_FAILED | 503 | 此端點背後的資料來源未及時回應。不會以過期或替代的數字代替回傳。 | 以退避策略重試;並查看狀態頁面。 |
| UNAVAILABLE | 501 / 503 | 資料集暫時尚未就緒(快取預熱中),或此端點目前尚無合法的公開來源。 | 稍後重試;目錄會標示出設計上即無法使用的端點。 |
| REQUEST_FAILED | 200 | 部分舊版端點會以 HTTP 200 回應但帶有 `success: false`。請務必檢查 `success`,而不只是 HTTP 狀態碼。 | 視訊息而定;請當作失敗的請求處理。 |
試用
GET
/api/meta/catalog可用參數
無參數。
請求 URL
https://www.coinboss.com/api/meta/catalog選擇一個端點並按下「送出請求」。回應內容、標頭與耗時會顯示在這裡。
此分類的其他端點
- 資料品質矩陣(採集器視角) /api/sd/quality
- API 目錄 /api/meta/catalog
- 更新日誌與版本政策 /api/meta/changelog
- 端點文件 /api/meta/endpoint
- OpenAPI 文件 /api/meta/openapi
- 資料品質矩陣 /api/meta/quality
- 服務狀態 /api/meta/status
- 檢查平台是否收錄某個幣種代號 /api/coin-exists
- 幣種代號與本地託管圖示路徑的對應表 /api/coin-icons
- 幣種頁彙總摘要 /api/content/coin
- 全站各版塊摘要 /api/content/summary
- 法幣匯率表 /api/currency/fx
- 交易所 ID 與本地託管圖示路徑的對應表 /api/exchange-icons
- 存活檢查 /api/health
- 研究頁面統計 /api/research/stats