API-Konventionen
Regeln, die endpunktübergreifend gelten: URL-Aufbau, Antwort-Envelope, Symbole, Einheiten, Zeitstempel, Paginierung und Caching.
Basis-URL und Versionierung
Alle Endpunkte liegen unter einer Basis-URL und werden per HTTPS GET aufgerufen. Die aktuellen Pfade haben die Version v1. Innerhalb von v1 sind Änderungen additiv: Felder und Endpunkte können hinzukommen, bestehende Felder behalten Name, Typ und Bedeutung. Eine inkompatible Änderung würde unter einem neuen Pfad ausgeliefert und vorab im Änderungsprotokoll angekündigt.
https://www.coinboss.com/apiAntwort-Envelope
Jede JSON-Antwort hat auf oberster Ebene ein success-Flag. Die Endpunkte der eigenen Datenschicht (Pfade unter /api/sd) haben dieselben zusätzlichen Blöcke:
| Feld | Beschreibung |
|---|---|
| success | true, wenn der Aufruf erfolgreich war. Immer prüfen. |
| schema | Kennung und Hauptversion der Antwortstruktur. |
| now | Serverzeit beim Zusammenstellen der Antwort, in Millisekunden. |
| coverage | Welche Börsen enthalten sind, welche nicht verfügbar sind und warum, und welche als veraltet ausgeschlossen wurden. |
| method | Die Formel oder Regel hinter jedem Aggregat der Antwort. |
| meta | Quellen, Zeitstempel, Zeitfenster, Qualitätseinstufung, Veraltet-Flag, Cache-Lebensdauer und Fallback-Verhalten. |
Ältere Endpunkte liefern success und ein data-Feld und enthalten coverage, method oder meta möglicherweise nicht. Ihre Referenzseiten dokumentieren die genauen Felder.
Coins, Kontrakte und Börsen
- coin-Parameter erwarten das Basissymbol in Großbuchstaben, zum Beispiel BTC oder PEPE.
- Multiplikator-Kontrakte wie 1000PEPE oder kPEPE werden ihrem Basis-Coin zugeordnet; die Mengen werden umgerechnet.
- Börsenkennungen sind kleingeschrieben, zum Beispiel binance, okx, bybit, hyperliquid.
- Kontraktsymbole werden so zurückgegeben, wie die Börse sie benennt. USDT-, USDC- und coin-marginierte Kontrakte sowie Terminkontrakte mit Fälligkeit werden über ein Feld für den Kontrakttyp unterschieden, wo ein Endpunkt sie mischt.
- Perpetual-Kontrakte auf tokenisierte Aktien und Rohstoffe, die denselben Ticker wie ein Krypto-Asset tragen, sind von den Krypto-Aggregaten ausgeschlossen.
Einheiten
- Felder mit der Endung _usd sind Nominalwerte in US-Dollar.
- Funding-Rates sind Dezimalbrüche, keine Prozentwerte: 0.0001 entspricht 0,01 %. Felder mit der Endung _8h sind auf ein 8-Stunden-Intervall normalisiert; das ursprüngliche Intervall wird neben der Rohrate zurückgegeben.
- Felder mit der Endung _pct sind Prozentwerte: 1.5 entspricht 1,5 %.
- Open Interest ist einseitig gezählter Nominalwert in USD, sofern eine Feldbeschreibung nichts anderes angibt. Börsen, die doppelseitig gezählte Werte veröffentlichen, sind im method-Block vermerkt.
- Einige Legacy-Endpunkte geben Dezimalzahlen als Strings zurück, um die Genauigkeit zu erhalten. Die Feldtabelle weist den Typ als string(decimal) aus.
Zeitstempel
- Zeitstempel sind Unix-Epoch-Millisekunden in UTC, sofern eine Feldbeschreibung nichts anderes angibt.
- observed_at ist der börseneigene Zeitstempel des neuesten enthaltenen Datensatzes oder null, wenn die Börse keinen liefert.
- received_at ist der Zeitpunkt, zu dem der CoinBoss-Collector diesen Datensatz gespeichert hat.
- fetched_at ist der Zeitpunkt, zu dem die Antwort zusammengestellt wurde. Bei einer gecachten Antwort liegt er um bis zu eine Cache-TTL vor dem Zeitpunkt Ihres Aufrufs.
- Tagesreihen verwenden UTC-Tagesgrenzen.
Zeitfenster und Intervalle
- Fensterparameter verwenden Kurzformen: 1h, 4h, 12h, 24h und auf einigen Endpunkten 3d, 7d, 30d, 90d. Die Referenzseite führt die zulässigen Werte je Endpunkt auf.
- Ein unbekannter Fensterwert wird entweder mit INVALID_PARAM abgelehnt oder auf den dokumentierten Standard zurückgesetzt, wie beim jeweiligen Parameter angegeben.
- Die Bucket-Größe von Zeitreihen hängt vom Zeitfenster ab und ist auf der Referenzseite angegeben.
Paginierung und Sortierung
- Listenendpunkte verwenden limit und offset oder page und size, wie je Endpunkt dokumentiert. Limits sind gedeckelt; ein größerer Wert wird auf den Höchstwert reduziert.
- Enthält eine Antwort total, ist dies die Zeilenzahl vor der Paginierung.
- Die Sortierreihenfolge ist fest, sofern der Endpunkt keinen Sortierparameter dokumentiert.
Null, 0 und fehlende Felder
- null bedeutet, dass der Wert unbekannt oder nicht verfügbar ist. 0 bedeutet eine gemessene Null.
- Charts müssen bei null eine Lücke zeigen. Nicht interpolieren.
- Ein Feld, das in einer Feldtabelle mit „kann fehlen“ gekennzeichnet ist, kann im Objekt ganz fehlen; behandeln Sie es wie null.
Caching
- Jeder Endpunkt hat eine Server-Cache-TTL, die auf seiner Referenzseite und als meta.cache_ttl_s angegeben ist. Der Header X-Cache meldet HIT, STALE oder MISS.
- Vor den meisten GET-Endpunkten liegt ein kurzlebiger Edge-Cache von etwa zehn Sekunden.
- Abfragen in kürzeren Abständen als der TTL liefern identische Daten und verbrauchen lediglich Ihr Rate-Limit.
WebSocket
wss://www.coinboss.com/ws- Der Stream liefert ausschließlich Push-Nachrichten im JSON-Format. Jede Nachricht hat ein type-Feld.
- Verbinden Sie sich nach einem Verbindungsabbruch mit Verzögerung neu und laden Sie die Lücke über den passenden HTTP-Endpunkt nach.
Maschinenlesbare Dokumentation
Der Katalog, die Parameter und die Feldtabelle jedes Endpunkts, der Status und die Qualitätsmatrix stehen als JSON unter /api/meta bereit, der gesamte Katalog zusätzlich als OpenAPI-3-Dokument.