Catálogo de la API
Todos los endpoints públicos con su categoría, estado declarado y estado en vivo, TTL de caché y último resultado de la sonda, además de los límites de solicitudes y la tabla de códigos de error.
/api/meta/catalogSolicitud
Este endpoint no admite parámetros.
Solicitud de ejemplo
curl -s "https://www.coinboss.com/api/meta/catalog"Campos de la respuesta
La tabla de campos se genera a partir de respuestas reales, por lo que recoge exactamente lo que devuelve el endpoint. Las rutas usan a[] para los elementos de un array y {*} para los objetos cuya clave es un nombre dinámico, como una moneda o un exchange.
| Campo | Tipo | Unidad | Descripción |
|---|---|---|---|
| success | boolean | — | true cuando la solicitud se completó correctamente. En caso de fallo, el cuerpo es `{ success: false, code, error, request_id }`. |
| schema | string | — | Id del esquema de esta respuesta (`coinboss.meta.catalog/1`). |
| now | number | ms | Hora del servidor en el momento de generar la respuesta. |
| api_version | string | — | Versión de la API pública (`v1`). |
| catalog_version | string | — | Versión del catálogo de endpoints, una fecha de publicación como `2026.11.11`. |
| base_path | string | — | Prefijo de ruta común a todos los endpoints (`/api`). |
| summary | object | — | Bloque de resumen. |
| summary.total | number | — | Total. |
| summary.available | number | — | Indica si hay datos disponibles. |
| summary.partial | number | — | true cuando solo está presente una parte de los datos esperados. |
| summary.degraded | number | count | Número de endpoints cuyo estado en vivo es `degraded`. |
| summary.down | number | count | Número de endpoints cuyo estado en vivo es `down`. |
| summary.unavailable | number | — | Elementos para los que no hay datos disponibles, con sus motivos. Nunca se informan como 0. |
| summary.unknown | number | count | Número de endpoints cuyo estado en vivo es `unknown` (sin resultado reciente de la sonda). |
| probe | object | — | Estado de la sonda de endpoints en la que se basan los estados en vivo: hora de la última ejecución, su antigüedad, el intervalo y si es fresca. |
| probe.last_run_at | number | ms | Marca de tiempo. |
| probe.age_s | number | s | Segundos transcurridos desde la última actualización de esta fila. |
| probe.interval_s | number | s | Intervalo previsto entre dos ejecuciones de la sonda (300). |
| probe.fresh | boolean | — | true cuando la última ejecución de la sonda tiene menos de 20 minutos; cuando es false, los estados de los endpoints se notifican como `unknown`. |
| probe.error | null | — | Mensaje de error (presente solo en caso de fallo). |
| categories | array | — | Categorías de endpoints que contienen al menos un endpoint, con recuentos de endpoints por estado. |
| categories[] | object | — | Una categoría: `id`, `title`, `desc` y el número de sus endpoints en cada estado. |
| categories[].id | string | — | Identificador. |
| categories[].title | string | — | Título para mostrar de la categoría. |
| categories[].desc | string | — | Descripción de la categoría en una frase; null cuando no hay ninguna escrita. |
| categories[].total | number | — | Total. |
| categories[].available | number | — | Indica si hay datos disponibles. |
| categories[].partial | number | — | true cuando solo está presente una parte de los datos esperados. |
| categories[].degraded | number | count | Número de endpoints de la categoría cuyo estado en vivo es `degraded`. |
| categories[].down | number | count | Número de endpoints de la categoría cuyo estado en vivo es `down`. |
| categories[].unavailable | number | — | Elementos para los que no hay datos disponibles, con sus motivos. Nunca se informan como 0. |
| categories[].unknown | number | count | Número de endpoints de la categoría cuyo estado en vivo es `unknown`. |
| endpoints | array | — | Todos los endpoints documentados con su estado en vivo. |
| endpoints[] | object | — | Un endpoint: identidad, ruta, estado declarado y en vivo, duración de la caché, nombres de los parámetros y el último resultado de la sonda. |
| endpoints[].id | string | — | Identificador. |
| endpoints[].cat | string | — | Id de la categoría a la que pertenece el endpoint. |
| endpoints[].kind | string | — | Clase. |
| endpoints[].method | string | — | Notas sobre la fórmula / el método. |
| endpoints[].path | string | — | Ruta de solicitud del endpoint; los segmentos `:name` son parámetros de ruta. |
| endpoints[].title | string | — | Título breve para mostrar del endpoint. |
| endpoints[].summary | string | — | Bloque de resumen. |
| endpoints[].declared | string | — | Estado declarado en el catálogo, independiente de la sonda: `available`, `partial` o `unavailable`. |
| endpoints[].status | string | — | Estado. |
| endpoints[].status_reason | string|null | — | Motivo por el que `status` no es `available`, en texto plano; null cuando lo es. |
| endpoints[].stability | string | — | `stable`, `beta` (el conjunto de campos puede cambiar sin el preaviso de 90 días) o `legacy` (sigue funcionando y existe un reemplazo). |
| endpoints[].since | string|null | — | Inicio del periodo. |
| endpoints[].ttl_s | number|null | s | Duración de la caché del lado del servidor para las respuestas del endpoint; null cuando no se almacena en caché o no es aplicable. |
| endpoints[].params | array | — | Nombres de todos los parámetros que acepta el endpoint. vacío en las muestras usadas para generar esta tabla |
| endpoints[].params[] | string | — | Un nombre de parámetro. |
| endpoints[].required | array | — | Nombres de los parámetros que deben enviarse. vacío en las muestras usadas para generar esta tabla |
| endpoints[].probe | object | — | Último resultado de la sonda del endpoint: hora de la comprobación, estado HTTP, `ok`, `schema_ok`, latencia, tamaño, antigüedad de los datos, último éxito y racha de fallos; null cuando nunca se ha sondeado. |
| endpoints[].probe.checked_at | number | ms | Marca de tiempo. |
| endpoints[].probe.http | number | — | Estado HTTP de la solicitud de sonda más reciente. |
| endpoints[].probe.ok | boolean | — | `true` cuando la solicitud de sonda más reciente devolvió HTTP 200 con un cuerpo JSON válido. |
| endpoints[].probe.schema_ok | boolean | — | `true` cuando la respuesta sondeada coincidió con la tabla de campos documentada; `null` cuando no existe ninguna tabla de campos. |
| endpoints[].probe.latency_ms | number | ms | Tiempo de respuesta de la solicitud de sonda más reciente. |
| endpoints[].probe.bytes | number | bytes | Tamaño del cuerpo de la respuesta sondeada. |
| endpoints[].probe.quality | null | — | `meta.quality` indicado por la respuesta sondeada (FRESH / PARTIAL / STALE …); `null` cuando el endpoint no lo indica. |
| endpoints[].probe.data_age_s | number|null | s | Segundos transcurridos desde el evento. |
| endpoints[].probe.last_ok_at | number | ms | Marca de tiempo. |
| endpoints[].probe.fail_streak | number | count | Número de sondeos fallidos consecutivos; 0 cuando el último sondeo tuvo éxito. |
| endpoints[].required[] | string | — | Un nombre de parámetro obligatorio. |
| rate_limit | object | — | Reglas del límite de solicitudes de la API pública. |
| rate_limit.window_s | number | s | Duración de la ventana de recuento (60). |
| rate_limit.anonymous_per_min | number | count | Solicitudes por minuto permitidas por IP de cliente cuando no se envía ninguna clave de API. |
| rate_limit.scope | string | — | Texto que indica cómo se cuentan las solicitudes: por IP de cliente cuando son anónimas, por clave cuando se envía una cabecera `CB-API-KEY`. |
| rate_limit.key_tiers_per_min | object | — | Solicitudes por minuto permitidas para cada nivel de clave de API, con el nombre del nivel como clave. |
| rate_limit.key_tiers_per_min.hobbyist | number | count | Solicitudes por minuto para las claves del nivel `hobbyist`. |
| rate_limit.key_tiers_per_min.startup | number | count | Solicitudes por minuto para las claves del nivel `startup`. |
| rate_limit.key_tiers_per_min.standard | number | count | Solicitudes por minuto para las claves del nivel `standard`. |
| rate_limit.key_tiers_per_min.professional | number | count | Solicitudes por minuto para las claves del nivel `professional`. |
| rate_limit.exempt | array | — | Patrones de ruta que no se cuentan para el límite. |
| rate_limit.exempt[] | string | — | Un patrón de ruta exento, por ejemplo `/api/coin-icon/*`. |
| rate_limit.headers | array | — | Nombres de las cabeceras de respuesta que informan del estado del límite de solicitudes. |
| rate_limit.headers[] | string | — | Un nombre de cabecera, por ejemplo `X-RateLimit-Remaining`. |
| rate_limit.on_exceed | object | — | Lo que se devuelve cuando se supera el límite: estado `http` y `code` de error. |
| rate_limit.on_exceed.http | number | — | Estado HTTP devuelto cuando se supera el límite (429). |
| rate_limit.on_exceed.code | string | — | Código. |
| errors | array | — | Códigos de error que puede devolver la API, cada uno con su estado HTTP, su significado y una recomendación de reintento. |
| errors[] | object | — | Un código de error. |
| errors[].code | string | — | Código. |
| errors[].http | number|string | — | Estado HTTP enviado con este código; una cadena como `501 / 503` cuando corresponde más de uno. |
| errors[].meaning | string | — | Qué significa el error. |
| errors[].retry | string | — | Recomendación sobre si conviene reintentar y cómo hacerlo. |
| errors[].legacy | boolean | — | Presente y true solo en el código utilizado por los endpoints antiguos que responden HTTP 200 con `success: false`. puede faltar |
| status_legend | object | — | Definición en texto plano de cada estado de endpoint. |
| status_legend.available | string | — | Indica si hay datos disponibles. |
| status_legend.partial | string | — | true cuando solo está presente una parte de los datos esperados. |
| status_legend.degraded | string | — | Definición del estado `degraded`. |
| status_legend.down | string | — | Definición del estado `down`. |
| status_legend.unavailable | string | — | Elementos para los que no hay datos disponibles, con sus motivos. Nunca se informan como 0. |
| status_legend.unknown | string | — | Definición del estado `unknown`. |
| meta | object | — | Envoltorio de esta respuesta: id del esquema, sistema que la produce, marcas de tiempo, duración de la caché y frescura. |
| meta.schema | string | — | Id del esquema de esta respuesta; el mismo valor que el `schema` de nivel superior. |
| meta.source | array | — | De dónde procede el valor. |
| meta.source[] | object | — | De dónde procede el valor. |
| meta.source[].system | string | — | Sistema que produjo los datos; siempre `coinboss` en los endpoints del centro de desarrolladores. |
| meta.source[].component | string | — | Componente del que proceden los datos: la sonda de endpoints y la patrulla de calidad de datos. |
| meta.observed_at | null | — | Marca de tiempo. |
| meta.received_at | number | ms | Marca de tiempo. |
| meta.fetched_at | number | ms | Cuándo obtuvo CoinBoss los datos de la fuente. |
| meta.window | string | — | Ventana. |
| meta.cache_ttl_s | number | s | Duración de la caché del lado del servidor para esta respuesta. |
| meta.quality | string | — | `FRESH` cuando la sonda de endpoints informó en los últimos 20 minutos; en caso contrario, `STALE`. |
| meta.is_stale | boolean | — | true cuando la fila es más antigua que la ventana de frescura; las filas desactualizadas no se usan en los totales. |
| meta.fallback | string | — | Nota en texto plano sobre lo que devuelve este endpoint cuando sus datos de entrada están desactualizados o faltan. |
Generada 2026-11-11 23:01 UTC a partir de 1 respuestas reales.
Respuesta de ejemplo
/api/meta/catalog · Respuesta real capturada 2026-11-13 03:53:45 UTC. Los arrays y mapas largos se abrevian para su visualización: errors tenía 9 elementos; endpoints tenía 299 elementos; categories tenía 21 elementos.
- "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\""
Detalles
- Autenticación
- Ninguna. Endpoint público.
- Límite de solicitudes
- 1200 solicitudes por minuto por IP
- Caché del servidor
- 30s
- Microcaché de borde
- 10s
- Frecuencia de actualización
- Se reconstruye bajo demanda a partir del archivo del catálogo y de los últimos resultados de la sonda (la sonda se ejecuta cada 5 minutos).
- Fuentes de datos
- Catálogo de endpoints de CoinBoss + sd_api_probe (resultados de llamadas reales hechas por la sonda de la API).
- Marcas de tiempo
- Milisegundos de época Unix (UTC), salvo que la descripción del campo indique otra cosa
- Formato de respuesta
- json
- Estabilidad
- Estable
- Disponible desde
- 2026-11-11
Estado en vivo
Disponibilidad, últimos 30 días
100% de 408 comprobaciones superadas
Errores
Las llamadas fallidas tienen la misma estructura en todos los endpoints. La lista completa está en la página de errores. Errores y límites de solicitudes →
| Código | HTTP | Significado | Qué hacer |
|---|---|---|---|
| INVALID_PARAM | 400 | Falta un parámetro obligatorio o un valor no se acepta. `param` indica el nombre del parámetro cuando se conoce. | No reintente sin cambios; corrija la solicitud. |
| UNAUTHORIZED | 401 | Se envió la cabecera `CB-API-KEY`, pero la clave es desconocida o está revocada. Los datos públicos no necesitan clave: elimine la cabecera o use una clave válida. | No reintente sin cambios. |
| FORBIDDEN | 403 | La ruta no forma parte de la API pública (interna o solo para cuentas). | No reintente. |
| NOT_FOUND | 404 | Ruta desconocida, o la moneda / el exchange / el fondo solicitado no existe. | No reintente; compruebe la ruta y los identificadores en el catálogo. |
| RATE_LIMITED | 429 | Más solicitudes que el límite por minuto. `Retry-After` indica los segundos de espera. | Espere el tiempo de `Retry-After` y después reintente con espera progresiva. |
| INTERNAL | 500 | Error inesperado del servidor. El mensaje es genérico por diseño; cite `request_id` al informar del error. | Reintente una vez tras unos segundos; si persiste, infórmelo con el ID de solicitud. |
| UPSTREAM_FAILED | 503 | La fuente de datos de este endpoint no respondió a tiempo. No se devuelven cifras desactualizadas ni sustitutas en su lugar. | Reintente con espera progresiva; consulte la página de estado. |
| UNAVAILABLE | 501 / 503 | El conjunto de datos no está listo temporalmente (calentamiento de la caché) o el endpoint aún no tiene una fuente pública lícita. | Reintente más tarde; el catálogo marca los endpoints que no están disponibles por diseño. |
| REQUEST_FAILED | 200 | Algunos endpoints antiguos responden HTTP 200 con `success: false`. Compruebe siempre `success`, no solo el estado HTTP. | Depende del mensaje; trátelo como una solicitud fallida. |
Pruébelo
/api/meta/catalogDisponibleSin parámetros.
https://www.coinboss.com/api/meta/catalogMás en esta categoría
- Matriz de calidad de datos (vista del recolector) /api/sd/quality
- Catálogo de la API /api/meta/catalog
- Registro de cambios y política de versionado /api/meta/changelog
- Documentación de un endpoint /api/meta/endpoint
- Documento OpenAPI /api/meta/openapi
- Matriz de calidad de datos /api/meta/quality
- Estado del servicio /api/meta/status
- Comprueba si la plataforma conoce un símbolo de moneda /api/coin-exists
- Mapa de símbolo de moneda a ruta del icono alojado localmente /api/coin-icons
- Resumen agregado de la página de moneda /api/content/coin
- Resumen de secciones de todo el sitio /api/content/summary
- Tabla de tipos de cambio fiat /api/currency/fx
- Mapa de id de exchange a ruta del icono alojado localmente /api/exchange-icons
- Comprobación de actividad /api/health
- Estadísticas de la página de investigación /api/research/stats