/api/meta/quality
GETVerfügbarFRESH

Datenqualitätsmatrix

Matrix Börse × Datenfamilie mit FRESH / PARTIAL / STALE / BROKEN / UNAVAILABLE, Quell- und Abrufzeitstempeln, Verzögerung, Abdeckung und dem Grund für jede Lücke.

GET/api/meta/quality

Anfrage

Query-Parameter

NameTypErforderlichStandardZulässige WerteBeschreibung
exchangestringOptional——Nur diese Börse zurückgeben (Kennung in Kleinbuchstaben, zum Beispiel `binance`).
familystringOptional——Nur diese Datenfamilie zurückgeben (zum Beispiel `oi`, `funding`, `liquidation`).

Beispielanfrage

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

Antwortfelder

Die Feldtabelle wird aus echten Antworten erzeugt und führt daher genau das auf, was der Endpunkt zurückgibt. In Pfaden steht a[] für Array-Elemente und {*} für Objekte, deren Schlüssel ein dynamischer Name ist, etwa ein Coin oder eine Börse.

FeldTypEinheitBeschreibung
successboolean—true, wenn die Anfrage erfolgreich war. Im Fehlerfall lautet der Body `{ success: false, code, error, request_id }`.
schemastring—Schema-ID dieser Antwort (`coinboss.meta.quality/1`).
nownumbermsServerzeit beim Erstellen der Antwort.
familiesarray—Datenfamilien, die je Börse beurteilt werden (Ticker, Open Interest, Funding, Liquidationen, Orderbücher, Optionen und andere).
families[]object—Eine Familie: `id`, `scope`, `title`, `what`, `table`, `cadence` und `fresh_within_s`.
families[].idstring—Kennung.
families[].scopestring—`exchange` für Familien, die in `matrix` je Börse beurteilt werden.
families[].titlestring—Anzeigetitel der Familie.
families[].whatstring—Kurzbeschreibung der Daten, die die Familie abdeckt.
families[].tablestring—Name des internen Datensatzes, anhand dessen die Familie beurteilt wird; nur zur Information.
families[].cadencestring—Erfassungsplan der Familie im Klartext; null, wenn nicht angegeben.
families[].fresh_within_snumbersAktualitätsfenster: Daten, die neuer sind, gelten als aktuell.
exchangesarray—Börsen.
exchanges[]string—Börsen.
matrixobject—Matrix mit Zeile und Spalte als Schlüssel. dynamische Schlüssel: aster,backpack,binance,bingx,bitfinex,bitget
matrix.{*}object—Matrix mit Zeile und Spalte als Schlüssel. dynamische Schlüssel: ticker,oi,funding,funding_settle,liquidation,ls
matrix.{*}.{*}object—Matrix mit Zeile und Spalte als Schlüssel.
matrix.{*}.{*}.statusstring—Status.
matrix.{*}.{*}.lag_snumber|nullsJetzt minus der jüngste gespeicherte Datenzeitstempel dieser Börse (erster Schlüssel) und Familie (zweiter Schlüssel); null, wenn die Familie dort nicht verfügbar ist.
matrix.{*}.{*}.source_atnumber|nullmsZeitstempel.
matrix.{*}.{*}.fetched_atnumber|nullmsZeitpunkt, zu dem CoinBoss die Daten von der Quelle abgerufen hat.
matrix.{*}.{*}.fresh_within_snumber|nullsAktualitätsfenster: Daten, die neuer sind, gelten als aktuell.
matrix.{*}.{*}.coverageobject|null—Was enthalten ist und was fehlt.
matrix.{*}.{*}.coverage.rowsnumber—Ergebniszeilen. kann fehlen
matrix.{*}.{*}.coverage.rows_freshnumber—Innerhalb des Aktualitätsfensters aktualisierte Zeilen. kann fehlen
matrix.{*}.{*}.coverage.rows_usablenumber—Zeilen innerhalb des Nutzbarkeitsfensters. kann fehlen
matrix.{*}.{*}.coverage.rows_orphannumber—Zeilen, deren Kontrakt nicht mehr gelistet ist. kann fehlen
matrix.{*}.{*}.coverage.rows_invalidnumber—Von der Validierung abgewiesene Zeilen. kann fehlen
matrix.{*}.{*}.reasonstring|null—Begründungscode.
matrix.{*}.{*}.coverage.rows_no_livenessnumbercountFunding-Zeilen zu Kontrakten ohne Anzeichen für aktiven Handel (delistet oder ohne Volumen); in der Aktualitätszählung nicht berücksichtigt. kann fehlen
matrix.{*}.{*}.coverage.rows_unknown_intervalnumbercountKürzlich aktualisierte Funding-Zeilen, deren Abrechnungsintervall unbekannt ist, sodass sie nicht auf 8 Stunden normalisiert werden können. kann fehlen
matrix.{*}.{*}.coverage.symbolsnumber—Symbole. kann fehlen
matrix.{*}.{*}.coverage.events_1hnumbercountIn der letzten Stunde von der Börse gespeicherte Liquidationsorders; die Mindestordergrößen unterscheiden sich je Börse. kann fehlen
matrix.{*}.{*}.coverage.events_24hnumbercountIn den letzten 24 Stunden von der Börse gespeicherte Liquidationsorders; die Mindestordergrößen unterscheiden sich je Börse. kann fehlen
matrix.{*}.{*}.viastring—Erhebungspfad. kann fehlen
matrix.{*}.{*}.coverage.booksnumbercountAnzahl der erfassten Orderbücher. kann fehlen
matrix.{*}.{*}.coverage.books_freshnumbercountAnzahl der Orderbücher, die innerhalb des Aktualitätsfensters aktualisiert wurden. kann fehlen
matrix.{*}.{*}.coverage.books_reaching_2pctnumbercountAnzahl der Orderbücher, die tief genug sind, um ±2 % um den Mittelkurs abzudecken. kann fehlen
matrix.{*}.{*}.coverage.contractsnumber—Zeilen je Kontrakt. kann fehlen
matrix.{*}.{*}.coverage.contracts_freshnumbercountAnzahl der Kontrakte, die innerhalb des Aktualitätsfensters aktualisiert wurden. kann fehlen
matrix.{*}.{*}.coverage.with_mark_and_indexnumbercountAnzahl der Kontrakte, die sowohl einen Mark-Preis als auch einen Indexpreis haben. kann fehlen
matrix.{*}.{*}.coverage.delivery_contractsnumbercountAnzahl der Terminkontrakte mit Fälligkeit (datierte Kontrakte). kann fehlen
matrix.{*}.{*}.notestring—Hinweis. kann fehlen
matrix.{*}.{*}.coverage.coinsnumber—Coins. kann fehlen
matrix.{*}.{*}.coverage.rows_without_oinumbercountZeilen zu coin-marginierten oder USDC-marginierten Kontrakten oder Terminkontrakten mit Fälligkeit, die keinen Open-Interest-Wert in USD enthalten. kann fehlen
matrix.{*}.{*}.coverage.with_mark_ivnumbercountAnzahl der Optionskontrakte, die eine implizite Mark-Volatilität haben. kann fehlen
matrix.{*}.{*}.coverage.with_greeksnumbercountAnzahl der Optionskontrakte, die Greeks haben. kann fehlen
datasetsarray—Qualitätsprüfungen von Datensätzen, die nicht je Börse geführt werden (zum Beispiel Spot-ETF- und CME-Tagesdaten), jeweils mit Status, Verzögerung, Abdeckung und Begründung.
datasets[]object—Ein marktweiter Datensatz, der nicht an eine einzelne Börse gebunden ist (Optionen, Spot-ETFs, CME, Orderbücher, Basis).
datasets[].familystring—Kennung des Datensatzes, zum Beispiel `etf` oder `cme`.
datasets[].idstring—Kennung.
datasets[].titlestring—Anzeigename des Datensatzes.
datasets[].sourcestring—Herkunft des Werts.
datasets[].endpointstring—Öffentlicher Endpunkt, der den Datensatz bereitstellt.
datasets[].statusstring—Status.
datasets[].lag_snumbersAlter des jüngsten Datenpunkts zum Zeitpunkt der Erstellung der Antwort.
datasets[].source_atnumbermsZeitstempel.
datasets[].fetched_atnumbermsZeitpunkt, zu dem CoinBoss die Daten von der Quelle abgerufen hat.
datasets[].fresh_within_snumbersAktualitätsfenster: Daten, die neuer sind, gelten als aktuell.
datasets[].coverageobject—Was enthalten ist und was fehlt.
datasets[].coverage.funds_totalnumbercountAnzahl der erfassten Fonds. kann fehlen
datasets[].coverage.funds_coverednumbercountAnzahl der Fonds mit einer verwendbaren Offenlegung. kann fehlen
datasets[].coverage.funds_unavailablenumbercountAnzahl der Fonds, deren Emittent keine maschinenlesbare Offenlegung veröffentlicht. kann fehlen
datasets[].coverage.funds_failingnumbercountAnzahl der Fonds, deren Offenlegung in der letzten Erfassungsrunde nicht gelesen werden konnte. kann fehlen
datasets[].coverage.as_ofstring—Jüngstes Offenlegungsdatum unter den abgedeckten Fonds (YYYY-MM-DD). kann fehlen
datasets[].coverage.as_of_minstring—Ältestes Offenlegungsdatum unter den abgedeckten Fonds (YYYY-MM-DD). kann fehlen
datasets[].reasonstring|null—Begründungscode.
datasets[].coverage.contractsnumber—Zeilen je Kontrakt. kann fehlen
datasets[].coverage.report_datestring—Datum des jüngsten Commitments-of-Traders-Berichts der CFTC (YYYY-MM-DD). kann fehlen
datasets[].coverage.productsnumbercountAnzahl der abgedeckten CME-Produkte. kann fehlen
datasets[].coverage.trade_datestring—Handelsdatum des jüngsten CME-Tagesberichts (YYYY-MM-DD). kann fehlen
summaryobject—Zusammenfassungsblock. dynamische Schlüssel: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE
summary.{*}number—Zusammenfassungsblock.
by_familyobject—Anzahl der Börsen in jedem Status, je Familie. Die äußeren Schlüssel sind Familienkennungen. dynamische Schlüssel: ticker,oi,funding,funding_settle,liquidation,ls
by_family.{*}object—Statuszählungen einer Familie, mit dem Status als Schlüssel (`FRESH`, `PARTIAL`, `STALE`, `BROKEN`, `UNAVAILABLE`). dynamische Schlüssel: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE
by_family.{*}.{*}numbercountAnzahl der Börsen mit diesem Status für diese Familie.
alertsarray—Warnmeldungen der Datenqualitäts-Patrouille, die offen sind oder in den letzten 7 Tagen behoben wurden, offene zuerst; nach den Anfrageparametern gefiltert.
alerts[]object—Eine Warnmeldung: `level`, `exchange`, `family`, `code`, `detail`, Zeitpunkte für Öffnung / letzte Beobachtung / Behebung, `hits` und `open`.
alerts[].levelstring—Niveau.
alerts[].exchangestring—Börsenkennung in Kleinbuchstaben (zum Beispiel `binance`).
alerts[].familystring—Datenfamilie, die die Warnmeldung betrifft.
alerts[].codestring—Code.
alerts[].detailstring—Detail.
alerts[].opened_atnumbermsZeitstempel.
alerts[].last_seen_atnumbermsZeitstempel.
alerts[].resolved_atnumber|nullmsZeitstempel.
alerts[].hitsnumbercountAnzahl der Patrouillenläufe (einer alle 5 Minuten), die den Zustand seit Öffnung der Warnmeldung beobachtet haben.
alerts[].openboolean—Eröffnungskurs des Zeitraums.
monitorobject—Zustand der Überwachung selbst: Zeitpunkt und Alter des letzten Patrouillenlaufs, `patrol_ok` und das Alter des Collector-Heartbeats.
monitor.patrol_last_run_atnumbermsZeitstempel.
monitor.patrol_age_snumbersSekunden seit dem Ereignis.
monitor.patrol_okboolean—true, wenn die Patrouille innerhalb der letzten 15 Minuten gelaufen ist; bei false kann die Liste `alerts` veraltet sein, während die Matrix live bleibt.
monitor.collector_heartbeat_age_snumbersSekunden seit dem Ereignis.
errorsnull—Map von Familienkennung zu einem Fehlercode für Familien, deren Qualitätsprüfung selbst fehlgeschlagen ist; null, wenn jede Prüfung gelaufen ist.
legendobject—Klartextdefinition jedes Zellenstatus. dynamische Schlüssel: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE
legend.{*}string—Definition des durch den Schlüssel benannten Status (`FRESH`, `PARTIAL`, `STALE`, `BROKEN`, `UNAVAILABLE`).
methodobject—Hinweise zu Formel / Methode.
method.statusstring—Status.
method.lag_sstring—Klartextangabe dazu, wie `lag_s` berechnet wird.
method.source_atstring—Datums- und Zeitangabe als Zeichenkette.
method.fetched_atstring—Datums- und Zeitangabe als Zeichenkette.
metaobject—Umschlag dieser Antwort: Schema-ID, erzeugendes System, Zeitstempel, Cache-Lebensdauer und Aktualität.
meta.schemastring—Schema-ID dieser Antwort; derselbe Wert wie `schema` auf oberster Ebene.
meta.sourcearray—Herkunft des Werts.
meta.source[]object—Herkunft des Werts.
meta.source[].systemstring—System, das die Daten erzeugt hat; bei den Endpunkten des Entwicklerzentrums immer `coinboss`.
meta.source[].componentstring—Komponente hinter den Daten: die Endpunkt-Probe und die Datenqualitäts-Patrouille.
meta.observed_atnull—Zeitstempel.
meta.received_atnumbermsZeitstempel.
meta.fetched_atnumbermsZeitpunkt, zu dem CoinBoss die Daten von der Quelle abgerufen hat.
meta.windowstring—Zeitfenster.
meta.cache_ttl_snumbersServerseitige Cache-Lebensdauer dieser Antwort.
meta.qualitystring—Normalerweise `FRESH`; `PARTIAL`, wenn die Qualitäts-Patrouille nicht innerhalb von 15 Minuten gelaufen ist (betroffen ist nur die Liste der Warnmeldungen).
meta.is_staleboolean—true, wenn die Zeile älter als das Aktualitätsfenster ist; veraltete Zeilen fließen nicht in die Summen ein.
meta.fallbackstring—Klartexthinweis dazu, was dieser Endpunkt zurückgibt, wenn seine Eingangsdaten veraltet sind oder fehlen.

Erzeugt 2026-11-11 23:01 UTC aus 3 echten Antworten.

Beispielantwort

/api/meta/quality · Echte Antwort, erfasst 2026-11-13 03:53:46 UTC. Lange Arrays und Maps sind für die Anzeige gekürzt: alerts hatte 11 Elemente; legend hatte 5 Elemente; matrix hatte 30 Elemente; summary hatte 5 Elemente; datasets hatte 12 Elemente; families hatte 12 Elemente.

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

Geprüfte Stichproben

Neben dem obigen Beispiel ruft die Prüfsonde diesen Endpunkt mit den folgenden Parametern auf und prüft jedes Mal das Schema.

ParameterHTTPLatenzErgebnis
exchange=binance2001 msBestanden FRESH
family=funding2001 msBestanden FRESH

Geprüft 2026-11-13 03:29:27 UTC

Details

Authentifizierung
Keine. Öffentlicher Endpunkt.
Rate-Limit
1200 Anfragen pro Minute und IP
Server-Cache
20s
Edge-Micro-Cache
10s
Aktualisierungsintervall
Bei Anfrage aus dem neuesten Datenzeitstempel jedes Paars aus Börse × Datenfamilie ausgewertet.
Datenquellen
CoinBoss-Rohtabellen (Zeitstempel der jeweils neuesten Zeile), Zustandsprotokoll der Collectoren. Ein laufender Prozess wird nie als gesunde Daten gewertet.
Zeitstempel
Unix-Epoche in Millisekunden (UTC), sofern die Feldbeschreibung nichts anderes angibt
Antwortformat
json
Stabilität
Stabil
Verfügbar seit
2026-11-11

Live-Status

VerfügbarGeprüft 2026-11-13 03:53:46 UTCHTTP 200887 msSchema stimmt übereinNeuester Datenpunkt 0s alt

Verfügbarkeit, letzte 30 Tage

100 % von 407 Prüfungen bestanden

Fehler

Fehlgeschlagene Aufrufe haben auf jedem Endpunkt denselben Aufbau. Die vollständige Liste steht auf der Fehlerseite. Fehler und Rate-Limits →

CodeHTTPBedeutungEmpfohlene Reaktion
INVALID_PARAM400Ein erforderlicher Parameter fehlt oder ein Wert wird nicht akzeptiert. `param` nennt den Parameter, sofern er bekannt ist.Nicht unverändert wiederholen; die Anfrage korrigieren.
UNAUTHORIZED401Der Header `CB-API-KEY` wurde gesendet, der Schlüssel ist jedoch unbekannt oder widerrufen. Öffentliche Daten erfordern keinen Schlüssel – lassen Sie den Header weg oder verwenden Sie einen gültigen Schlüssel.Nicht unverändert wiederholen.
FORBIDDEN403Die Route gehört nicht zur öffentlichen API (intern oder nur für Konten).Nicht wiederholen.
NOT_FOUND404Unbekannte Route, oder der angefragte Coin / die Börse / der Fonds existiert nicht.Nicht wiederholen; Pfad und Kennungen mit dem Katalog abgleichen.
RATE_LIMITED429Mehr Anfragen, als das Limit pro Minute zulässt. `Retry-After` gibt die Wartezeit in Sekunden an.`Retry-After` abwarten, dann mit Backoff wiederholen.
INTERNAL500Unerwarteter Serverfehler. Die Meldung ist bewusst allgemein gehalten; geben Sie `request_id` an, wenn Sie den Fehler melden.Einmal nach einigen Sekunden wiederholen; wenn der Fehler bestehen bleibt, mit der Request-ID melden.
UPSTREAM_FAILED503Die Datenquelle hinter diesem Endpunkt hat nicht rechtzeitig geantwortet. Es werden ersatzweise keine veralteten oder stellvertretenden Zahlen zurückgegeben.Mit Backoff wiederholen; die Statusseite prüfen.
UNAVAILABLE501 / 503Der Datensatz ist vorübergehend nicht bereit (Cache wird aufgewärmt), oder der Endpunkt hat noch keine rechtmäßige öffentliche Quelle.Später wiederholen; der Katalog kennzeichnet Endpunkte, die konzeptbedingt nicht verfügbar sind.
REQUEST_FAILED200Einige ältere Endpunkte antworten mit HTTP 200 und `success: false`. Prüfen Sie immer `success`, nicht nur den HTTP-Status.Hängt von der Meldung ab; als fehlgeschlagene Anfrage behandeln.

Ausprobieren

GET/api/meta/qualityVerfügbar
Parameter

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

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

Anfrage-URLhttps://www.coinboss.com/api/meta/quality
Wählen Sie einen Endpunkt und klicken Sie auf „Anfrage senden“. Antwort, Header und Laufzeit erscheinen hier.