/api/meta/catalog
GETDisponibleFRESH

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.

GET/api/meta/catalog

Solicitud

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.

CampoTipoUnidadDescripción
successboolean—true cuando la solicitud se completó correctamente. En caso de fallo, el cuerpo es `{ success: false, code, error, request_id }`.
schemastring—Id del esquema de esta respuesta (`coinboss.meta.catalog/1`).
nownumbermsHora del servidor en el momento de generar la respuesta.
api_versionstring—Versión de la API pública (`v1`).
catalog_versionstring—Versión del catálogo de endpoints, una fecha de publicación como `2026.11.11`.
base_pathstring—Prefijo de ruta común a todos los endpoints (`/api`).
summaryobject—Bloque de resumen.
summary.totalnumber—Total.
summary.availablenumber—Indica si hay datos disponibles.
summary.partialnumber—true cuando solo está presente una parte de los datos esperados.
summary.degradednumbercountNúmero de endpoints cuyo estado en vivo es `degraded`.
summary.downnumbercountNúmero de endpoints cuyo estado en vivo es `down`.
summary.unavailablenumber—Elementos para los que no hay datos disponibles, con sus motivos. Nunca se informan como 0.
summary.unknownnumbercountNúmero de endpoints cuyo estado en vivo es `unknown` (sin resultado reciente de la sonda).
probeobject—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_atnumbermsMarca de tiempo.
probe.age_snumbersSegundos transcurridos desde la última actualización de esta fila.
probe.interval_snumbersIntervalo previsto entre dos ejecuciones de la sonda (300).
probe.freshboolean—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.errornull—Mensaje de error (presente solo en caso de fallo).
categoriesarray—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[].idstring—Identificador.
categories[].titlestring—Título para mostrar de la categoría.
categories[].descstring—Descripción de la categoría en una frase; null cuando no hay ninguna escrita.
categories[].totalnumber—Total.
categories[].availablenumber—Indica si hay datos disponibles.
categories[].partialnumber—true cuando solo está presente una parte de los datos esperados.
categories[].degradednumbercountNúmero de endpoints de la categoría cuyo estado en vivo es `degraded`.
categories[].downnumbercountNúmero de endpoints de la categoría cuyo estado en vivo es `down`.
categories[].unavailablenumber—Elementos para los que no hay datos disponibles, con sus motivos. Nunca se informan como 0.
categories[].unknownnumbercountNúmero de endpoints de la categoría cuyo estado en vivo es `unknown`.
endpointsarray—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[].idstring—Identificador.
endpoints[].catstring—Id de la categoría a la que pertenece el endpoint.
endpoints[].kindstring—Clase.
endpoints[].methodstring—Notas sobre la fórmula / el método.
endpoints[].pathstring—Ruta de solicitud del endpoint; los segmentos `:name` son parámetros de ruta.
endpoints[].titlestring—Título breve para mostrar del endpoint.
endpoints[].summarystring—Bloque de resumen.
endpoints[].declaredstring—Estado declarado en el catálogo, independiente de la sonda: `available`, `partial` o `unavailable`.
endpoints[].statusstring—Estado.
endpoints[].status_reasonstring|null—Motivo por el que `status` no es `available`, en texto plano; null cuando lo es.
endpoints[].stabilitystring—`stable`, `beta` (el conjunto de campos puede cambiar sin el preaviso de 90 días) o `legacy` (sigue funcionando y existe un reemplazo).
endpoints[].sincestring|null—Inicio del periodo.
endpoints[].ttl_snumber|nullsDuració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[].paramsarray—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[].requiredarray—Nombres de los parámetros que deben enviarse. vacío en las muestras usadas para generar esta tabla
endpoints[].probeobject—Ú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_atnumbermsMarca de tiempo.
endpoints[].probe.httpnumber—Estado HTTP de la solicitud de sonda más reciente.
endpoints[].probe.okboolean—`true` cuando la solicitud de sonda más reciente devolvió HTTP 200 con un cuerpo JSON válido.
endpoints[].probe.schema_okboolean—`true` cuando la respuesta sondeada coincidió con la tabla de campos documentada; `null` cuando no existe ninguna tabla de campos.
endpoints[].probe.latency_msnumbermsTiempo de respuesta de la solicitud de sonda más reciente.
endpoints[].probe.bytesnumberbytesTamaño del cuerpo de la respuesta sondeada.
endpoints[].probe.qualitynull—`meta.quality` indicado por la respuesta sondeada (FRESH / PARTIAL / STALE …); `null` cuando el endpoint no lo indica.
endpoints[].probe.data_age_snumber|nullsSegundos transcurridos desde el evento.
endpoints[].probe.last_ok_atnumbermsMarca de tiempo.
endpoints[].probe.fail_streaknumbercountNúmero de sondeos fallidos consecutivos; 0 cuando el último sondeo tuvo éxito.
endpoints[].required[]string—Un nombre de parámetro obligatorio.
rate_limitobject—Reglas del límite de solicitudes de la API pública.
rate_limit.window_snumbersDuración de la ventana de recuento (60).
rate_limit.anonymous_per_minnumbercountSolicitudes por minuto permitidas por IP de cliente cuando no se envía ninguna clave de API.
rate_limit.scopestring—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_minobject—Solicitudes por minuto permitidas para cada nivel de clave de API, con el nombre del nivel como clave.
rate_limit.key_tiers_per_min.hobbyistnumbercountSolicitudes por minuto para las claves del nivel `hobbyist`.
rate_limit.key_tiers_per_min.startupnumbercountSolicitudes por minuto para las claves del nivel `startup`.
rate_limit.key_tiers_per_min.standardnumbercountSolicitudes por minuto para las claves del nivel `standard`.
rate_limit.key_tiers_per_min.professionalnumbercountSolicitudes por minuto para las claves del nivel `professional`.
rate_limit.exemptarray—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.headersarray—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_exceedobject—Lo que se devuelve cuando se supera el límite: estado `http` y `code` de error.
rate_limit.on_exceed.httpnumber—Estado HTTP devuelto cuando se supera el límite (429).
rate_limit.on_exceed.codestring—Código.
errorsarray—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[].codestring—Código.
errors[].httpnumber|string—Estado HTTP enviado con este código; una cadena como `501 / 503` cuando corresponde más de uno.
errors[].meaningstring—Qué significa el error.
errors[].retrystring—Recomendación sobre si conviene reintentar y cómo hacerlo.
errors[].legacyboolean—Presente y true solo en el código utilizado por los endpoints antiguos que responden HTTP 200 con `success: false`. puede faltar
status_legendobject—Definición en texto plano de cada estado de endpoint.
status_legend.availablestring—Indica si hay datos disponibles.
status_legend.partialstring—true cuando solo está presente una parte de los datos esperados.
status_legend.degradedstring—Definición del estado `degraded`.
status_legend.downstring—Definición del estado `down`.
status_legend.unavailablestring—Elementos para los que no hay datos disponibles, con sus motivos. Nunca se informan como 0.
status_legend.unknownstring—Definición del estado `unknown`.
metaobject—Envoltorio de esta respuesta: id del esquema, sistema que la produce, marcas de tiempo, duración de la caché y frescura.
meta.schemastring—Id del esquema de esta respuesta; el mismo valor que el `schema` de nivel superior.
meta.sourcearray—De dónde procede el valor.
meta.source[]object—De dónde procede el valor.
meta.source[].systemstring—Sistema que produjo los datos; siempre `coinboss` en los endpoints del centro de desarrolladores.
meta.source[].componentstring—Componente del que proceden los datos: la sonda de endpoints y la patrulla de calidad de datos.
meta.observed_atnull—Marca de tiempo.
meta.received_atnumbermsMarca de tiempo.
meta.fetched_atnumbermsCuándo obtuvo CoinBoss los datos de la fuente.
meta.windowstring—Ventana.
meta.cache_ttl_snumbersDuración de la caché del lado del servidor para esta respuesta.
meta.qualitystring—`FRESH` cuando la sonda de endpoints informó en los últimos 20 minutos; en caso contrario, `STALE`.
meta.is_staleboolean—true cuando la fila es más antigua que la ventana de frescura; las filas desactualizadas no se usan en los totales.
meta.fallbackstring—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": [
      • { … 10 },
      • { … 10 }
      ],
    • "endpoints": [
      • { … 16 },
      • { … 16 }
      ],
    • "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": { … 4 },
      • "exempt": [ … 1 ],
      • "headers": [ … 4 ],
      • "on_exceed": { … 2 }
      },
    • "errors": [
      • { … 4 },
      • { … 4 }
      ],
    • "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": [ … 1 ],
      • "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

DisponibleComprobado 2026-11-13 03:53:45 UTCHTTP 2006 msEl esquema coincideAntigüedad del dato más reciente: 5m

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ódigoHTTPSignificadoQué hacer
INVALID_PARAM400Falta 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.
UNAUTHORIZED401Se 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.
FORBIDDEN403La ruta no forma parte de la API pública (interna o solo para cuentas).No reintente.
NOT_FOUND404Ruta desconocida, o la moneda / el exchange / el fondo solicitado no existe.No reintente; compruebe la ruta y los identificadores en el catálogo.
RATE_LIMITED429Má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.
INTERNAL500Error 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_FAILED503La 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.
UNAVAILABLE501 / 503El 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_FAILED200Algunos 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

GET/api/meta/catalogDisponible
Parámetros

Sin parámetros.

URL de la solicitudhttps://www.coinboss.com/api/meta/catalog
Elija un endpoint y pulse «Enviar solicitud». Aquí aparecerán la respuesta, las cabeceras y los tiempos.