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.
/api/meta/qualityAnfrage
Query-Parameter
| Name | Typ | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|---|
| exchange | string | Optional | — | — | Nur diese Börse zurückgeben (Kennung in Kleinbuchstaben, zum Beispiel `binance`). |
| family | string | Optional | — | — | 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.
| Feld | Typ | Einheit | Beschreibung |
|---|---|---|---|
| success | boolean | — | true, wenn die Anfrage erfolgreich war. Im Fehlerfall lautet der Body `{ success: false, code, error, request_id }`. |
| schema | string | — | Schema-ID dieser Antwort (`coinboss.meta.quality/1`). |
| now | number | ms | Serverzeit beim Erstellen der Antwort. |
| families | array | — | 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[].id | string | — | Kennung. |
| families[].scope | string | — | `exchange` für Familien, die in `matrix` je Börse beurteilt werden. |
| families[].title | string | — | Anzeigetitel der Familie. |
| families[].what | string | — | Kurzbeschreibung der Daten, die die Familie abdeckt. |
| families[].table | string | — | Name des internen Datensatzes, anhand dessen die Familie beurteilt wird; nur zur Information. |
| families[].cadence | string | — | Erfassungsplan der Familie im Klartext; null, wenn nicht angegeben. |
| families[].fresh_within_s | number | s | Aktualitätsfenster: Daten, die neuer sind, gelten als aktuell. |
| exchanges | array | — | Börsen. |
| exchanges[] | string | — | Börsen. |
| matrix | object | — | 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.{*}.{*}.status | string | — | Status. |
| matrix.{*}.{*}.lag_s | number|null | s | Jetzt 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_at | number|null | ms | Zeitstempel. |
| matrix.{*}.{*}.fetched_at | number|null | ms | Zeitpunkt, zu dem CoinBoss die Daten von der Quelle abgerufen hat. |
| matrix.{*}.{*}.fresh_within_s | number|null | s | Aktualitätsfenster: Daten, die neuer sind, gelten als aktuell. |
| matrix.{*}.{*}.coverage | object|null | — | Was enthalten ist und was fehlt. |
| matrix.{*}.{*}.coverage.rows | number | — | Ergebniszeilen. kann fehlen |
| matrix.{*}.{*}.coverage.rows_fresh | number | — | Innerhalb des Aktualitätsfensters aktualisierte Zeilen. kann fehlen |
| matrix.{*}.{*}.coverage.rows_usable | number | — | Zeilen innerhalb des Nutzbarkeitsfensters. kann fehlen |
| matrix.{*}.{*}.coverage.rows_orphan | number | — | Zeilen, deren Kontrakt nicht mehr gelistet ist. kann fehlen |
| matrix.{*}.{*}.coverage.rows_invalid | number | — | Von der Validierung abgewiesene Zeilen. kann fehlen |
| matrix.{*}.{*}.reason | string|null | — | Begründungscode. |
| matrix.{*}.{*}.coverage.rows_no_liveness | number | count | Funding-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_interval | number | count | Kürzlich aktualisierte Funding-Zeilen, deren Abrechnungsintervall unbekannt ist, sodass sie nicht auf 8 Stunden normalisiert werden können. kann fehlen |
| matrix.{*}.{*}.coverage.symbols | number | — | Symbole. kann fehlen |
| matrix.{*}.{*}.coverage.events_1h | number | count | In der letzten Stunde von der Börse gespeicherte Liquidationsorders; die Mindestordergrößen unterscheiden sich je Börse. kann fehlen |
| matrix.{*}.{*}.coverage.events_24h | number | count | In den letzten 24 Stunden von der Börse gespeicherte Liquidationsorders; die Mindestordergrößen unterscheiden sich je Börse. kann fehlen |
| matrix.{*}.{*}.via | string | — | Erhebungspfad. kann fehlen |
| matrix.{*}.{*}.coverage.books | number | count | Anzahl der erfassten Orderbücher. kann fehlen |
| matrix.{*}.{*}.coverage.books_fresh | number | count | Anzahl der Orderbücher, die innerhalb des Aktualitätsfensters aktualisiert wurden. kann fehlen |
| matrix.{*}.{*}.coverage.books_reaching_2pct | number | count | Anzahl der Orderbücher, die tief genug sind, um ±2 % um den Mittelkurs abzudecken. kann fehlen |
| matrix.{*}.{*}.coverage.contracts | number | — | Zeilen je Kontrakt. kann fehlen |
| matrix.{*}.{*}.coverage.contracts_fresh | number | count | Anzahl der Kontrakte, die innerhalb des Aktualitätsfensters aktualisiert wurden. kann fehlen |
| matrix.{*}.{*}.coverage.with_mark_and_index | number | count | Anzahl der Kontrakte, die sowohl einen Mark-Preis als auch einen Indexpreis haben. kann fehlen |
| matrix.{*}.{*}.coverage.delivery_contracts | number | count | Anzahl der Terminkontrakte mit Fälligkeit (datierte Kontrakte). kann fehlen |
| matrix.{*}.{*}.note | string | — | Hinweis. kann fehlen |
| matrix.{*}.{*}.coverage.coins | number | — | Coins. kann fehlen |
| matrix.{*}.{*}.coverage.rows_without_oi | number | count | Zeilen 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_iv | number | count | Anzahl der Optionskontrakte, die eine implizite Mark-Volatilität haben. kann fehlen |
| matrix.{*}.{*}.coverage.with_greeks | number | count | Anzahl der Optionskontrakte, die Greeks haben. kann fehlen |
| datasets | array | — | 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[].family | string | — | Kennung des Datensatzes, zum Beispiel `etf` oder `cme`. |
| datasets[].id | string | — | Kennung. |
| datasets[].title | string | — | Anzeigename des Datensatzes. |
| datasets[].source | string | — | Herkunft des Werts. |
| datasets[].endpoint | string | — | Öffentlicher Endpunkt, der den Datensatz bereitstellt. |
| datasets[].status | string | — | Status. |
| datasets[].lag_s | number | s | Alter des jüngsten Datenpunkts zum Zeitpunkt der Erstellung der Antwort. |
| datasets[].source_at | number | ms | Zeitstempel. |
| datasets[].fetched_at | number | ms | Zeitpunkt, zu dem CoinBoss die Daten von der Quelle abgerufen hat. |
| datasets[].fresh_within_s | number | s | Aktualitätsfenster: Daten, die neuer sind, gelten als aktuell. |
| datasets[].coverage | object | — | Was enthalten ist und was fehlt. |
| datasets[].coverage.funds_total | number | count | Anzahl der erfassten Fonds. kann fehlen |
| datasets[].coverage.funds_covered | number | count | Anzahl der Fonds mit einer verwendbaren Offenlegung. kann fehlen |
| datasets[].coverage.funds_unavailable | number | count | Anzahl der Fonds, deren Emittent keine maschinenlesbare Offenlegung veröffentlicht. kann fehlen |
| datasets[].coverage.funds_failing | number | count | Anzahl der Fonds, deren Offenlegung in der letzten Erfassungsrunde nicht gelesen werden konnte. kann fehlen |
| datasets[].coverage.as_of | string | — | Jüngstes Offenlegungsdatum unter den abgedeckten Fonds (YYYY-MM-DD). kann fehlen |
| datasets[].coverage.as_of_min | string | — | Ältestes Offenlegungsdatum unter den abgedeckten Fonds (YYYY-MM-DD). kann fehlen |
| datasets[].reason | string|null | — | Begründungscode. |
| datasets[].coverage.contracts | number | — | Zeilen je Kontrakt. kann fehlen |
| datasets[].coverage.report_date | string | — | Datum des jüngsten Commitments-of-Traders-Berichts der CFTC (YYYY-MM-DD). kann fehlen |
| datasets[].coverage.products | number | count | Anzahl der abgedeckten CME-Produkte. kann fehlen |
| datasets[].coverage.trade_date | string | — | Handelsdatum des jüngsten CME-Tagesberichts (YYYY-MM-DD). kann fehlen |
| summary | object | — | Zusammenfassungsblock. dynamische Schlüssel: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE |
| summary.{*} | number | — | Zusammenfassungsblock. |
| by_family | object | — | 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.{*}.{*} | number | count | Anzahl der Börsen mit diesem Status für diese Familie. |
| alerts | array | — | 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[].level | string | — | Niveau. |
| alerts[].exchange | string | — | Börsenkennung in Kleinbuchstaben (zum Beispiel `binance`). |
| alerts[].family | string | — | Datenfamilie, die die Warnmeldung betrifft. |
| alerts[].code | string | — | Code. |
| alerts[].detail | string | — | Detail. |
| alerts[].opened_at | number | ms | Zeitstempel. |
| alerts[].last_seen_at | number | ms | Zeitstempel. |
| alerts[].resolved_at | number|null | ms | Zeitstempel. |
| alerts[].hits | number | count | Anzahl der Patrouillenläufe (einer alle 5 Minuten), die den Zustand seit Öffnung der Warnmeldung beobachtet haben. |
| alerts[].open | boolean | — | Eröffnungskurs des Zeitraums. |
| monitor | object | — | Zustand der Überwachung selbst: Zeitpunkt und Alter des letzten Patrouillenlaufs, `patrol_ok` und das Alter des Collector-Heartbeats. |
| monitor.patrol_last_run_at | number | ms | Zeitstempel. |
| monitor.patrol_age_s | number | s | Sekunden seit dem Ereignis. |
| monitor.patrol_ok | boolean | — | 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_s | number | s | Sekunden seit dem Ereignis. |
| errors | null | — | Map von Familienkennung zu einem Fehlercode für Familien, deren Qualitätsprüfung selbst fehlgeschlagen ist; null, wenn jede Prüfung gelaufen ist. |
| legend | object | — | 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`). |
| method | object | — | Hinweise zu Formel / Methode. |
| method.status | string | — | Status. |
| method.lag_s | string | — | Klartextangabe dazu, wie `lag_s` berechnet wird. |
| method.source_at | string | — | Datums- und Zeitangabe als Zeichenkette. |
| method.fetched_at | string | — | Datums- und Zeitangabe als Zeichenkette. |
| meta | object | — | Umschlag dieser Antwort: Schema-ID, erzeugendes System, Zeitstempel, Cache-Lebensdauer und Aktualität. |
| meta.schema | string | — | Schema-ID dieser Antwort; derselbe Wert wie `schema` auf oberster Ebene. |
| meta.source | array | — | Herkunft des Werts. |
| meta.source[] | object | — | Herkunft des Werts. |
| meta.source[].system | string | — | System, das die Daten erzeugt hat; bei den Endpunkten des Entwicklerzentrums immer `coinboss`. |
| meta.source[].component | string | — | Komponente hinter den Daten: die Endpunkt-Probe und die Datenqualitäts-Patrouille. |
| meta.observed_at | null | — | Zeitstempel. |
| meta.received_at | number | ms | Zeitstempel. |
| meta.fetched_at | number | ms | Zeitpunkt, zu dem CoinBoss die Daten von der Quelle abgerufen hat. |
| meta.window | string | — | Zeitfenster. |
| meta.cache_ttl_s | number | s | Serverseitige Cache-Lebensdauer dieser Antwort. |
| meta.quality | string | — | Normalerweise `FRESH`; `PARTIAL`, wenn die Qualitäts-Patrouille nicht innerhalb von 15 Minuten gelaufen ist (betroffen ist nur die Liste der Warnmeldungen). |
| meta.is_stale | boolean | — | true, wenn die Zeile älter als das Aktualitätsfenster ist; veraltete Zeilen fließen nicht in die Summen ein. |
| meta.fallback | string | — | 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"
- "exchanges"
- "aster"
- "backpack"
- "binance"
- "bingx"
- "bitfinex"
- "bitget"
- "bitstamp"
- "bitunix"
- "matrix"
- "aster"
- "backpack"
- "datasets"
- "summary"
- "FRESH"161
- "PARTIAL"7
- "by_family"
- "ticker"
- "oi"
- "alerts"
- "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"
- "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.
| Parameter | HTTP | Latenz | Ergebnis |
|---|---|---|---|
| exchange=binance | 200 | 1 ms | Bestanden FRESH |
| family=funding | 200 | 1 ms | Bestanden 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ü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 →
| Code | HTTP | Bedeutung | Empfohlene Reaktion |
|---|---|---|---|
| INVALID_PARAM | 400 | Ein erforderlicher Parameter fehlt oder ein Wert wird nicht akzeptiert. `param` nennt den Parameter, sofern er bekannt ist. | Nicht unverändert wiederholen; die Anfrage korrigieren. |
| UNAUTHORIZED | 401 | Der 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. |
| FORBIDDEN | 403 | Die Route gehört nicht zur öffentlichen API (intern oder nur für Konten). | Nicht wiederholen. |
| NOT_FOUND | 404 | Unbekannte Route, oder der angefragte Coin / die Börse / der Fonds existiert nicht. | Nicht wiederholen; Pfad und Kennungen mit dem Katalog abgleichen. |
| RATE_LIMITED | 429 | Mehr Anfragen, als das Limit pro Minute zulässt. `Retry-After` gibt die Wartezeit in Sekunden an. | `Retry-After` abwarten, dann mit Backoff wiederholen. |
| INTERNAL | 500 | Unerwarteter 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_FAILED | 503 | Die 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. |
| UNAVAILABLE | 501 / 503 | Der 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_FAILED | 200 | Einige ä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
/api/meta/qualityVerfügbarstring — Return only this exchange (lower-case id, for example `binance`).
string — Return only this data family (for example `oi`, `funding`, `liquidation`).
https://www.coinboss.com/api/meta/qualityMehr in dieser Kategorie
- Datenqualitätsmatrix (Sicht der Collectoren) /api/sd/quality
- API-Katalog /api/meta/catalog
- Änderungsprotokoll und Versionierungsrichtlinie /api/meta/changelog
- Endpunktdokumentation /api/meta/endpoint
- OpenAPI-Dokument /api/meta/openapi
- Datenqualitätsmatrix /api/meta/quality
- Dienststatus /api/meta/status
- Prüft, ob ein Coin-Symbol der Plattform bekannt ist /api/coin-exists
- Zuordnung von Coin-Symbol zu lokal gehostetem Icon-Pfad /api/coin-icons
- Aggregierte Zusammenfassung der Coin-Seite /api/content/coin
- Websiteweite Zusammenfassung der Bereiche /api/content/summary
- Tabelle der Fiat-Wechselkurse /api/currency/fx
- Zuordnung von Börsenkennung zu lokal gehostetem Icon-Pfad /api/exchange-icons
- Liveness-Check /api/health
- Statistik der Research-Seite /api/research/stats