/api/sd/options/history
GETDegradatoSTALE

Storico delle opzioni (orario)

Serie oraria di open interest, volume, rapporto put/call, IV ATM o max pain delle opzioni per una moneta. Lo storico parte da quando CoinBoss ha iniziato la raccolta (2026-11-11); le ore precedenti non vengono ricostruite a posteriori.

GET/api/sd/options/history
Copertura parziale. La raccolta di questa serie è iniziata il 2026-11-11. Finché l'intervallo richiesto non è stato riempito, la risposta restituisce i punti esistenti, riporta `points_count` rispetto a `expected_points` e imposta `meta.quality = "PARTIAL"`. Le ore mancanti non vengono interpolate.
Degradato. L'endpoint segnala una qualità dei dati STALE

Richiesta

Parametri di query

NomeTipoObbligatorioPredefinitoValori ammessiDescrizione
coinstringObbligatorio——Simbolo della moneta, senza distinzione tra maiuscole e minuscole (per esempio `BTC`). I valori mancanti o malformati restituiscono 400. Esempio: BTC
metricstringObbligatorio—oi, volume, pcr, atm_iv, max_painSerie da restituire. Esempio: oi
rangestringFacoltativo7d24h, 7d, 30d, 90dIntervallo retrospettivo; un punto all'ora, al massimo 2160 punti.
exchangestringFacoltativoallall, deribit, binance, bybit, okx, gate, coincallUn exchange, oppure `all` per l'aggregato tra exchange.

Richiesta di esempio

curl -s "https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi"

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. Cambia solo quando un campo esistente cambia significato o tipo.
nownumbermsOra del server al momento della composizione della risposta.
coinstring—Simbolo della moneta (in maiuscolo).
exchangestring—ID dell'exchange (in minuscolo).
metricstring—Serie selezionata dal parametro `metric`.
rangestring—Intervallo retrospettivo applicato.
intervalstring—Distanza tra i punti della serie.
points_countnumber—Numero di punti restituiti.
expected_pointsnumber—Numero di punti orari che l'intervallo richiesto conterrebbe una volta completo.
history_started_atnumbermsOra della prima ora raccolta da CoinBoss.
first_tnumbermsOra del primo punto restituito.
last_tnumbermsOra dell'ultimo punto restituito.
pointsarray—Punti della serie, dal più vecchio.
points[]object—Punti della serie, dal più vecchio.
points[].tnumbermsInizio del bucket temporale.
points[].snapshot_atnumbermsOra del ciclo del collector da cui è stato scritto il punto.
points[].n_exchangesnumber—Numero di exchange nel punto.
points[].exchangesarray—Exchange inclusi in questa riga.
points[].exchanges[]string—Exchange inclusi in questa riga.
points[].oi_usdnumberUSDOpen interest come nozionale USD: quantità di monete × prezzo dell'indice spot. Unilaterale. può essere assente
points[].call_oi_usdnumberUSDOpen interest delle call, nozionale USD. può essere assente
points[].put_oi_usdnumberUSDOpen interest delle put, nozionale USD. può essere assente
points[].oi_coinnumbercoinOpen interest in unità della moneta sottostante. può essere assente
points[].index_pricenumberUSDPrezzo dell'indice spot usato per la conversione in USD (negli aggregati, mediana dei prezzi dell'indice dei singoli exchange). può essere assente
coverageobject—Che cosa è incluso e che cosa non è incluso nei numeri. Confrontare questo dato prima di confrontare i totali con un'altra fonte.
coverage.included_exchangesarray—Fonti i cui dati aggiornati sono inclusi.
coverage.included_exchanges[]string—Fonti i cui dati aggiornati sono inclusi.
coverage.unavailablearray—Fonti che non è stato possibile includere, ciascuna con il motivo. Non vengono mai conteggiate come 0.
coverage.unavailable[]object—Fonti che non è stato possibile includere, ciascuna con il motivo. Non vengono mai conteggiate come 0.
coverage.unavailable[].exchangestring—ID dell'exchange (in minuscolo).
coverage.unavailable[].reasonstring—Codice del motivo leggibile dalla macchina.
coverage.unavailable[].detailstring—Spiegazione del motivo in linguaggio naturale.
coverage.stale_excludedarray—Righe escluse perché il loro ultimo aggiornamento è fuori dalla finestra di freschezza. vuoto nei campioni usati per generare questa tabella
methodobject—Enunciato in testo semplice delle formule usate per questa risposta, una voce per campo.
method.pointsstring—Nota sulla formula di `points`, in testo semplice.
method.exchangesstring—Nota sulla formula di `exchanges`, in testo semplice.
method.history_depthstring—Nota sulla formula di `history_depth`, in testo semplice.
method.oi_usdstring—Nota sulla formula di `oi_usd`, in testo semplice. può essere assente
metaobject—Provenienza e freschezza di questa risposta.
meta.schemastring—ID dello schema di questa risposta. Cambia solo quando un campo esistente cambia significato o tipo.
meta.sourcearray—Endpoint pubblici a monte da cui sono stati raccolti i dati.
meta.source[]object—Endpoint pubblici a monte da cui sono stati raccolti i dati.
meta.source[].exchangestring—ID dell'exchange (in minuscolo).
meta.source[].endpointstring—Endpoint pubblico della fonte letto dal collector (mostrato a scopo di provenienza; i client non lo chiamano mai).
meta.observed_atnull—Timestamp indicato dalla fonte per i dati.
meta.received_atnumbermsOra in cui il collector di CoinBoss ha ricevuto i dati.
meta.fetched_atnumbermsOra in cui questa risposta è stata composta.
meta.windowstring—Finestra temporale coperta dai numeri.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN o UNAVAILABLE, valutato dai timestamp dei dati e dalla copertura.
meta.is_staleboolean—True quando i dati sono più vecchi della loro finestra di freschezza.
meta.cache_ttl_snumbersDurata in cache di questa risposta.
meta.fallbackstring—Che cosa restituisce l'endpoint quando il collector o una fonte non funziona.
points[].pcr_oinumberratioOpen interest delle put ÷ open interest delle call, in unità di moneta; `null` quando il lato call è 0. può essere assente
points[].pcr_volnumberratioVolume a 24h delle put ÷ volume a 24h delle call, in unità di moneta; `null` quando il lato call è 0. può essere assente
method.pcr_oistring—Nota sulla formula di `pcr_oi`, in testo semplice. può essere assente
method.pcr_volstring—Nota sulla formula di `pcr_vol`, in testo semplice. può essere assente
points[].atm_iv_30dnumber%IV ATM interpolata linearmente a una scadenza costante di 30 giorni; `null` quando i 30 giorni non sono compresi tra due scadenze. può essere assente
method.atm_ivstring—Nota sulla formula di `atm_iv`, in testo semplice. può essere assente
method.atm_iv_30dstring—Nota sulla formula di `atm_iv_30d`, in testo semplice. può essere assente

Generata 2026-11-11 23:00 UTC da 3 risposte reali.

Risposta di esempio

/api/sd/options/history?coin=BTC&metric=oi · Risposta reale acquisita 2026-11-13 03:58:20 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: points conteneva 23 elementi; meta.source conteneva 6 elementi; coverage.unavailable conteneva 12 elementi.

  • {
    • "success": true,
    • "schema": "coinboss.sd.options/1",
    • "now": 1794542300888,
    • "coin": "BTC",
    • "exchange": "all",
    • "metric": "oi",
    • "range": "7d",
    • "interval": "1h",
    • "points_count": 23,
    • "expected_points": 168,
    • "history_started_at": 1794416400000,
    • "first_t": 1794416400000,
    • "last_t": 1794520800000,
    • "points": [
      • { … 9 },
      • { … 9 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 6 ],
      • "unavailable": [ … 2 ],
      • "stale_excluded": []
      },
    • "method": {
      • "points": "one point per UTC hour bucket (t = bucket start, ms); the value is the LAST collector snapshot inside that hour (snapshot_at); hours in which the collector prod…",
      • "exchanges": "exchanges that were fresh and therefore included in that hour's figure; a change in this list between points explains level shifts in the all-exchange series",
      • "history_depth": "hourly summaries are kept for 90 days; the series starts when the collector was first deployed (history_started_at), so fewer points than the requested range ma…",
      • "oi_usd": "sum over contracts of oi_coin x that exchange's spot index price (USDT/USDC treated 1:1 as USD); oi_coin is open interest in units of the underlying coin after …"
      },
    • "meta": {
      • "schema": "coinboss.sd.options/1",
      • "source": [ … 2 ],
      • "observed_at": null,
      • "received_at": 1794522484809,
      • "fetched_at": 1794542300888,
      • "window": "7d",
      • "quality": "STALE",
      • "is_stale": true,
      • "cache_ttl_s": 300,
      • "fallback": "hours without a collector snapshot are absent from the series (no interpolation); PARTIAL means fewer hourly points exist than the requested range (history shor…"
      }
    }

Campioni verificati

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

ParametriHTTPLatenzaRisultato
coin=ETH&range=24h&metric=pcr2002 msSuperato STALE
coin=BTC&metric=atm_iv2003 msSuperato STALE
coin=BTC4001 msSuperato restituisce l'errore previsto

Verificato 2026-11-13 03:58:20 UTC

Dettagli

Autenticazione
Nessuna. Endpoint pubblico.
Limite di richieste
1200 richieste al minuto per IP
Cache del server
5m
Micro-cache edge
10s
Frequenza di aggiornamento
Un punto all'ora, scritto dall'ultimo ciclo del collector di quell'ora.
Finestra
24h / 7d / 30d / 90d, punti orari.
Fonti dei dati
Endpoint REST pubblici delle opzioni di Deribit, Binance, Bybit, OKX, Gate e Coincall, raccolti e archiviati da CoinBoss (sd_opt_latest, sd_opt_summary_hourly). Non è coinvolto alcun aggregatore di terze parti.
Copertura degli exchange
Sei exchange di opzioni. Una moneta priva di opzioni quotate sugli exchange selezionati restituisce HTTP 200 con campi null, `meta.quality = "UNAVAILABLE"` e il motivo in `coverage.unavailable`. Vi sono elencati anche gli exchange privi di un feed pubblico di opzioni.
Paginazione
Nessuna paginazione; `range` determina il numero di punti.
Ordinamento
Tempo crescente.
Unità
USD notional = contracts × contract size × spot index price of the venue. `*_coin` fields are in units of the underlying coin. Implied volatility is in percent (55 = 55 %). `vol_premium_usd_24h` is premium turnover, reported separately and never added to notional volume.
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

DegradatoVerificato 2026-11-13 03:58:20 UTCHTTP 2002 msSchema conformeDato più recente risalente a 6h fa

L'endpoint segnala una qualità dei dati STALE

Disponibilità, ultimi 30 giorni

99.75% 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/sd/options/historyDegradato
Parametri

string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.

string — Series to return.

string · predefinito 7d — Look-back range; one point per hour, 2160 points at most.

string · predefinito all — One venue, or `all` for the cross-venue aggregate.

URL della richiestahttps://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi
Scegliere un endpoint e premere «Invia richiesta». La risposta, gli header e i tempi compariranno qui.