Каталог API
Все публичные эндпоинты с категорией, заявленным и текущим статусом, TTL кеша и результатом последней автопроверки, а также лимиты запросов и таблица кодов ошибок.
/api/meta/catalogЗапрос
У этого эндпоинта нет параметров.
Пример запроса
curl -s "https://www.coinboss.com/api/meta/catalog"Поля ответа
Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.
| Поле | Тип | Единица | Описание |
|---|---|---|---|
| success | boolean | — | true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`. |
| schema | string | — | Идентификатор схемы этого ответа (`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 | — | true, если с последнего запуска проверки прошло менее 20 минут; при 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 | — | Идентификатор категории, к которой относится эндпоинт. |
| 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 | — | `true`, если последний проверочный запрос вернул HTTP 200 с корректным телом JSON. |
| 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 | Число запросов в минуту, разрешённое на один IP клиента, если API-ключ не передан. |
| 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 | — | Присутствует и равно true только для кода, используемого старыми эндпоинтами, которые отвечают HTTP 200 с `success: false`. может отсутствовать |
| 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 | — | Обёртка этого ответа: идентификатор схемы, система-источник, метки времени, время жизни кеша и актуальность. |
| meta.schema | string | — | Идентификатор схемы этого ответа; то же значение, что и `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 | — | `FRESH`, если проверка эндпоинтов отчиталась в последние 20 минут, иначе `STALE`. |
| meta.is_stale | boolean | — | true, если строка старше окна актуальности; устаревшие строки в итогах не используются. |
| meta.fallback | string | — | Текстовое пояснение того, что возвращает этот эндпоинт, когда его входные данные устарели или отсутствуют. |
Сформировано 2026-11-11 23:01 UTC; использовано реальных ответов: 1.
Пример ответа
/api/meta/catalog · Реальный ответ, получен 2026-11-13 03:59:27 UTC. Длинные массивы и словари сокращены для отображения: errors: элементов было 9; endpoints: элементов было 299; categories: элементов было 21.
- "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\""
Сведения
- Аутентификация
- Не требуется. Публичный эндпоинт.
- Лимит запросов
- 1200 запросов в минуту на один IP
- Серверный кеш
- 30s
- Пограничный микрокеш
- 10s
- Частота обновления
- Перестраивается при запросе из файла каталога и последних результатов автопроверки (автопроверка выполняется каждые 5 минут).
- Источники данных
- Каталог эндпоинтов CoinBoss + sd_api_probe (результаты реальных вызовов, выполненных автопроверкой API).
- Метки времени
- Миллисекунды эпохи Unix (UTC), если в описании поля не указано иное
- Формат ответа
- json
- Стабильность
- Стабильный
- Доступен с
- 2026-11-11
Текущий статус
Доступность за последние 30 дней
Пройдено 100% из 409 проверок
Ошибки
Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →
| Код | 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/meta/catalogДоступенПараметров нет.
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
- Соответствие идентификатора биржи пути к локально размещённой иконке /api/exchange-icons
- Проверка работоспособности /api/health
- Статистика для страниц исследований /api/research/stats