/api/meta/quality
GETDisponibileFRESH

Matrice della qualità dei dati

Matrice exchange × famiglia di dati con FRESH / PARTIAL / STALE / BROKEN / UNAVAILABLE, timestamp della fonte e del recupero, ritardo, copertura e motivo di ogni lacuna.

GET/api/meta/quality

Richiesta

Parametri di query

NomeTipoObbligatorioPredefinitoValori ammessiDescrizione
exchangestringFacoltativo——Restituisce solo questo exchange (ID in minuscolo, per esempio `binance`).
familystringFacoltativo——Restituisce solo questa famiglia di dati (per esempio `oi`, `funding`, `liquidation`).

Richiesta di esempio

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

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.quality/1`).
nownumbermsOra del server al momento della composizione della risposta.
familiesarray—Famiglie di dati valutate per exchange (ticker, open interest, finanziamento, liquidazioni, book degli ordini, opzioni e altre).
families[]object—Una famiglia: `id`, `scope`, `title`, `what`, `table`, `cadence` e `fresh_within_s`.
families[].idstring—Identificatore.
families[].scopestring—`exchange` per le famiglie valutate per exchange in `matrix`.
families[].titlestring—Titolo visualizzato della famiglia.
families[].whatstring—Breve descrizione dei dati coperti dalla famiglia.
families[].tablestring—Nome del dataset interno in base al quale viene valutata la famiglia; solo a scopo informativo.
families[].cadencestring—Pianificazione della raccolta della famiglia, in testo semplice; null quando non è indicata.
families[].fresh_within_snumbersFinestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati.
exchangesarray—Exchange.
exchanges[]string—Exchange.
matrixobject—Matrice indicizzata per riga e colonna. chiavi dinamiche: aster,backpack,binance,bingx,bitfinex,bitget
matrix.{*}object—Matrice indicizzata per riga e colonna. chiavi dinamiche: ticker,oi,funding,funding_settle,liquidation,ls
matrix.{*}.{*}object—Matrice indicizzata per riga e colonna.
matrix.{*}.{*}.statusstring—Stato.
matrix.{*}.{*}.lag_snumber|nullsOra attuale meno il timestamp dei dati memorizzati più recenti di quell'exchange (prima chiave) e di quella famiglia (seconda chiave); null quando la famiglia non è disponibile su quell'exchange.
matrix.{*}.{*}.source_atnumber|nullmsTimestamp.
matrix.{*}.{*}.fetched_atnumber|nullmsMomento in cui CoinBoss ha recuperato i dati dalla fonte.
matrix.{*}.{*}.fresh_within_snumber|nullsFinestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati.
matrix.{*}.{*}.coverageobject|null—Che cosa è incluso e che cosa manca.
matrix.{*}.{*}.coverage.rowsnumber—Righe del risultato. può essere assente
matrix.{*}.{*}.coverage.rows_freshnumber—Righe aggiornate entro la finestra di freschezza. può essere assente
matrix.{*}.{*}.coverage.rows_usablenumber—Righe entro la finestra di utilizzabilità. può essere assente
matrix.{*}.{*}.coverage.rows_orphannumber—Righe il cui contratto non è più quotato. può essere assente
matrix.{*}.{*}.coverage.rows_invalidnumber—Righe rifiutate dalla convalida. può essere assente
matrix.{*}.{*}.reasonstring|null—Codice del motivo.
matrix.{*}.{*}.coverage.rows_no_livenessnumbercountRighe di finanziamento su contratti senza alcuna evidenza di scambi attivi (rimossi dal listino o senza volume); escluse dal conteggio della freschezza. può essere assente
matrix.{*}.{*}.coverage.rows_unknown_intervalnumbercountRighe di finanziamento aggiornate di recente il cui intervallo di regolamento è sconosciuto, per cui non possono essere normalizzate a 8 ore. può essere assente
matrix.{*}.{*}.coverage.symbolsnumber—Simboli. può essere assente
matrix.{*}.{*}.coverage.events_1hnumbercountOrdini di liquidazione memorizzati dall'exchange nell'ultima ora; le dimensioni minime degli ordini variano da un exchange all'altro. può essere assente
matrix.{*}.{*}.coverage.events_24hnumbercountOrdini di liquidazione memorizzati dall'exchange nelle ultime 24 ore; le dimensioni minime degli ordini variano da un exchange all'altro. può essere assente
matrix.{*}.{*}.viastring—Percorso di raccolta. può essere assente
matrix.{*}.{*}.coverage.booksnumbercountNumero di book degli ordini tracciati. può essere assente
matrix.{*}.{*}.coverage.books_freshnumbercountNumero di book degli ordini aggiornati entro la finestra di freschezza. può essere assente
matrix.{*}.{*}.coverage.books_reaching_2pctnumbercountNumero di book degli ordini abbastanza profondi da coprire ±2 % attorno al prezzo mid. può essere assente
matrix.{*}.{*}.coverage.contractsnumber—Righe per contratto. può essere assente
matrix.{*}.{*}.coverage.contracts_freshnumbercountNumero di contratti aggiornati entro la finestra di freschezza. può essere assente
matrix.{*}.{*}.coverage.with_mark_and_indexnumbercountNumero di contratti che hanno sia un prezzo mark sia un prezzo index. può essere assente
matrix.{*}.{*}.coverage.delivery_contractsnumbercountNumero di contratti a scadenza (con data). può essere assente
matrix.{*}.{*}.notestring—Nota. può essere assente
matrix.{*}.{*}.coverage.coinsnumber—Monete. può essere assente
matrix.{*}.{*}.coverage.rows_without_oinumbercountRighe dei contratti con margine in coin, con margine in USDC o a scadenza prive di un valore di open interest in USD. può essere assente
matrix.{*}.{*}.coverage.with_mark_ivnumbercountNumero di contratti di opzione che hanno una volatilità implicita mark. può essere assente
matrix.{*}.{*}.coverage.with_greeksnumbercountNumero di contratti di opzione che hanno le greche. può essere assente
datasetsarray—Controlli di qualità dei dataset che non sono per exchange (per esempio i dati giornalieri degli ETF spot e del CME), ciascuno con stato, ritardo, copertura e motivo.
datasets[]object—Un dataset relativo all'intero mercato e non legato a un singolo exchange (opzioni, ETF spot, CME, book degli ordini, base).
datasets[].familystring—ID del dataset, per esempio `etf` o `cme`.
datasets[].idstring—Identificatore.
datasets[].titlestring—Nome visualizzato del dataset.
datasets[].sourcestring—Provenienza del valore.
datasets[].endpointstring—Endpoint pubblico che serve il dataset.
datasets[].statusstring—Stato.
datasets[].lag_snumbersEtà del punto dati più recente al momento della generazione della risposta.
datasets[].source_atnumbermsTimestamp.
datasets[].fetched_atnumbermsMomento in cui CoinBoss ha recuperato i dati dalla fonte.
datasets[].fresh_within_snumbersFinestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati.
datasets[].coverageobject—Che cosa è incluso e che cosa manca.
datasets[].coverage.funds_totalnumbercountNumero di fondi tracciati. può essere assente
datasets[].coverage.funds_coverednumbercountNumero di fondi con un'informativa utilizzabile. può essere assente
datasets[].coverage.funds_unavailablenumbercountNumero di fondi il cui emittente non pubblica alcuna informativa leggibile dalla macchina. può essere assente
datasets[].coverage.funds_failingnumbercountNumero di fondi la cui informativa non è stata leggibile nell'ultimo ciclo di raccolta. può essere assente
datasets[].coverage.as_ofstring—Data dell'informativa più recente tra i fondi coperti (YYYY-MM-DD). può essere assente
datasets[].coverage.as_of_minstring—Data dell'informativa più vecchia tra i fondi coperti (YYYY-MM-DD). può essere assente
datasets[].reasonstring|null—Codice del motivo.
datasets[].coverage.contractsnumber—Righe per contratto. può essere assente
datasets[].coverage.report_datestring—Data del report Commitments of Traders della CFTC più recente (YYYY-MM-DD). può essere assente
datasets[].coverage.productsnumbercountNumero di prodotti del CME coperti. può essere assente
datasets[].coverage.trade_datestring—Data di contrattazione del report giornaliero del CME più recente (YYYY-MM-DD). può essere assente
summaryobject—Blocco di riepilogo. chiavi dinamiche: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE
summary.{*}number—Blocco di riepilogo.
by_familyobject—Numero di exchange in ciascuno stato, per famiglia. Le chiavi esterne sono gli ID delle famiglie. chiavi dinamiche: ticker,oi,funding,funding_settle,liquidation,ls
by_family.{*}object—Conteggi degli stati di una famiglia, indicizzati per stato (`FRESH`, `PARTIAL`, `STALE`, `BROKEN`, `UNAVAILABLE`). chiavi dinamiche: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE
by_family.{*}.{*}numbercountNumero di exchange con quello stato per quella famiglia.
alertsarray—Avvisi del controllo periodico della qualità dei dati aperti o risolti negli ultimi 7 giorni, prima quelli aperti; filtrati in base ai parametri della richiesta.
alerts[]object—Un avviso: `level`, `exchange`, `family`, `code`, `detail`, orari di apertura / ultima osservazione / risoluzione, `hits` e `open`.
alerts[].levelstring—Livello.
alerts[].exchangestring—ID dell'exchange, in minuscolo (per esempio `binance`).
alerts[].familystring—Famiglia di dati a cui si riferisce l'avviso.
alerts[].codestring—Codice.
alerts[].detailstring—Dettaglio.
alerts[].opened_atnumbermsTimestamp.
alerts[].last_seen_atnumbermsTimestamp.
alerts[].resolved_atnumber|nullmsTimestamp.
alerts[].hitsnumbercountNumero di esecuzioni del controllo periodico (una ogni 5 minuti) che hanno osservato la condizione dall'apertura dell'avviso.
alerts[].openboolean—Prezzo di apertura del periodo.
monitorobject—Stato di salute del monitoraggio stesso: ora ed età dell'ultima esecuzione del controllo periodico, `patrol_ok` ed età dell'heartbeat del collector.
monitor.patrol_last_run_atnumbermsTimestamp.
monitor.patrol_age_snumbersSecondi trascorsi dall'evento.
monitor.patrol_okboolean—true quando il controllo periodico è stato eseguito negli ultimi 15 minuti; quando è false l'elenco `alerts` può non essere aggiornato, mentre la matrice resta in tempo reale.
monitor.collector_heartbeat_age_snumbersSecondi trascorsi dall'evento.
errorsnull—Mappa dall'ID della famiglia a un codice di errore per le famiglie il cui controllo di qualità stesso è fallito; null quando tutti i controlli sono stati eseguiti.
legendobject—Definizione in testo semplice di ogni stato di cella. chiavi dinamiche: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE
legend.{*}string—Definizione dello stato indicato dalla chiave (`FRESH`, `PARTIAL`, `STALE`, `BROKEN`, `UNAVAILABLE`).
methodobject—Note su formula / metodo.
method.statusstring—Stato.
method.lag_sstring—Enunciato in testo semplice di come viene calcolato `lag_s`.
method.source_atstring—Stringa di data e ora.
method.fetched_atstring—Stringa di data e ora.
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—Normalmente `FRESH`; `PARTIAL` quando il controllo periodico della qualità non è stato eseguito negli ultimi 15 minuti (ne risente solo l'elenco degli avvisi).
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 3 risposte reali.

Risposta di esempio

/api/meta/quality · Risposta reale acquisita 2026-11-13 03:53:46 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: alerts conteneva 11 elementi; legend conteneva 5 elementi; matrix conteneva 30 elementi; summary conteneva 5 elementi; datasets conteneva 12 elementi; families conteneva 12 elementi.

  • {
    • "success": true,
    • "schema": "coinboss.meta.quality/1",
    • "now": 1794542026126,
    • "families": [
      • { … 7 },
      • { … 7 }
      ],
    • "exchanges": [
      • "aster",
      • "backpack",
      • "binance",
      • "bingx",
      • "bitfinex",
      • "bitget",
      • "bitstamp",
      • "bitunix"
      ],
    • "matrix": {
      • "aster": { … 2 },
      • "backpack": { … 2 }
      },
    • "datasets": [
      • { … 12 },
      • { … 12 }
      ],
    • "summary": {
      • "FRESH": 161,
      • "PARTIAL": 7
      },
    • "by_family": {
      • "ticker": { … 2 },
      • "oi": { … 2 }
      },
    • "alerts": [
      • { … 10 },
      • { … 10 }
      ],
    • "monitor": {
      • "patrol_last_run_at": 1794541745827,
      • "patrol_age_s": 281,
      • "patrol_ok": true,
      • "collector_heartbeat_age_s": 36
      },
    • "errors": null,
    • "legend": {
      • "FRESH": "newest stored data point is inside the fresh window for this family",
      • "PARTIAL": "some contracts / rows are outside the fresh window or miss a required field"
      },
    • "method": {
      • "status": "judged from data timestamps in CoinBoss storage every request (30 s in-process cache); a running collector process is not treated as evidence",
      • "lag_s": "now − newest stored data timestamp for the exchange / family",
      • "source_at": "newest stored data timestamp (exchange timestamp when the exchange provides one, otherwise collector receive time)",
      • "fetched_at": "last successful upstream call recorded by the collector health log; null for WebSocket feeds and collectors that do not log per-call health"
      },
    • "meta": {
      • "schema": "coinboss.meta.quality/1",
      • "source": [ … 1 ],
      • "observed_at": null,
      • "received_at": 1794542026978,
      • "fetched_at": 1794542026126,
      • "window": "latest",
      • "cache_ttl_s": 20,
      • "quality": "FRESH",
      • "is_stale": false,
      • "fallback": "matrix is always computed from storage; when the 5-minute patrol itself stops (monitor.patrol_ok=false) only the alerts list may be outdated"
      }
    }

Campioni verificati

Oltre all'esempio qui sopra, la sonda chiama questo endpoint con i parametri seguenti e ogni volta ne verifica lo schema.

ParametriHTTPLatenzaRisultato
exchange=binance2001 msSuperato FRESH
family=funding2001 msSuperato FRESH

Verificato 2026-11-13 03:29:27 UTC

Dettagli

Autenticazione
Nessuna. Endpoint pubblico.
Limite di richieste
1200 richieste al minuto per IP
Cache del server
20s
Micro-cache edge
10s
Frequenza di aggiornamento
Valutato su richiesta dal timestamp dei dati più recente di ogni coppia exchange × famiglia.
Fonti dei dati
Tabelle grezze di CoinBoss (timestamp delle righe più recenti), log di salute dei collector. Un processo in esecuzione non viene mai conteggiato come dato sano.
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:53:46 UTCHTTP 200887 msSchema conformeDato più recente risalente a 0s fa

Disponibilità, ultimi 30 giorni

100% di 407 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/qualityDisponibile
Parametri

string — Return only this exchange (lower-case id, for example `binance`).

string — Return only this data family (for example `oi`, `funding`, `liquidation`).

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