Матрица качества данных (представление коллекторов)
Собственный слой данных: матрица качества данных (биржа × семейство данных)
/api/sd/qualityЗапрос
У этого эндпоинта нет параметров.
Пример запроса
curl -s "https://www.coinboss.com/api/sd/quality"Поля ответа
Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.
| Поле | Тип | Единица | Описание |
|---|---|---|---|
| success | boolean | — | true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`. |
| now | number | ms | Время сервера в момент формирования ответа. |
| families | array | — | Семейства данных, проверяемые для каждой биржи, в порядке отображения. |
| families[] | string | — | Идентификатор семейства: `ticker`, `oi`, `funding`, `funding_settle`, `liquidation`, `ls`, `spot` или `sd_contracts`. |
| exchanges | array | — | Биржи. |
| exchanges[] | string | — | Биржи. |
| matrix | object | — | Матрица с ключами по строке и столбцу. динамические ключи: aster,backpack,binance,bingx,bitfinex,bitget |
| matrix.{*} | object | — | Матрица с ключами по строке и столбцу. динамические ключи: ticker,oi,funding,funding_settle,liquidation,ls |
| matrix.{*}.ticker | object | — | Актуальность фьючерсных тикеров биржи: `status`, число строк, `age_s` и окна актуальности / пригодности. Ключи словаря — идентификаторы бирж. может отсутствовать |
| matrix.{*}.ticker.status | string | — | Статус. может отсутствовать |
| matrix.{*}.ticker.rows | number | — | Строки результата. может отсутствовать |
| matrix.{*}.ticker.rows_fresh | number | — | Строки, обновлённые в пределах окна актуальности. может отсутствовать |
| matrix.{*}.ticker.rows_usable | number | — | Строки в пределах окна пригодности. может отсутствовать |
| matrix.{*}.ticker.rows_orphan | number | — | Строки, контракт которых больше не торгуется. может отсутствовать |
| matrix.{*}.ticker.rows_invalid | number | — | Строки, отклонённые при валидации. может отсутствовать |
| matrix.{*}.ticker.age_s | number | s | Число секунд с последнего обновления этой строки. может отсутствовать |
| matrix.{*}.ticker.fresh_within_s | number | s | Окно актуальности: данные новее этого значения считаются актуальными. может отсутствовать |
| matrix.{*}.ticker.usable_within_s | number | s | Данные старше этого значения не используются вовсе. может отсутствовать |
| matrix.{*}.oi | object | — | Открытый интерес. может отсутствовать |
| matrix.{*}.oi.status | string | — | Статус. может отсутствовать |
| matrix.{*}.oi.rows | number | — | Строки результата. может отсутствовать |
| matrix.{*}.oi.rows_fresh | number | — | Строки, обновлённые в пределах окна актуальности. может отсутствовать |
| matrix.{*}.oi.rows_usable | number | — | Строки в пределах окна пригодности. может отсутствовать |
| matrix.{*}.oi.rows_orphan | number | — | Строки, контракт которых больше не торгуется. может отсутствовать |
| matrix.{*}.oi.rows_invalid | number | — | Строки, отклонённые при валидации. может отсутствовать |
| matrix.{*}.oi.age_s | number | s | Число секунд с последнего обновления этой строки. может отсутствовать |
| matrix.{*}.oi.fresh_within_s | number | s | Окно актуальности: данные новее этого значения считаются актуальными. может отсутствовать |
| matrix.{*}.oi.usable_within_s | number | s | Данные старше этого значения не используются вовсе. может отсутствовать |
| matrix.{*}.funding | object | — | Блок или значение ставки финансирования. может отсутствовать |
| matrix.{*}.funding.status | string | — | Статус. может отсутствовать |
| matrix.{*}.funding.rows | number | — | Строки результата. может отсутствовать |
| matrix.{*}.funding.rows_fresh | number | — | Строки, обновлённые в пределах окна актуальности. может отсутствовать |
| matrix.{*}.funding.rows_usable | number | — | Строки в пределах окна пригодности. может отсутствовать |
| matrix.{*}.funding.rows_orphan | number | — | Строки, контракт которых больше не торгуется. может отсутствовать |
| matrix.{*}.funding.rows_invalid | number | — | Строки, отклонённые при валидации. может отсутствовать |
| matrix.{*}.funding.age_s | number | s | Число секунд с последнего обновления этой строки. может отсутствовать |
| matrix.{*}.funding.fresh_within_s | number | s | Окно актуальности: данные новее этого значения считаются актуальными. может отсутствовать |
| matrix.{*}.funding.usable_within_s | number | s | Данные старше этого значения не используются вовсе. может отсутствовать |
| matrix.{*}.funding.rows_unknown_interval | number | count | Строки финансирования, обновлённые за последние 4 часа, у которых интервал расчётов неизвестен, поэтому их нельзя привести к 8 часам; любая такая строка делает ячейку `partial`. может отсутствовать |
| matrix.{*}.funding.rows_no_next_time | number | ms | Метка времени. может отсутствовать |
| matrix.{*}.funding.rows_no_liveness | number | count | Недавно обновлённые строки финансирования по контрактам без признаков реальной торговли (делистинг или отсутствие объёма); не учитываются в подсчёте актуальности. может отсутствовать |
| matrix.{*}.funding_settle | object | — | Актуальность истории расчётов финансирования биржи: `status`, `age_s` последнего расчёта, `symbols` и `history_from`. может отсутствовать |
| matrix.{*}.funding_settle.status | string | — | Статус. может отсутствовать |
| matrix.{*}.funding_settle.age_s | number | s | Число секунд с последнего обновления этой строки. может отсутствовать |
| matrix.{*}.funding_settle.symbols | number | — | Символы. может отсутствовать |
| matrix.{*}.funding_settle.history_from | number | ms | Самая ранняя из хранимых записей. может отсутствовать |
| matrix.{*}.funding_settle.fresh_within_s | number | s | Окно актуальности: данные новее этого значения считаются актуальными. может отсутствовать |
| matrix.{*}.liquidation | object | — | Блок ликвидаций. может отсутствовать |
| matrix.{*}.liquidation.status | string | — | Статус. может отсутствовать |
| matrix.{*}.liquidation.via | string | — | Путь сбора. может отсутствовать |
| matrix.{*}.liquidation.last_event_age_s | number|null | s | Число секунд с события. может отсутствовать |
| matrix.{*}.liquidation.events_1h | number | count | Ордера ликвидации, сохранённые с этой биржи за последний час; минимальные размеры ордеров у бирж различаются, поэтому количества несопоставимы. может отсутствовать |
| matrix.{*}.liquidation.events_24h | number | count | Ордера ликвидации, сохранённые с этой биржи за последние 24 часа; минимальные размеры ордеров у бирж различаются, поэтому количества несопоставимы. может отсутствовать |
| matrix.{*}.liquidation.ws_heartbeat_age_s | number|null | s | Число секунд с события. может отсутствовать |
| matrix.{*}.liquidation.judged_by | string | — | По какой метке времени оценивался статус. может отсутствовать |
| matrix.{*}.liquidation.idle_ok_s | number | s | Самый длинный промежуток без ликвидаций, который для этой биржи ещё считается нормой; при более длинном промежутке поток помечается как `stale`. может отсутствовать |
| matrix.{*}.ls | object | — | Актуальность строк соотношения лонг/шорт биржи: `status`, число строк, `age_s` и окна актуальности / пригодности. может отсутствовать |
| matrix.{*}.ls.status | string | — | Статус. может отсутствовать |
| matrix.{*}.ls.reason | string | — | Код причины. может отсутствовать |
| matrix.{*}.spot | object | — | Блок или значение спотового рынка. может отсутствовать |
| matrix.{*}.spot.status | string | — | Статус. может отсутствовать |
| matrix.{*}.spot.reason | string | — | Код причины. может отсутствовать |
| matrix.{*}.sd_contracts | object | — | Актуальность строк контрактов биржи с маржой в монете, с маржой в USDC и срочных контрактов: `status`, число строк и `age_s`. может отсутствовать |
| matrix.{*}.sd_contracts.status | string | — | Статус. может отсутствовать |
| matrix.{*}.sd_contracts.reason | string | — | Код причины. может отсутствовать |
| matrix.{*}.funding_settle.reason | string | — | Код причины. может отсутствовать |
| matrix.{*}.liquidation.reason | string | — | Код причины. может отсутствовать |
| matrix.{*}.liquidation.note | string | — | Примечание. может отсутствовать |
| matrix.{*}.ls.rows | number | — | Строки результата. может отсутствовать |
| matrix.{*}.ls.rows_fresh | number | — | Строки, обновлённые в пределах окна актуальности. может отсутствовать |
| matrix.{*}.ls.rows_usable | number | — | Строки в пределах окна пригодности. может отсутствовать |
| matrix.{*}.ls.rows_orphan | number | — | Строки, контракт которых больше не торгуется. может отсутствовать |
| matrix.{*}.ls.rows_invalid | number | — | Строки, отклонённые при валидации. может отсутствовать |
| matrix.{*}.ls.age_s | number | s | Число секунд с последнего обновления этой строки. может отсутствовать |
| matrix.{*}.ls.fresh_within_s | number | s | Окно актуальности: данные новее этого значения считаются актуальными. может отсутствовать |
| matrix.{*}.ls.usable_within_s | number | s | Данные старше этого значения не используются вовсе. может отсутствовать |
| matrix.{*}.spot.age_s | number | s | Число секунд с последнего обновления этой строки. может отсутствовать |
| matrix.{*}.spot.coins | number | — | Монеты. может отсутствовать |
| matrix.{*}.spot.fresh_within_s | number | s | Окно актуальности: данные новее этого значения считаются актуальными. может отсутствовать |
| matrix.{*}.spot.note | string | — | Примечание. может отсутствовать |
| matrix.{*}.sd_contracts.rows | number | — | Строки результата. может отсутствовать |
| matrix.{*}.sd_contracts.rows_fresh | number | — | Строки, обновлённые в пределах окна актуальности. может отсутствовать |
| matrix.{*}.sd_contracts.age_s | number | s | Число секунд с последнего обновления этой строки. может отсутствовать |
| matrix.{*}.sd_contracts.rows_without_oi | number | count | Строки контрактов без значения открытого интереса в USD. может отсутствовать |
| matrix.{*}.sd_contracts.rows_oi_promoted | number | count | Строки контрактов, открытый интерес которых также учитывается в итогах открытого интереса по всему сайту. может отсутствовать |
| matrix.{*}.sd_contracts.fresh_within_s | number | s | Окно актуальности: данные новее этого значения считаются актуальными. может отсутствовать |
| matrix.{*}.{*} | object | — | Матрица с ключами по строке и столбцу. |
| matrix.{*}.{*}.status | string | — | Статус. |
| matrix.{*}.{*}.reason | string | — | Код причины. может отсутствовать |
| matrix.{*}.{*}.age_s | number | s | Число секунд с последнего обновления этой строки. может отсутствовать |
| matrix.{*}.{*}.coins | number | — | Монеты. может отсутствовать |
| matrix.{*}.{*}.fresh_within_s | number | s | Окно актуальности: данные новее этого значения считаются актуальными. может отсутствовать |
| matrix.{*}.{*}.note | string | — | Примечание. может отсутствовать |
| matrix.{*}.oi.reason | string | — | Код причины. может отсутствовать |
| matrix.{*}.{*}.rows | number | — | Строки результата. может отсутствовать |
| matrix.{*}.{*}.rows_fresh | number | — | Строки, обновлённые в пределах окна актуальности. может отсутствовать |
| matrix.{*}.{*}.rows_usable | number | — | Строки в пределах окна пригодности. может отсутствовать |
| matrix.{*}.{*}.rows_orphan | number | — | Строки, контракт которых больше не торгуется. может отсутствовать |
| matrix.{*}.{*}.rows_invalid | number | — | Строки, отклонённые при валидации. может отсутствовать |
| matrix.{*}.{*}.usable_within_s | number | s | Данные старше этого значения не используются вовсе. может отсутствовать |
| matrix.{*}.ticker.dead | boolean | — | Присутствует, только если `status` равно `stale`: true, если ни одна строка не попадает и в окно пригодности, поэтому биржа исключается из агрегатов. может отсутствовать |
| matrix.{*}.funding.reason | string | — | Код причины. может отсутствовать |
| matrix.{*}.liquidation.pipeline_last_event_age_s | number | s | Число секунд с события. может отсутствовать |
| matrix.{*}.liquidation.node_heartbeat_age_s | number | s | Число секунд с события. может отсутствовать |
| summary | object | — | Блок сводки. |
| summary.fresh | number | count | Число ячеек «биржа × семейство» со статусом `fresh`. |
| summary.partial | number | — | true, если присутствует только часть ожидаемых данных. |
| summary.stale | number | — | Строки или флаг для данных старше окна актуальности. |
| summary.invalid | number | count | Число ячеек «биржа × семейство» со статусом `invalid`. |
| summary.unavailable | number | — | Элементы, по которым нет данных, с указанием причин. Никогда не сообщаются как 0. |
| sources | array | — | Источники данных. |
| sources[] | object | — | Источники данных. |
| sources[].exchange | string | — | Идентификатор биржи в нижнем регистре (например, `binance`). |
| sources[].family | string | — | Семейство данных задания сборщика, к которому относится запись о состоянии, например `oi`, `funding`, `ticker`. |
| sources[].endpoint | string | — | Метка отслеживаемого вызова внешнего источника: хост и путь опрашиваемого публичного API либо название внутренней проверки. |
| sources[].ok | boolean | — | false, если последняя попытка завершилась ошибкой, то есть последняя ошибка новее последнего успеха. |
| sources[].last_ok_age_s | number|null | s | Число секунд с события. |
| sources[].last_err_age_s | number|null | s | Число секунд с события. |
| sources[].last_status | number | — | HTTP-статус последнего вызова. |
| sources[].last_error | string|null | — | Текст ошибки последнего сбоя, обрезанный до 160 символов; null, если ничего не записано. |
| sources[].last_ms | number | ms | Длительность последнего вызова; null, если она не измерялась. |
| sources[].fail_streak | number | count | Число неудачных вызовов подряд на данный момент; 0 после успешного вызова. |
| sources[].ok_count | number | count | Успешные вызовы, записанные в журнале состояния. |
| sources[].err_count | number | count | Неудачные вызовы, записанные в журнале состояния. |
| sources[].http_429 | number | count | Неудачные вызовы с ответом HTTP 429 (превышен лимит запросов). |
| sources[].http_403 | number | count | Неудачные вызовы с ответом HTTP 403 (доступ запрещён). |
| sources[].http_5xx | number | count | Неудачные вызовы с ответом со статусом HTTP 5xx. |
| sources[].timeouts | number | count | Неудачные вызовы, завершившиеся по тайм-ауту. |
| errors | object | — | Словарь «идентификатор семейства → сообщение об ошибке» для семейств, у которых не удалась сама проверка; пуст, если все проверки выполнены. |
| alerts | array | — | Оповещения патруля качества данных, которые открыты или были закрыты за последние 24 часа; сначала открытые (не более 200). |
| alerts[] | object | — | Одно оповещение: `level`, `exchange`, `family`, `code`, `detail`, время открытия / последнего наблюдения / закрытия, `hits` и `open`. |
| alerts[].level | string | — | Уровень. |
| alerts[].exchange | string | — | Идентификатор биржи в нижнем регистре (например, `binance`). |
| alerts[].family | string | — | Семейство данных, к которому относится оповещение. |
| alerts[].code | string | — | Код. |
| alerts[].detail | string | — | Сведения. |
| alerts[].opened_at | number | ms | Метка времени. |
| alerts[].last_seen_at | number | ms | Метка времени. |
| alerts[].resolved_at | number|null | ms | Метка времени. |
| alerts[].hits | number | count | Число запусков патруля (один каждые 5 минут), зафиксировавших это условие с момента открытия оповещения. |
| alerts[].open | boolean | — | Цена открытия периода. |
| monitor | object | — | Состояние самого мониторинга: возраст последнего запуска патруля, возраст сигнала активности сборщика и `patrol_ok`. |
| monitor.alert_job_age_s | number | s | Число секунд с события. |
| monitor.collector_heartbeat_age_s | number | s | Число секунд с события. |
| monitor.patrol_ok | boolean | — | true, если патруль запускался в последние 15 минут; при false список `alerts` может быть устаревшим. |
| legend | object | — | Текстовое определение каждого статуса ячейки. |
| legend.fresh | string | — | Определение статуса `fresh`. |
| legend.partial | string | — | true, если присутствует только часть ожидаемых данных. |
| legend.stale | string | — | Строки или флаг для данных старше окна актуальности. |
| legend.invalid | string | — | Определение статуса `invalid`. |
| legend.unavailable | string | — | Элементы, по которым нет данных, с указанием причин. Никогда не сообщаются как 0. |
Сформировано 2026-11-11 23:01 UTC; использовано реальных ответов: 1.
Пример ответа
/api/sd/quality · Реальный ответ, получен 2026-11-13 03:59:27 UTC. Длинные массивы и словари сокращены для отображения: alerts: элементов было 3; matrix: элементов было 29; sources: элементов было 262; exchanges: элементов было 29.
- "success"true
- "now"1794542357043
- "families"
- "ticker"
- "oi"
- "funding"
- "funding_settle"
- "liquidation"
- "ls"
- "spot"
- "sd_contracts"
- "exchanges"
- "aster"
- "backpack"
- "binance"
- "bingx"
- "bitfinex"
- "bitget"
- "bitstamp"
- "bitunix"
- "matrix"
- "aster"
- "backpack"
- "summary"
- "fresh"123
- "partial"7
- "stale"1
- "invalid"0
- "unavailable"101
- "sources"
- "errors"
- "alerts"
- "monitor"
- "alert_job_age_s"20
- "collector_heartbeat_age_s"17
- "patrol_ok"true
- "legend"
- "fresh""data timestamps within the fresh window"
- "partial""some rows outside the fresh window or missing a required field"
- "stale""no row within the fresh window (dead=true: also outside the usable window, excluded from aggregates)"
- "invalid""more than half of usable rows fail sanity checks"
- "unavailable""no public source or not collected; shown as —, never 0"
Сведения
- Аутентификация
- Не требуется. Публичный эндпоинт.
- Лимит запросов
- 1200 запросов в минуту на один IP
- Серверный кеш
- 20s
- Пограничный микрокеш
- 10s
- Частота обновления
- матрица рассчитывается при запросе (мемоизация в процессе на 20 s); задание оповещений — раз в 5 min
- Окно
- последнее состояние; оповещения, открытые или закрытые за последние 24 h
- Источники данных
- Матрица актуальности данных (биржа x семейство данных): собственный расчёт по меткам времени таблиц, собранных самим CoinBoss.
- Покрытие бирж
- все площадки, присутствующие хотя бы в одном собираемом семействе; отсутствующие источники сообщаются как недоступные с указанием причины
- Пагинация
- не более 200 оповещений
- Единицы измерения
- status per cell: fresh | partial | stale | invalid | unavailable; ages in seconds
- Метод расчёта
- fresh = >= 90% of live rows inside the family's freshness window (tickers 5 min, OI 15 min / cme 36 h, funding 15 min, long/short 90 min); liquidation feeds judged by WebSocket heartbeat or time since last event; funding settlements fresh within 9 h; spot snapshots within 30 min
- Метки времени
- Миллисекунды эпохи Unix (UTC), если в описании поля не указано иное
- Формат ответа
- json
- Стабильность
- Стабильный
- Доступен с
- 2026-11-11
Текущий статус
Доступность за последние 30 дней
Пройдено 100% из 408 проверок
- Возвращается, но не документировано: matrix.{*}.{*}.rows_unknown_interval, matrix.{*}.{*}.rows_no_next_time, matrix.{*}.{*}.rows_no_liveness, matrix.{*}.{*}.symbols, matrix.{*}.{*}.history_from, matrix.{*}.{*}.via, matrix.{*}.{*}.last_event_age_s, matrix.{*}.{*}.events_1h, matrix.{*}.{*}.events_24h, matrix.{*}.{*}.ws_heartbeat_age_s, matrix.{*}.{*}.judged_by, matrix.{*}.{*}.idle_ok_s
Ошибки
Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →
| Код | 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. | Зависит от сообщения; считайте запрос неудачным. |
Попробовать
/api/sd/qualityДоступенПараметров нет.
https://www.coinboss.com/api/sd/qualityДругие эндпоинты этой категории
- Матрица качества данных (представление коллекторов) /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
- Соответствие идентификатора биржи пути к локально размещённой иконке /api/exchange-icons
- Проверка работоспособности /api/health
- Статистика для страниц исследований /api/research/stats