Danh mục API
Mọi endpoint công khai kèm danh mục, trạng thái khai báo và trạng thái trực tiếp, TTL cache, kết quả thăm dò gần nhất, cùng giới hạn tần suất và bảng mã lỗi.
/api/meta/catalogYêu cầu
Endpoint này không nhận tham số nào.
Yêu cầu mẫu
curl -s "https://www.coinboss.com/api/meta/catalog"Trường phản hồi
Bảng trường được tạo từ phản hồi thật nên liệt kê đúng những gì endpoint trả về. Đường dẫn dùng a[] cho phần tử mảng và {*} cho object có khóa là tên động, chẳng hạn một coin hoặc một sàn.
| Trường | Kiểu | Đơn vị | Mô tả |
|---|---|---|---|
| success | boolean | — | true khi yêu cầu thành công. Khi thất bại, nội dung phản hồi là `{ success: false, code, error, request_id }`. |
| schema | string | — | ID schema của phản hồi này (`coinboss.meta.catalog/1`). |
| now | number | ms | Thời gian máy chủ lúc phản hồi được dựng. |
| api_version | string | — | Phiên bản của API công khai (`v1`). |
| catalog_version | string | — | Phiên bản của danh mục endpoint, là một ngày phát hành như `2026.11.11`. |
| base_path | string | — | Tiền tố đường dẫn dùng chung cho mọi endpoint (`/api`). |
| summary | object | — | Khối tóm tắt. |
| summary.total | number | — | Tổng. |
| summary.available | number | — | Dữ liệu có khả dụng hay không. |
| summary.partial | number | — | true khi chỉ có một phần dữ liệu dự kiến. |
| summary.degraded | number | count | Số endpoint có trạng thái trực tiếp là `degraded`. |
| summary.down | number | count | Số endpoint có trạng thái trực tiếp là `down`. |
| summary.unavailable | number | — | Các mục không có dữ liệu, kèm lý do. Không bao giờ được báo là 0. |
| summary.unknown | number | count | Số endpoint có trạng thái trực tiếp là `unknown` (không có kết quả thăm dò gần đây). |
| probe | object | — | Tình trạng của lượt thăm dò endpoint đứng sau các trạng thái trực tiếp: thời điểm chạy gần nhất, tuổi của nó, chu kỳ và việc nó có còn mới hay không. |
| probe.last_run_at | number | ms | Dấu thời gian. |
| probe.age_s | number | s | Số giây kể từ lần cập nhật gần nhất của dòng này. |
| probe.interval_s | number | s | Chu kỳ dự kiến giữa hai lượt thăm dò (300). |
| probe.fresh | boolean | — | true khi lượt thăm dò gần nhất chưa quá 20 phút; khi là false, trạng thái của các endpoint được báo là `unknown`. |
| probe.error | null | — | Thông báo lỗi (chỉ có khi thất bại). |
| categories | array | — | Các danh mục endpoint có ít nhất một endpoint, kèm số endpoint theo từng trạng thái. |
| categories[] | object | — | Một danh mục: `id`, `title`, `desc` và số endpoint của nó ở từng trạng thái. |
| categories[].id | string | — | Định danh. |
| categories[].title | string | — | Tiêu đề hiển thị của danh mục. |
| categories[].desc | string | — | Mô tả một câu về danh mục; null khi chưa có mô tả. |
| categories[].total | number | — | Tổng. |
| categories[].available | number | — | Dữ liệu có khả dụng hay không. |
| categories[].partial | number | — | true khi chỉ có một phần dữ liệu dự kiến. |
| categories[].degraded | number | count | Số endpoint của danh mục có trạng thái trực tiếp là `degraded`. |
| categories[].down | number | count | Số endpoint của danh mục có trạng thái trực tiếp là `down`. |
| categories[].unavailable | number | — | Các mục không có dữ liệu, kèm lý do. Không bao giờ được báo là 0. |
| categories[].unknown | number | count | Số endpoint của danh mục có trạng thái trực tiếp là `unknown`. |
| endpoints | array | — | Mọi endpoint có tài liệu kèm trạng thái trực tiếp của nó. |
| endpoints[] | object | — | Một endpoint: định danh, đường dẫn, trạng thái khai báo và trạng thái trực tiếp, thời gian sống của cache, tên tham số và kết quả thăm dò gần nhất. |
| endpoints[].id | string | — | Định danh. |
| endpoints[].cat | string | — | ID của danh mục mà endpoint thuộc về. |
| endpoints[].kind | string | — | Loại. |
| endpoints[].method | string | — | Ghi chú về công thức / phương pháp. |
| endpoints[].path | string | — | Đường dẫn yêu cầu của endpoint; các đoạn `:name` là tham số đường dẫn. |
| endpoints[].title | string | — | Tiêu đề hiển thị ngắn của endpoint. |
| endpoints[].summary | string | — | Khối tóm tắt. |
| endpoints[].declared | string | — | Trạng thái khai báo trong danh mục, không phụ thuộc vào việc thăm dò: `available`, `partial` hoặc `unavailable`. |
| endpoints[].status | string | — | Trạng thái. |
| endpoints[].status_reason | string|null | — | Lý do `status` không phải `available`, dạng văn bản thuần; null khi trạng thái đúng là như vậy. |
| endpoints[].stability | string | — | `stable`, `beta` (tập trường có thể thay đổi mà không cần thông báo trước 90 ngày) hoặc `legacy` (vẫn được duy trì hoạt động, đã có endpoint thay thế). |
| endpoints[].since | string|null | — | Thời điểm bắt đầu kỳ. |
| endpoints[].ttl_s | number|null | s | Thời gian sống của cache phía máy chủ cho các phản hồi của endpoint; null khi không được cache hoặc không áp dụng. |
| endpoints[].params | array | — | Tên của mọi tham số mà endpoint chấp nhận. rỗng trong các mẫu dùng để tạo bảng này |
| endpoints[].params[] | string | — | Tên một tham số. |
| endpoints[].required | array | — | Tên các tham số bắt buộc phải gửi. rỗng trong các mẫu dùng để tạo bảng này |
| endpoints[].probe | object | — | Kết quả thăm dò gần nhất của endpoint: thời điểm kiểm tra, mã trạng thái HTTP, `ok`, `schema_ok`, độ trễ, kích thước, tuổi dữ liệu, lần thành công gần nhất và chuỗi thất bại; null khi chưa từng được thăm dò. |
| endpoints[].probe.checked_at | number | ms | Dấu thời gian. |
| endpoints[].probe.http | number | — | Mã trạng thái HTTP của yêu cầu thăm dò gần nhất. |
| endpoints[].probe.ok | boolean | — | `true` khi yêu cầu thăm dò gần nhất trả về HTTP 200 với body JSON hợp lệ. |
| endpoints[].probe.schema_ok | boolean | — | `true` khi phản hồi được thăm dò khớp với bảng trường trong tài liệu; `null` khi không có bảng trường. |
| endpoints[].probe.latency_ms | number | ms | Thời gian phản hồi của yêu cầu thăm dò gần nhất. |
| endpoints[].probe.bytes | number | bytes | Kích thước body của phản hồi được thăm dò. |
| endpoints[].probe.quality | null | — | `meta.quality` do phản hồi được thăm dò báo cáo (FRESH / PARTIAL / STALE …); `null` khi endpoint không báo cáo giá trị này. |
| endpoints[].probe.data_age_s | number|null | s | Số giây kể từ sự kiện. |
| endpoints[].probe.last_ok_at | number | ms | Dấu thời gian. |
| endpoints[].probe.fail_streak | number | count | Số lượt thăm dò thất bại liên tiếp; 0 khi lượt thăm dò gần nhất thành công. |
| endpoints[].required[] | string | — | Tên một tham số bắt buộc. |
| rate_limit | object | — | Các quy tắc giới hạn tần suất của API công khai. |
| rate_limit.window_s | number | s | Độ dài của khung đếm (60). |
| rate_limit.anonymous_per_min | number | count | Số yêu cầu mỗi phút được phép cho mỗi IP client khi không gửi API key. |
| rate_limit.scope | string | — | Văn bản nêu cách đếm yêu cầu: theo IP client khi ẩn danh, theo key khi có gửi header `CB-API-KEY`. |
| rate_limit.key_tiers_per_min | object | — | Số yêu cầu mỗi phút được phép cho từng bậc API key, có khóa là tên bậc. |
| rate_limit.key_tiers_per_min.hobbyist | number | count | Số yêu cầu mỗi phút cho các key thuộc bậc `hobbyist`. |
| rate_limit.key_tiers_per_min.startup | number | count | Số yêu cầu mỗi phút cho các key thuộc bậc `startup`. |
| rate_limit.key_tiers_per_min.standard | number | count | Số yêu cầu mỗi phút cho các key thuộc bậc `standard`. |
| rate_limit.key_tiers_per_min.professional | number | count | Số yêu cầu mỗi phút cho các key thuộc bậc `professional`. |
| rate_limit.exempt | array | — | Các mẫu đường dẫn không bị tính vào giới hạn. |
| rate_limit.exempt[] | string | — | Một mẫu đường dẫn được miễn, ví dụ `/api/coin-icon/*`. |
| rate_limit.headers | array | — | Tên các header phản hồi báo cáo trạng thái giới hạn tần suất. |
| rate_limit.headers[] | string | — | Tên một header, ví dụ `X-RateLimit-Remaining`. |
| rate_limit.on_exceed | object | — | Nội dung được trả về khi vượt giới hạn: mã trạng thái `http` và `code` lỗi. |
| rate_limit.on_exceed.http | number | — | Mã trạng thái HTTP được trả về khi vượt giới hạn (429). |
| rate_limit.on_exceed.code | string | — | Mã. |
| errors | array | — | Các mã lỗi mà API có thể trả về, mỗi mã kèm mã trạng thái HTTP, ý nghĩa và lời khuyên về việc thử lại. |
| errors[] | object | — | Một mã lỗi. |
| errors[].code | string | — | Mã. |
| errors[].http | number|string | — | Mã trạng thái HTTP gửi kèm mã lỗi này; là một chuỗi như `501 / 503` khi có nhiều hơn một mã áp dụng. |
| errors[].meaning | string | — | Ý nghĩa của lỗi. |
| errors[].retry | string | — | Lời khuyên về việc có nên thử lại hay không và thử lại như thế nào. |
| errors[].legacy | boolean | — | Chỉ có và là true với mã lỗi được dùng bởi các endpoint cũ trả về HTTP 200 kèm `success: false`. có thể vắng mặt |
| status_legend | object | — | Định nghĩa dạng văn bản thuần của từng trạng thái endpoint. |
| status_legend.available | string | — | Dữ liệu có khả dụng hay không. |
| status_legend.partial | string | — | true khi chỉ có một phần dữ liệu dự kiến. |
| status_legend.degraded | string | — | Định nghĩa của trạng thái `degraded`. |
| status_legend.down | string | — | Định nghĩa của trạng thái `down`. |
| status_legend.unavailable | string | — | Các mục không có dữ liệu, kèm lý do. Không bao giờ được báo là 0. |
| status_legend.unknown | string | — | Định nghĩa của trạng thái `unknown`. |
| meta | object | — | Phong bì của phản hồi này: ID schema, hệ thống tạo ra, các dấu thời gian, thời gian sống của cache và độ mới. |
| meta.schema | string | — | ID schema của phản hồi này; cùng giá trị với `schema` ở cấp cao nhất. |
| meta.source | array | — | Giá trị này đến từ đâu. |
| meta.source[] | object | — | Giá trị này đến từ đâu. |
| meta.source[].system | string | — | Hệ thống tạo ra dữ liệu; luôn là `coinboss` với các endpoint của trung tâm nhà phát triển. |
| meta.source[].component | string | — | Thành phần đứng sau dữ liệu: lượt thăm dò endpoint và lượt tuần tra chất lượng dữ liệu. |
| meta.observed_at | null | — | Dấu thời gian. |
| meta.received_at | number | ms | Dấu thời gian. |
| meta.fetched_at | number | ms | Thời điểm CoinBoss lấy dữ liệu từ nguồn. |
| meta.window | string | — | Khung thời gian. |
| meta.cache_ttl_s | number | s | Thời gian sống của cache phía máy chủ cho phản hồi này. |
| meta.quality | string | — | `FRESH` khi lượt thăm dò endpoint đã báo cáo trong vòng 20 phút qua, còn lại là `STALE`. |
| meta.is_stale | boolean | — | true khi dòng cũ hơn khung dữ liệu mới; dòng quá hạn không được dùng trong các tổng. |
| meta.fallback | string | — | Ghi chú dạng văn bản thuần về những gì endpoint này trả về khi dữ liệu đầu vào của nó quá hạn hoặc bị thiếu. |
Tạo lúc 2026-11-11 23:01 UTC từ 1 phản hồi thật.
Phản hồi mẫu
/api/meta/catalog · Phản hồi thật, ghi lại lúc 2026-11-13 03:59:27 UTC. Mảng và map dài được rút gọn khi hiển thị: errors có 9 phần tử; endpoints có 299 phần tử; categories có 21 phần tử.
- "success"true
- "schema""coinboss.meta.catalog/1"
- "now"1794542367982
- "api_version""v1"
- "catalog_version""2026.11.12"
- "base_path""/api"
- "summary"
- "total"299
- "available"256
- "partial"19
- "degraded"17
- "down"6
- "unavailable"1
- "unknown"0
- "probe"
- "last_run_at"1794542029183
- "age_s"339
- "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"1794542029183
- "fetched_at"1794542367982
- "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\""
Chi tiết
- Xác thực
- Không cần. Endpoint công khai.
- Giới hạn tần suất
- 1200 yêu cầu mỗi phút cho mỗi IP
- Cache máy chủ
- 30s
- Micro-cache biên
- 10s
- Tần suất cập nhật
- Được dựng lại theo yêu cầu từ tệp danh mục và các kết quả thăm dò mới nhất (trình thăm dò chạy mỗi 5 phút).
- Nguồn dữ liệu
- Danh mục endpoint của CoinBoss + sd_api_probe (kết quả các lệnh gọi thật do trình thăm dò API thực hiện).
- Dấu thời gian
- Unix epoch tính bằng mili giây (UTC), trừ khi mô tả trường ghi khác
- Định dạng phản hồi
- json
- Độ ổn định
- Ổn định
- Có từ
- 2026-11-11
Trạng thái trực tiếp
Độ khả dụng, 30 ngày qua
100% trong 409 lần kiểm tra đạt
Lỗi
Lệnh gọi thất bại có chung một cấu trúc trên mọi endpoint. Danh sách đầy đủ nằm ở trang lỗi. Lỗi và giới hạn tần suất →
| Mã | HTTP | Ý nghĩa | Cách xử lý |
|---|---|---|---|
| INVALID_PARAM | 400 | Thiếu một tham số bắt buộc hoặc một giá trị không được chấp nhận. `param` nêu tên tham số khi xác định được. | Đừng thử lại với yêu cầu y nguyên; hãy sửa yêu cầu. |
| UNAUTHORIZED | 401 | Header `CB-API-KEY` đã được gửi nhưng khóa không tồn tại hoặc đã bị thu hồi. Dữ liệu công khai không cần khóa — hãy bỏ header hoặc dùng một khóa hợp lệ. | Đừng thử lại với yêu cầu y nguyên. |
| FORBIDDEN | 403 | Route này không thuộc API công khai (nội bộ hoặc chỉ dành cho tài khoản). | Đừng thử lại. |
| NOT_FOUND | 404 | Route không xác định, hoặc coin / sàn / quỹ được yêu cầu không tồn tại. | Đừng thử lại; hãy đối chiếu đường dẫn và các mã định danh với danh mục. |
| RATE_LIMITED | 429 | Số yêu cầu vượt quá giới hạn mỗi phút. `Retry-After` cho biết số giây cần chờ. | Chờ theo `Retry-After`, rồi thử lại có backoff. |
| INTERNAL | 500 | Lỗi máy chủ không mong đợi. Thông báo được cố ý viết chung chung; hãy trích dẫn `request_id` khi báo lỗi. | Thử lại một lần sau vài giây; nếu lỗi vẫn tiếp diễn, hãy báo cáo kèm ID yêu cầu. |
| UPSTREAM_FAILED | 503 | Nguồn dữ liệu đứng sau endpoint này không trả lời kịp thời. Không có số liệu quá hạn hay số liệu thay thế nào được trả về thay cho nó. | Thử lại có backoff; xem trang trạng thái. |
| UNAVAILABLE | 501 / 503 | Bộ dữ liệu tạm thời chưa sẵn sàng (cache đang được làm nóng) hoặc endpoint chưa có nguồn công khai hợp pháp. | Thử lại sau; danh mục có đánh dấu những endpoint không khả dụng theo thiết kế. |
| REQUEST_FAILED | 200 | Một số endpoint cũ hơn trả về HTTP 200 với `success: false`. Hãy luôn kiểm tra `success`, không chỉ trạng thái HTTP. | Tùy vào thông báo; hãy coi là một yêu cầu thất bại. |
Dùng thử
/api/meta/catalogKhả dụngKhông có tham số.
https://www.coinboss.com/api/meta/catalogEndpoint khác trong danh mục này
- Ma trận chất lượng dữ liệu (góc nhìn trình thu thập) /api/sd/quality
- Danh mục API /api/meta/catalog
- Nhật ký thay đổi và chính sách phiên bản /api/meta/changelog
- Tài liệu endpoint /api/meta/endpoint
- Tài liệu OpenAPI /api/meta/openapi
- Ma trận chất lượng dữ liệu /api/meta/quality
- Trạng thái dịch vụ /api/meta/status
- Kiểm tra một ký hiệu coin có được nền tảng nhận biết hay không /api/coin-exists
- Bảng ánh xạ từ ký hiệu coin sang đường dẫn icon lưu cục bộ /api/coin-icons
- Tóm tắt tổng hợp của trang coin /api/content/coin
- Tóm tắt các chuyên mục toàn trang /api/content/summary
- Bảng tỷ giá tiền pháp định /api/currency/fx
- Bảng ánh xạ từ id sàn sang đường dẫn icon lưu cục bộ /api/exchange-icons
- Kiểm tra liveness /api/health
- Thống kê trang nghiên cứu /api/research/stats