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.
/api/meta/catalogRequê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.
| Champ | Type | Unité | Description |
|---|---|---|---|
| success | boolean | — | true lorsque la requête a abouti. En cas d'échec, le corps est `{ success: false, code, error, request_id }`. |
| schema | string | — | Identifiant du schéma de cette réponse (`coinboss.meta.catalog/1`). |
| now | number | ms | Heure du serveur au moment où la réponse a été construite. |
| api_version | string | — | Version de l'API publique (`v1`). |
| catalog_version | string | — | Version du catalogue des endpoints, une date de publication telle que `2026.11.11`. |
| base_path | string | — | Préfixe de chemin commun à tous les endpoints (`/api`). |
| summary | object | — | Bloc de synthèse. |
| summary.total | number | — | Total. |
| summary.available | number | — | Indique si des données sont disponibles. |
| summary.partial | number | — | true lorsque seule une partie des données attendues est présente. |
| summary.degraded | number | count | Nombre d'endpoints dont le statut en direct est `degraded`. |
| summary.down | number | count | Nombre d'endpoints dont le statut en direct est `down`. |
| summary.unavailable | number | — | Éléments pour lesquels aucune donnée n'est disponible, avec les raisons. Jamais déclarés comme 0. |
| summary.unknown | number | count | Nombre d'endpoints dont le statut en direct est `unknown` (aucun résultat de sonde récent). |
| probe | object | — | É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_at | number | ms | Horodatage. |
| probe.age_s | number | s | Secondes écoulées depuis la dernière mise à jour de cette ligne. |
| probe.interval_s | number | s | Intervalle prévu entre deux exécutions de la sonde (300). |
| probe.fresh | boolean | — | 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.error | null | — | Message d'erreur (présent uniquement en cas d'échec). |
| categories | array | — | 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[].id | string | — | Identifiant. |
| categories[].title | string | — | Titre d'affichage de la catégorie. |
| categories[].desc | string | — | Description de la catégorie en une phrase ; null lorsqu'aucune n'est rédigée. |
| categories[].total | number | — | Total. |
| categories[].available | number | — | Indique si des données sont disponibles. |
| categories[].partial | number | — | true lorsque seule une partie des données attendues est présente. |
| categories[].degraded | number | count | Nombre d'endpoints de la catégorie dont le statut en direct est `degraded`. |
| categories[].down | number | count | Nombre d'endpoints de la catégorie dont le statut en direct est `down`. |
| categories[].unavailable | number | — | Éléments pour lesquels aucune donnée n'est disponible, avec les raisons. Jamais déclarés comme 0. |
| categories[].unknown | number | count | Nombre d'endpoints de la catégorie dont le statut en direct est `unknown`. |
| endpoints | array | — | 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[].id | string | — | Identifiant. |
| endpoints[].cat | string | — | Identifiant de la catégorie à laquelle appartient l'endpoint. |
| endpoints[].kind | string | — | Nature. |
| endpoints[].method | string | — | Notes sur la formule / la méthode. |
| endpoints[].path | string | — | Chemin de requête de l'endpoint ; les segments `:name` sont des paramètres de chemin. |
| endpoints[].title | string | — | Titre d'affichage court de l'endpoint. |
| endpoints[].summary | string | — | Bloc de synthèse. |
| endpoints[].declared | string | — | Statut déclaré dans le catalogue, indépendamment de la sonde : `available`, `partial` ou `unavailable`. |
| endpoints[].status | string | — | Statut. |
| endpoints[].status_reason | string|null | — | Raison pour laquelle `status` n'est pas `available`, en texte brut ; null lorsqu'il l'est. |
| endpoints[].stability | string | — | `stable`, `beta` (l'ensemble des champs peut changer sans le préavis de 90 jours) ou `legacy` (maintenu en fonctionnement, un remplacement existe). |
| endpoints[].since | string|null | — | Début de la période. |
| endpoints[].ttl_s | number|null | s | Duré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[].params | array | — | 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[].required | array | — | Noms des paramètres qui doivent être envoyés. vide dans les échantillons ayant servi à générer ce tableau |
| endpoints[].probe | object | — | 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_at | number | ms | Horodatage. |
| endpoints[].probe.http | number | — | Statut HTTP de la requête de sonde la plus récente. |
| endpoints[].probe.ok | boolean | — | `true` lorsque la requête de sonde la plus récente a renvoyé un HTTP 200 avec un corps JSON valide. |
| endpoints[].probe.schema_ok | boolean | — | `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_ms | number | ms | Temps de réponse de la requête de sonde la plus récente. |
| endpoints[].probe.bytes | number | bytes | Taille du corps de la réponse sondée. |
| endpoints[].probe.quality | null | — | `meta.quality` indiqué par la réponse sondée (FRESH / PARTIAL / STALE …) ; `null` lorsque l'endpoint ne l'indique pas. |
| endpoints[].probe.data_age_s | number|null | s | Secondes écoulées depuis l'événement. |
| endpoints[].probe.last_ok_at | number | ms | Horodatage. |
| endpoints[].probe.fail_streak | number | count | Nombre 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_limit | object | — | Règles de limite de requêtes de l'API publique. |
| rate_limit.window_s | number | s | Durée de la fenêtre de comptage (60). |
| rate_limit.anonymous_per_min | number | count | Requêtes par minute autorisées par IP cliente lorsqu'aucune clé API n'est envoyée. |
| rate_limit.scope | string | — | 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_min | object | — | Requêtes par minute autorisées pour chaque palier de clé API, indexées par nom de palier. |
| rate_limit.key_tiers_per_min.hobbyist | number | count | Requêtes par minute pour les clés du palier `hobbyist`. |
| rate_limit.key_tiers_per_min.startup | number | count | Requêtes par minute pour les clés du palier `startup`. |
| rate_limit.key_tiers_per_min.standard | number | count | Requêtes par minute pour les clés du palier `standard`. |
| rate_limit.key_tiers_per_min.professional | number | count | Requêtes par minute pour les clés du palier `professional`. |
| rate_limit.exempt | array | — | 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.headers | array | — | 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_exceed | object | — | Ce qui est renvoyé lorsque la limite est dépassée : statut `http` et `code` d'erreur. |
| rate_limit.on_exceed.http | number | — | Statut HTTP renvoyé lorsque la limite est dépassée (429). |
| rate_limit.on_exceed.code | string | — | Code. |
| errors | array | — | 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[].code | string | — | Code. |
| errors[].http | number|string | — | Statut HTTP envoyé avec ce code ; une chaîne telle que `501 / 503` lorsque plusieurs s'appliquent. |
| errors[].meaning | string | — | Signification de l'erreur. |
| errors[].retry | string | — | Conseil indiquant s'il faut réessayer et comment. |
| errors[].legacy | boolean | — | 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_legend | object | — | Définition en texte brut de chaque statut d'endpoint. |
| status_legend.available | string | — | Indique si des données sont disponibles. |
| status_legend.partial | string | — | true lorsque seule une partie des données attendues est présente. |
| status_legend.degraded | string | — | Définition du statut `degraded`. |
| status_legend.down | string | — | Définition du statut `down`. |
| status_legend.unavailable | string | — | Éléments pour lesquels aucune donnée n'est disponible, avec les raisons. Jamais déclarés comme 0. |
| status_legend.unknown | string | — | Définition du statut `unknown`. |
| meta | object | — | Enveloppe de cette réponse : identifiant du schéma, système producteur, horodatages, durée de vie du cache et fraîcheur. |
| meta.schema | string | — | Identifiant du schéma de cette réponse ; même valeur que le `schema` de premier niveau. |
| meta.source | array | — | Provenance de la valeur. |
| meta.source[] | object | — | Provenance de la valeur. |
| meta.source[].system | string | — | Système qui a produit les données ; toujours `coinboss` pour les endpoints du centre développeurs. |
| meta.source[].component | string | — | Composant à l'origine des données : la sonde des endpoints et la patrouille qualité des données. |
| meta.observed_at | null | — | Horodatage. |
| meta.received_at | number | ms | Horodatage. |
| meta.fetched_at | number | ms | Moment où CoinBoss a récupéré les données auprès de la source. |
| meta.window | string | — | Fenêtre. |
| meta.cache_ttl_s | number | s | Durée de vie du cache côté serveur de cette réponse. |
| meta.quality | string | — | `FRESH` lorsque la sonde des endpoints a rendu compte au cours des 20 dernières minutes, sinon `STALE`. |
| meta.is_stale | boolean | — | 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.fallback | string | — | 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"
- "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\""
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
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 →
| Code | HTTP | Signification | Que faire |
|---|---|---|---|
| INVALID_PARAM | 400 | Un 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. |
| UNAUTHORIZED | 401 | L'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. |
| FORBIDDEN | 403 | La route ne fait pas partie de l'API publique (interne ou réservée aux comptes). | Ne réessayez pas. |
| NOT_FOUND | 404 | Route 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_LIMITED | 429 | Plus 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. |
| INTERNAL | 500 | Erreur 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_FAILED | 503 | La 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. |
| UNAVAILABLE | 501 / 503 | Le 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_FAILED | 200 | Certains 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
/api/meta/catalogDisponibleAucun paramètre.
https://www.coinboss.com/api/meta/catalogAutres endpoints de cette catégorie
- Matrice de qualité des données (vue collecteur) /api/sd/quality
- Catalogue de l'API /api/meta/catalog
- Journal des modifications et politique de versionnement /api/meta/changelog
- Documentation d'un endpoint /api/meta/endpoint
- Document OpenAPI /api/meta/openapi
- Matrice de qualité des données /api/meta/quality
- Statut du service /api/meta/status
- Vérifie si un symbole de crypto est connu de la plateforme /api/coin-exists
- Correspondance entre symbole de crypto et chemin d'icône hébergée localement /api/coin-icons
- Synthèse agrégée de la page crypto /api/content/coin
- Synthèse des rubriques du site /api/content/summary
- Table des taux de change fiat /api/currency/fx
- Correspondance entre identifiant de plateforme et chemin d'icône hébergée localement /api/exchange-icons
- Contrôle de vivacité /api/health
- Statistiques de la page Recherche /api/research/stats