/api/meta/catalog
GETDisponibleFRESH

Catalogue de l'API

Tous les endpoints publics avec leur catégorie, leur statut déclaré et en direct, le TTL du cache et le dernier résultat de sonde, ainsi que les limites de requêtes et la table des codes d'erreur.

GET/api/meta/catalog

Requête

Cet endpoint n'accepte aucun paramètre.

Exemple de requête

curl -s "https://www.coinboss.com/api/meta/catalog"

Champs de la réponse

Le tableau des champs est généré à partir de réponses réelles : il liste donc exactement ce que renvoie l'endpoint. Les chemins utilisent a[] pour les éléments d'un tableau et {*} pour les objets indexés par un nom dynamique, comme une crypto ou une plateforme.

ChampTypeUnitéDescription
successboolean—true lorsque la requête a abouti. En cas d'échec, le corps est `{ success: false, code, error, request_id }`.
schemastring—Identifiant du schéma de cette réponse (`coinboss.meta.catalog/1`).
nownumbermsHeure du serveur au moment où la réponse a été construite.
api_versionstring—Version de l'API publique (`v1`).
catalog_versionstring—Version du catalogue des endpoints, une date de publication telle que `2026.11.11`.
base_pathstring—Préfixe de chemin commun à tous les endpoints (`/api`).
summaryobject—Bloc de synthèse.
summary.totalnumber—Total.
summary.availablenumber—Indique si des données sont disponibles.
summary.partialnumber—true lorsque seule une partie des données attendues est présente.
summary.degradednumbercountNombre d'endpoints dont le statut en direct est `degraded`.
summary.downnumbercountNombre d'endpoints dont le statut en direct est `down`.
summary.unavailablenumber—Éléments pour lesquels aucune donnée n'est disponible, avec les raisons. Jamais déclarés comme 0.
summary.unknownnumbercountNombre d'endpoints dont le statut en direct est `unknown` (aucun résultat de sonde récent).
probeobject—État de la sonde des endpoints à l'origine des statuts en direct : heure de la dernière exécution, son âge, l'intervalle et le fait qu'elle soit à jour ou non.
probe.last_run_atnumbermsHorodatage.
probe.age_snumbersSecondes écoulées depuis la dernière mise à jour de cette ligne.
probe.interval_snumbersIntervalle prévu entre deux exécutions de la sonde (300).
probe.freshboolean—true lorsque la dernière exécution de la sonde date de moins de 20 minutes ; lorsqu'il vaut false, les statuts des endpoints sont indiqués comme `unknown`.
probe.errornull—Message d'erreur (présent uniquement en cas d'échec).
categoriesarray—Catégories d'endpoints contenant au moins un endpoint, avec le nombre d'endpoints par statut.
categories[]object—Une catégorie : `id`, `title`, `desc` et le nombre de ses endpoints dans chaque statut.
categories[].idstring—Identifiant.
categories[].titlestring—Titre d'affichage de la catégorie.
categories[].descstring—Description de la catégorie en une phrase ; null lorsqu'aucune n'est rédigée.
categories[].totalnumber—Total.
categories[].availablenumber—Indique si des données sont disponibles.
categories[].partialnumber—true lorsque seule une partie des données attendues est présente.
categories[].degradednumbercountNombre d'endpoints de la catégorie dont le statut en direct est `degraded`.
categories[].downnumbercountNombre d'endpoints de la catégorie dont le statut en direct est `down`.
categories[].unavailablenumber—Éléments pour lesquels aucune donnée n'est disponible, avec les raisons. Jamais déclarés comme 0.
categories[].unknownnumbercountNombre d'endpoints de la catégorie dont le statut en direct est `unknown`.
endpointsarray—Tous les endpoints documentés avec leur statut en direct.
endpoints[]object—Un endpoint : identité, chemin, statut déclaré et statut en direct, durée de vie du cache, noms des paramètres et dernier résultat de la sonde.
endpoints[].idstring—Identifiant.
endpoints[].catstring—Identifiant de la catégorie à laquelle appartient l'endpoint.
endpoints[].kindstring—Nature.
endpoints[].methodstring—Notes sur la formule / la méthode.
endpoints[].pathstring—Chemin de requête de l'endpoint ; les segments `:name` sont des paramètres de chemin.
endpoints[].titlestring—Titre d'affichage court de l'endpoint.
endpoints[].summarystring—Bloc de synthèse.
endpoints[].declaredstring—Statut déclaré dans le catalogue, indépendamment de la sonde : `available`, `partial` ou `unavailable`.
endpoints[].statusstring—Statut.
endpoints[].status_reasonstring|null—Raison pour laquelle `status` n'est pas `available`, en texte brut ; null lorsqu'il l'est.
endpoints[].stabilitystring—`stable`, `beta` (l'ensemble des champs peut changer sans le préavis de 90 jours) ou `legacy` (maintenu en fonctionnement, un remplacement existe).
endpoints[].sincestring|null—Début de la période.
endpoints[].ttl_snumber|nullsDurée de vie du cache côté serveur des réponses de l'endpoint ; null lorsqu'il n'est pas mis en cache ou sans objet.
endpoints[].paramsarray—Noms de tous les paramètres acceptés par l'endpoint. vide dans les échantillons ayant servi à générer ce tableau
endpoints[].params[]string—Un nom de paramètre.
endpoints[].requiredarray—Noms des paramètres qui doivent être envoyés. vide dans les échantillons ayant servi à générer ce tableau
endpoints[].probeobject—Dernier résultat de la sonde pour l'endpoint : heure du contrôle, statut HTTP, `ok`, `schema_ok`, latence, taille, âge des données, dernier succès et série d'échecs ; null s'il n'a jamais été sondé.
endpoints[].probe.checked_atnumbermsHorodatage.
endpoints[].probe.httpnumber—Statut HTTP de la requête de sonde la plus récente.
endpoints[].probe.okboolean—`true` lorsque la requête de sonde la plus récente a renvoyé un HTTP 200 avec un corps JSON valide.
endpoints[].probe.schema_okboolean—`true` lorsque la réponse sondée correspondait à la table des champs documentée ; `null` lorsqu'aucune table des champs n'existe.
endpoints[].probe.latency_msnumbermsTemps de réponse de la requête de sonde la plus récente.
endpoints[].probe.bytesnumberbytesTaille du corps de la réponse sondée.
endpoints[].probe.qualitynull—`meta.quality` indiqué par la réponse sondée (FRESH / PARTIAL / STALE …) ; `null` lorsque l'endpoint ne l'indique pas.
endpoints[].probe.data_age_snumber|nullsSecondes écoulées depuis l'événement.
endpoints[].probe.last_ok_atnumbermsHorodatage.
endpoints[].probe.fail_streaknumbercountNombre de sondes en échec consécutives ; 0 lorsque la dernière sonde a réussi.
endpoints[].required[]string—Un nom de paramètre obligatoire.
rate_limitobject—Règles de limite de requêtes de l'API publique.
rate_limit.window_snumbersDurée de la fenêtre de comptage (60).
rate_limit.anonymous_per_minnumbercountRequêtes par minute autorisées par IP cliente lorsqu'aucune clé API n'est envoyée.
rate_limit.scopestring—Texte indiquant comment les requêtes sont comptées : par IP cliente en mode anonyme, par clé lorsqu'un en-tête `CB-API-KEY` est envoyé.
rate_limit.key_tiers_per_minobject—Requêtes par minute autorisées pour chaque palier de clé API, indexées par nom de palier.
rate_limit.key_tiers_per_min.hobbyistnumbercountRequêtes par minute pour les clés du palier `hobbyist`.
rate_limit.key_tiers_per_min.startupnumbercountRequêtes par minute pour les clés du palier `startup`.
rate_limit.key_tiers_per_min.standardnumbercountRequêtes par minute pour les clés du palier `standard`.
rate_limit.key_tiers_per_min.professionalnumbercountRequêtes par minute pour les clés du palier `professional`.
rate_limit.exemptarray—Motifs de chemin qui ne sont pas décomptés de la limite.
rate_limit.exempt[]string—Un motif de chemin exempté, par exemple `/api/coin-icon/*`.
rate_limit.headersarray—Noms des en-têtes de réponse qui indiquent l'état de la limite de requêtes.
rate_limit.headers[]string—Un nom d'en-tête, par exemple `X-RateLimit-Remaining`.
rate_limit.on_exceedobject—Ce qui est renvoyé lorsque la limite est dépassée : statut `http` et `code` d'erreur.
rate_limit.on_exceed.httpnumber—Statut HTTP renvoyé lorsque la limite est dépassée (429).
rate_limit.on_exceed.codestring—Code.
errorsarray—Codes d'erreur que l'API peut renvoyer, chacun avec son statut HTTP, sa signification et un conseil de nouvelle tentative.
errors[]object—Un code d'erreur.
errors[].codestring—Code.
errors[].httpnumber|string—Statut HTTP envoyé avec ce code ; une chaîne telle que `501 / 503` lorsque plusieurs s'appliquent.
errors[].meaningstring—Signification de l'erreur.
errors[].retrystring—Conseil indiquant s'il faut réessayer et comment.
errors[].legacyboolean—Présent et égal à true uniquement pour le code utilisé par les anciens endpoints qui répondent en HTTP 200 avec `success: false`. peut être absent
status_legendobject—Définition en texte brut de chaque statut d'endpoint.
status_legend.availablestring—Indique si des données sont disponibles.
status_legend.partialstring—true lorsque seule une partie des données attendues est présente.
status_legend.degradedstring—Définition du statut `degraded`.
status_legend.downstring—Définition du statut `down`.
status_legend.unavailablestring—Éléments pour lesquels aucune donnée n'est disponible, avec les raisons. Jamais déclarés comme 0.
status_legend.unknownstring—Définition du statut `unknown`.
metaobject—Enveloppe de cette réponse : identifiant du schéma, système producteur, horodatages, durée de vie du cache et fraîcheur.
meta.schemastring—Identifiant du schéma de cette réponse ; même valeur que le `schema` de premier niveau.
meta.sourcearray—Provenance de la valeur.
meta.source[]object—Provenance de la valeur.
meta.source[].systemstring—Système qui a produit les données ; toujours `coinboss` pour les endpoints du centre développeurs.
meta.source[].componentstring—Composant à l'origine des données : la sonde des endpoints et la patrouille qualité des données.
meta.observed_atnull—Horodatage.
meta.received_atnumbermsHorodatage.
meta.fetched_atnumbermsMoment où CoinBoss a récupéré les données auprès de la source.
meta.windowstring—Fenêtre.
meta.cache_ttl_snumbersDurée de vie du cache côté serveur de cette réponse.
meta.qualitystring—`FRESH` lorsque la sonde des endpoints a rendu compte au cours des 20 dernières minutes, sinon `STALE`.
meta.is_staleboolean—true lorsque la ligne est plus ancienne que la fenêtre de fraîcheur ; les lignes périmées ne sont pas utilisées dans les totaux.
meta.fallbackstring—Note en texte brut sur ce que renvoie cet endpoint lorsque ses données d'entrée sont périmées ou manquantes.

Généré à partir de 1 réponses réelles (2026-11-11 23:01 UTC).

Exemple de réponse

/api/meta/catalog · Réponse réelle (capture : 2026-11-13 03:59:27 UTC). Les tableaux et dictionnaires longs sont abrégés pour l'affichage : errors comptait 9 éléments; endpoints comptait 299 éléments; categories comptait 21 éléments.

  • {
    • "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": [
      • { … 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": 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\""
      }
    }

Détails

Authentification
Aucune. Endpoint public.
Limite de requêtes
1200 requêtes par minute et par IP
Cache serveur
30s
Micro-cache en périphérie
10s
Fréquence de mise à jour
Reconstruit à la demande à partir du fichier de catalogue et des derniers résultats de sonde (la sonde s'exécute toutes les 5 minutes).
Sources de données
Catalogue des endpoints CoinBoss + sd_api_probe (résultats d'appels réels effectués par la sonde d'API).
Horodatages
Millisecondes depuis l'epoch Unix (UTC), sauf indication contraire dans la description du champ
Format de réponse
json
Stabilité
Stable
Disponible depuis
2026-11-11

Statut en direct

DisponibleVérifié : 2026-11-13 03:59:27 UTCHTTP 20010 msSchéma conformePoint de données le plus récent : il y a 6m

Disponibilité, 30 derniers jours

100 % des 409 contrôles réussis

Erreurs

Les appels en échec ont la même structure sur tous les endpoints. La liste complète figure sur la page des erreurs. Erreurs et limites de requêtes →

CodeHTTPSignificationQue faire
INVALID_PARAM400Un paramètre requis est manquant ou une valeur n'est pas acceptée. `param` indique le nom du paramètre lorsqu'il est connu.Ne réessayez pas à l'identique ; corrigez la requête.
UNAUTHORIZED401L'en-tête `CB-API-KEY` a été envoyé, mais la clé est inconnue ou révoquée. Les données publiques ne nécessitent aucune clé — supprimez l'en-tête ou utilisez une clé valide.Ne réessayez pas à l'identique.
FORBIDDEN403La route ne fait pas partie de l'API publique (interne ou réservée aux comptes).Ne réessayez pas.
NOT_FOUND404Route inconnue, ou la crypto / la plateforme / le fonds demandé n'existe pas.Ne réessayez pas ; vérifiez le chemin et les identifiants dans le catalogue.
RATE_LIMITED429Plus de requêtes que la limite par minute. `Retry-After` indique le nombre de secondes à attendre.Attendez la durée indiquée par `Retry-After`, puis réessayez avec backoff.
INTERNAL500Erreur serveur inattendue. Le message est volontairement générique ; citez `request_id` lorsque vous la signalez.Réessayez une fois après quelques secondes ; si l'erreur persiste, signalez-la avec l'ID de requête.
UPSTREAM_FAILED503La source de données derrière cet endpoint n'a pas répondu à temps. Aucun chiffre périmé ni de substitution n'est renvoyé à sa place.Réessayez avec backoff ; consultez la page de statut.
UNAVAILABLE501 / 503Le jeu de données n'est temporairement pas prêt (préchauffage du cache) ou l'endpoint n'a pas encore de source publique licite.Réessayez plus tard ; le catalogue signale les endpoints indisponibles par conception.
REQUEST_FAILED200Certains endpoints plus anciens répondent HTTP 200 avec `success: false`. Vérifiez toujours `success`, et pas seulement le statut HTTP.Dépend du message ; à traiter comme une requête en échec.

Essayer

GET/api/meta/catalogDisponible
Paramètres

Aucun paramètre.

URL de la requêtehttps://www.coinboss.com/api/meta/catalog
Choisissez un endpoint et cliquez sur « Envoyer la requête ». La réponse, les en-têtes et le temps de réponse s'afficheront ici.