/api/meta/catalog
GETDisponibileFRESH

Catalogo dell'API

Tutti gli endpoint pubblici con categoria, stato dichiarato e stato in tempo reale, TTL della cache e ultimo risultato della sonda, più i limiti di richieste e la tabella dei codici di errore.

GET/api/meta/catalog

Richiesta

Questo endpoint non accetta parametri.

Richiesta di esempio

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

Campi della risposta

La tabella dei campi è generata da risposte reali, quindi elenca esattamente ciò che l'endpoint restituisce. I percorsi usano a[] per gli elementi di un array e {*} per gli oggetti indicizzati da un nome dinamico, come una moneta o un exchange.

CampoTipoUnitàDescrizione
successboolean—true quando la richiesta è riuscita. In caso di errore il corpo è `{ success: false, code, error, request_id }`.
schemastring—ID dello schema di questa risposta (`coinboss.meta.catalog/1`).
nownumbermsOra del server al momento della composizione della risposta.
api_versionstring—Versione dell'API pubblica (`v1`).
catalog_versionstring—Versione del catalogo degli endpoint, una data di rilascio come `2026.11.11`.
base_pathstring—Prefisso di percorso comune a tutti gli endpoint (`/api`).
summaryobject—Blocco di riepilogo.
summary.totalnumber—Totale.
summary.availablenumber—Indica se i dati sono disponibili.
summary.partialnumber—true quando è presente solo una parte dei dati attesi.
summary.degradednumbercountNumero di endpoint il cui stato in tempo reale è `degraded`.
summary.downnumbercountNumero di endpoint il cui stato in tempo reale è `down`.
summary.unavailablenumber—Elementi per i quali non sono disponibili dati, con i motivi. Mai riportati come 0.
summary.unknownnumbercountNumero di endpoint il cui stato in tempo reale è `unknown` (nessun risultato recente della sonda).
probeobject—Stato della sonda degli endpoint alla base degli stati in tempo reale: ora dell'ultima esecuzione, la sua età, l'intervallo e se è aggiornata.
probe.last_run_atnumbermsTimestamp.
probe.age_snumbersSecondi trascorsi dall'ultimo aggiornamento di questa riga.
probe.interval_snumbersIntervallo previsto tra due esecuzioni della sonda (300).
probe.freshboolean—true quando l'ultima esecuzione della sonda risale a meno di 20 minuti fa; quando è false, gli stati degli endpoint sono riportati come `unknown`.
probe.errornull—Messaggio di errore (presente solo in caso di errore).
categoriesarray—Categorie di endpoint che contengono almeno un endpoint, con il numero di endpoint per stato.
categories[]object—Una categoria: `id`, `title`, `desc` e il numero dei suoi endpoint in ciascuno stato.
categories[].idstring—Identificatore.
categories[].titlestring—Titolo visualizzato della categoria.
categories[].descstring—Descrizione della categoria in una frase; null quando non ne è stata scritta alcuna.
categories[].totalnumber—Totale.
categories[].availablenumber—Indica se i dati sono disponibili.
categories[].partialnumber—true quando è presente solo una parte dei dati attesi.
categories[].degradednumbercountNumero di endpoint della categoria il cui stato in tempo reale è `degraded`.
categories[].downnumbercountNumero di endpoint della categoria il cui stato in tempo reale è `down`.
categories[].unavailablenumber—Elementi per i quali non sono disponibili dati, con i motivi. Mai riportati come 0.
categories[].unknownnumbercountNumero di endpoint della categoria il cui stato in tempo reale è `unknown`.
endpointsarray—Tutti gli endpoint documentati con il relativo stato in tempo reale.
endpoints[]object—Un endpoint: identità, percorso, stato dichiarato e stato in tempo reale, durata della cache, nomi dei parametri e ultimo risultato della sonda.
endpoints[].idstring—Identificatore.
endpoints[].catstring—ID della categoria a cui appartiene l'endpoint.
endpoints[].kindstring—Tipo.
endpoints[].methodstring—Note su formula / metodo.
endpoints[].pathstring—Percorso di richiesta dell'endpoint; i segmenti `:name` sono parametri di percorso.
endpoints[].titlestring—Titolo breve visualizzato dell'endpoint.
endpoints[].summarystring—Blocco di riepilogo.
endpoints[].declaredstring—Stato dichiarato nel catalogo, indipendente dalla sonda: `available`, `partial` o `unavailable`.
endpoints[].statusstring—Stato.
endpoints[].status_reasonstring|null—Motivo per cui `status` non è `available`, in testo semplice; null quando lo è.
endpoints[].stabilitystring—`stable`, `beta` (l'insieme dei campi può cambiare senza il preavviso di 90 giorni) o `legacy` (continua a funzionare, esiste un sostituto).
endpoints[].sincestring|null—Inizio del periodo.
endpoints[].ttl_snumber|nullsDurata della cache lato server delle risposte dell'endpoint; null quando non è in cache o non è applicabile.
endpoints[].paramsarray—Nomi di tutti i parametri accettati dall'endpoint. vuoto nei campioni usati per generare questa tabella
endpoints[].params[]string—Il nome di un parametro.
endpoints[].requiredarray—Nomi dei parametri che devono essere inviati. vuoto nei campioni usati per generare questa tabella
endpoints[].probeobject—Ultimo risultato della sonda per l'endpoint: ora del controllo, stato HTTP, `ok`, `schema_ok`, latenza, dimensione, età dei dati, ultimo successo e serie di fallimenti; null quando non è mai stato sondato.
endpoints[].probe.checked_atnumbermsTimestamp.
endpoints[].probe.httpnumber—Stato HTTP della richiesta più recente della sonda.
endpoints[].probe.okboolean—`true` quando la richiesta più recente della sonda ha restituito HTTP 200 con un corpo JSON valido.
endpoints[].probe.schema_okboolean—`true` quando la risposta sondata corrispondeva alla tabella dei campi documentata; `null` quando non esiste alcuna tabella dei campi.
endpoints[].probe.latency_msnumbermsTempo di risposta della richiesta più recente della sonda.
endpoints[].probe.bytesnumberbytesDimensione del corpo della risposta sondata.
endpoints[].probe.qualitynull—`meta.quality` riportato dalla risposta sondata (FRESH / PARTIAL / STALE …); `null` quando l'endpoint non lo riporta.
endpoints[].probe.data_age_snumber|nullsSecondi trascorsi dall'evento.
endpoints[].probe.last_ok_atnumbermsTimestamp.
endpoints[].probe.fail_streaknumbercountNumero di sonde fallite consecutive; 0 quando l'ultima sonda è riuscita.
endpoints[].required[]string—Il nome di un parametro obbligatorio.
rate_limitobject—Regole sui limiti di richieste dell'API pubblica.
rate_limit.window_snumbersDurata della finestra di conteggio (60).
rate_limit.anonymous_per_minnumbercountRichieste al minuto consentite per IP del client quando non viene inviata alcuna chiave API.
rate_limit.scopestring—Testo che indica come vengono conteggiate le richieste: per IP del client quando sono anonime, per chiave quando viene inviato un header `CB-API-KEY`.
rate_limit.key_tiers_per_minobject—Richieste al minuto consentite per ciascun livello di chiave API, indicizzate per nome del livello.
rate_limit.key_tiers_per_min.hobbyistnumbercountRichieste al minuto per le chiavi del livello `hobbyist`.
rate_limit.key_tiers_per_min.startupnumbercountRichieste al minuto per le chiavi del livello `startup`.
rate_limit.key_tiers_per_min.standardnumbercountRichieste al minuto per le chiavi del livello `standard`.
rate_limit.key_tiers_per_min.professionalnumbercountRichieste al minuto per le chiavi del livello `professional`.
rate_limit.exemptarray—Pattern di percorso che non vengono conteggiati ai fini del limite.
rate_limit.exempt[]string—Un pattern di percorso esente, per esempio `/api/coin-icon/*`.
rate_limit.headersarray—Nomi degli header di risposta che riportano lo stato del limite di richieste.
rate_limit.headers[]string—Il nome di un header, per esempio `X-RateLimit-Remaining`.
rate_limit.on_exceedobject—Che cosa viene restituito quando il limite è superato: stato `http` e `code` di errore.
rate_limit.on_exceed.httpnumber—Stato HTTP restituito quando il limite è superato (429).
rate_limit.on_exceed.codestring—Codice.
errorsarray—Codici di errore che l'API può restituire, ciascuno con stato HTTP, significato e indicazioni sul nuovo tentativo.
errors[]object—Un codice di errore.
errors[].codestring—Codice.
errors[].httpnumber|string—Stato HTTP inviato con questo codice; una stringa come `501 / 503` quando ne è applicabile più di uno.
errors[].meaningstring—Che cosa significa l'errore.
errors[].retrystring—Indicazioni su se e come ritentare.
errors[].legacyboolean—Presente e true solo per il codice usato dagli endpoint meno recenti che rispondono HTTP 200 con `success: false`. può essere assente
status_legendobject—Definizione in testo semplice di ogni stato di endpoint.
status_legend.availablestring—Indica se i dati sono disponibili.
status_legend.partialstring—true quando è presente solo una parte dei dati attesi.
status_legend.degradedstring—Definizione dello stato `degraded`.
status_legend.downstring—Definizione dello stato `down`.
status_legend.unavailablestring—Elementi per i quali non sono disponibili dati, con i motivi. Mai riportati come 0.
status_legend.unknownstring—Definizione dello stato `unknown`.
metaobject—Envelope di questa risposta: ID dello schema, sistema di origine, timestamp, durata della cache e freschezza.
meta.schemastring—ID dello schema di questa risposta; stesso valore del campo di primo livello `schema`.
meta.sourcearray—Provenienza del valore.
meta.source[]object—Provenienza del valore.
meta.source[].systemstring—Sistema che ha prodotto i dati; sempre `coinboss` per gli endpoint del centro sviluppatori.
meta.source[].componentstring—Componente alla base dei dati: la sonda degli endpoint e il controllo periodico della qualità dei dati.
meta.observed_atnull—Timestamp.
meta.received_atnumbermsTimestamp.
meta.fetched_atnumbermsMomento in cui CoinBoss ha recuperato i dati dalla fonte.
meta.windowstring—Finestra.
meta.cache_ttl_snumbersDurata della cache lato server di questa risposta.
meta.qualitystring—`FRESH` quando la sonda degli endpoint ha riportato risultati negli ultimi 20 minuti, altrimenti `STALE`.
meta.is_staleboolean—true quando la riga è più vecchia della finestra di freschezza; le righe obsolete non vengono usate nei totali.
meta.fallbackstring—Nota in testo semplice su ciò che questo endpoint restituisce quando i suoi dati di ingresso sono obsoleti o mancanti.

Generata 2026-11-11 23:01 UTC da 1 risposte reali.

Risposta di esempio

/api/meta/catalog · Risposta reale acquisita 2026-11-13 03:59:27 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: errors conteneva 9 elementi; endpoints conteneva 299 elementi; categories conteneva 21 elementi.

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

Dettagli

Autenticazione
Nessuna. Endpoint pubblico.
Limite di richieste
1200 richieste al minuto per IP
Cache del server
30s
Micro-cache edge
10s
Frequenza di aggiornamento
Ricostruito su richiesta dal file del catalogo e dagli ultimi risultati della sonda (la sonda viene eseguita ogni 5 minuti).
Fonti dei dati
Catalogo degli endpoint di CoinBoss + sd_api_probe (risultati di chiamate reali effettuate dalla sonda dell'API).
Timestamp
Millisecondi dall'epoca Unix (UTC), salvo diversa indicazione nella descrizione del campo
Formato della risposta
json
Stabilità
Stabile
Disponibile dal
2026-11-11

Stato in tempo reale

DisponibileVerificato 2026-11-13 03:59:27 UTCHTTP 20010 msSchema conformeDato più recente risalente a 6m fa

Disponibilità, ultimi 30 giorni

100% di 409 verifiche superate

Errori

Le chiamate non riuscite hanno la stessa struttura su tutti gli endpoint. L'elenco completo è nella pagina degli errori. Errori e limiti di richieste →

CodiceHTTPSignificatoChe cosa fare
INVALID_PARAM400Manca un parametro obbligatorio oppure un valore non è accettato. `param` indica il nome del parametro quando è noto.Non riprovare senza modifiche; correggere la richiesta.
UNAUTHORIZED401L'header `CB-API-KEY` è stato inviato ma la chiave è sconosciuta o revocata. I dati pubblici non richiedono alcuna chiave: rimuovere l'header o usare una chiave valida.Non riprovare senza modifiche.
FORBIDDEN403La route non fa parte dell'API pubblica (interna o riservata agli account).Non riprovare.
NOT_FOUND404Route sconosciuta, oppure la moneta / l'exchange / il fondo richiesto non esiste.Non riprovare; verificare il percorso e gli identificatori nel catalogo.
RATE_LIMITED429Più richieste del limite al minuto. `Retry-After` indica i secondi da attendere.Attendere `Retry-After`, poi riprovare con backoff.
INTERNAL500Errore imprevisto del server. Il messaggio è volutamente generico; citare `request_id` quando lo si segnala.Riprovare una volta dopo qualche secondo; se persiste, segnalarlo con l'ID della richiesta.
UPSTREAM_FAILED503La fonte di dati alla base di questo endpoint non ha risposto in tempo. Al suo posto non vengono restituiti numeri obsoleti o sostitutivi.Riprovare con backoff; controllare la pagina di stato.
UNAVAILABLE501 / 503Il dataset è temporaneamente non pronto (riscaldamento della cache) oppure l'endpoint non ha ancora una fonte pubblica lecita.Riprovare più tardi; il catalogo contrassegna gli endpoint non disponibili per scelta progettuale.
REQUEST_FAILED200Alcuni endpoint meno recenti rispondono HTTP 200 con `success: false`. Controllare sempre `success`, non solo lo stato HTTP.Dipende dal messaggio; trattare come una richiesta non riuscita.

Prova

GET/api/meta/catalogDisponibile
Parametri

Nessun parametro.

URL della richiestahttps://www.coinboss.com/api/meta/catalog
Scegliere un endpoint e premere «Invia richiesta». La risposta, gli header e i tempi compariranno qui.