/api/sd/options/history
GETDegradadoSTALE

Histórico de opções (horário)

Série horária de contratos em aberto, volume, razão put/call, IV ATM ou max pain de opções de uma moeda. O histórico começa quando a CoinBoss iniciou a coleta (2026-11-11); as horas anteriores não são preenchidas retroativamente.

GET/api/sd/options/history
Cobertura parcial. A coleta desta série começou em 2026-11-11. Até que a janela solicitada esteja preenchida, a resposta retorna os pontos existentes, informa `points_count` em relação a `expected_points` e marca `meta.quality = "PARTIAL"`. As horas faltantes não são interpoladas.
Degradado. O endpoint reporta qualidade dos dados STALE

Requisição

Parâmetros de consulta

NomeTipoObrigatórioPadrãoValores aceitosDescrição
coinstringObrigatório——Símbolo da moeda, sem distinção entre maiúsculas e minúsculas (por exemplo, `BTC`). Valores ausentes ou malformados retornam 400. Exemplo: BTC
metricstringObrigatório—oi, volume, pcr, atm_iv, max_painSérie a retornar. Exemplo: oi
rangestringOpcional7d24h, 7d, 30d, 90dJanela retroativa; um ponto por hora, no máximo 2160 pontos.
exchangestringOpcionalallall, deribit, binance, bybit, okx, gate, coincallUma corretora, ou `all` para o agregado entre corretoras.

Exemplo de requisição

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

Campos da resposta

A tabela de campos é gerada a partir de respostas reais, portanto lista exatamente o que o endpoint retorna. Os caminhos usam a[] para itens de array e {*} para objetos indexados por um nome dinâmico, como uma moeda ou uma corretora.

CampoTipoUnidadeDescrição
successboolean—true quando a requisição foi bem-sucedida. Em caso de falha, o corpo é `{ success: false, code, error, request_id }`.
schemastring—ID do esquema desta resposta. Só muda quando um campo existente muda de significado ou de tipo.
nownumbermsHorário do servidor em que a resposta foi montada.
coinstring—Símbolo da moeda (em maiúsculas).
exchangestring—ID da corretora (em minúsculas).
metricstring—Série selecionada pelo parâmetro `metric`.
rangestring—Janela retroativa aplicada.
intervalstring—Espaçamento dos pontos da série.
points_countnumber—Número de pontos retornados.
expected_pointsnumber—Número de pontos horários que a janela solicitada conteria quando completa.
history_started_atnumbermsHorário da primeira hora coletada pela CoinBoss.
first_tnumbermsHorário do primeiro ponto retornado.
last_tnumbermsHorário do último ponto retornado.
pointsarray—Pontos da série, do mais antigo para o mais recente.
points[]object—Pontos da série, do mais antigo para o mais recente.
points[].tnumbermsInício do bucket de tempo.
points[].snapshot_atnumbermsHorário da rodada do coletor a partir da qual o ponto foi gravado.
points[].n_exchangesnumber—Número de corretoras no ponto.
points[].exchangesarray—Corretoras incluídas nesta linha.
points[].exchanges[]string—Corretoras incluídas nesta linha.
points[].oi_usdnumberUSDContratos em aberto em valor nocional em USD: quantidade de moedas × preço do índice spot. Unilateral. pode estar ausente
points[].call_oi_usdnumberUSDContratos em aberto de calls, valor nocional em USD. pode estar ausente
points[].put_oi_usdnumberUSDContratos em aberto de puts, valor nocional em USD. pode estar ausente
points[].oi_coinnumbercoinContratos em aberto em unidades da moeda subjacente. pode estar ausente
points[].index_pricenumberUSDPreço do índice spot usado para a conversão em USD (nos agregados, a mediana dos preços do índice das próprias corretoras). pode estar ausente
coverageobject—O que está e o que não está incluído nos números. Compare isto antes de comparar totais com outra fonte.
coverage.included_exchangesarray—Fontes cujos dados atualizados estão incluídos.
coverage.included_exchanges[]string—Fontes cujos dados atualizados estão incluídos.
coverage.unavailablearray—Fontes que não puderam ser incluídas, cada uma com um motivo. Nunca são contadas como 0.
coverage.unavailable[]object—Fontes que não puderam ser incluídas, cada uma com um motivo. Nunca são contadas como 0.
coverage.unavailable[].exchangestring—ID da corretora (em minúsculas).
coverage.unavailable[].reasonstring—Código de motivo legível por máquina.
coverage.unavailable[].detailstring—Explicação do motivo em linguagem natural.
coverage.stale_excludedarray—Linhas deixadas de fora porque sua última atualização está fora da janela de atualidade. vazio nas amostras usadas para gerar esta tabela
methodobject—Descrição em texto simples das fórmulas usadas nesta resposta, uma entrada por campo.
method.pointsstring—Nota sobre a fórmula de `points`, em texto simples.
method.exchangesstring—Nota sobre a fórmula de `exchanges`, em texto simples.
method.history_depthstring—Nota sobre a fórmula de `history_depth`, em texto simples.
method.oi_usdstring—Nota sobre a fórmula de `oi_usd`, em texto simples. pode estar ausente
metaobject—Linhagem e atualidade desta resposta.
meta.schemastring—ID do esquema desta resposta. Só muda quando um campo existente muda de significado ou de tipo.
meta.sourcearray—Endpoints públicos de origem dos quais os dados foram coletados.
meta.source[]object—Endpoints públicos de origem dos quais os dados foram coletados.
meta.source[].exchangestring—ID da corretora (em minúsculas).
meta.source[].endpointstring—Endpoint público da fonte que o coletor lê (exibido para fins de linhagem; os clientes nunca o chamam).
meta.observed_atnull—Timestamp informado pela fonte para os dados.
meta.received_atnumbermsHorário em que o coletor da CoinBoss recebeu os dados.
meta.fetched_atnumbermsHorário em que esta resposta foi montada.
meta.windowstring—Janela de tempo coberta pelos números.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN ou UNAVAILABLE, avaliado a partir dos timestamps dos dados e da cobertura.
meta.is_staleboolean—True quando os dados são mais antigos que sua janela de atualidade.
meta.cache_ttl_snumbersTempo de vida do cache desta resposta.
meta.fallbackstring—O que o endpoint retorna quando o coletor ou uma fonte falha.
points[].pcr_oinumberratioContratos em aberto de puts ÷ contratos em aberto de calls, em unidades de moeda; `null` quando o lado das calls é 0. pode estar ausente
points[].pcr_volnumberratioVolume de 24h das puts ÷ volume de 24h das calls, em unidades de moeda; `null` quando o lado das calls é 0. pode estar ausente
method.pcr_oistring—Nota sobre a fórmula de `pcr_oi`, em texto simples. pode estar ausente
method.pcr_volstring—Nota sobre a fórmula de `pcr_vol`, em texto simples. pode estar ausente
points[].atm_iv_30dnumber%IV ATM interpolada linearmente para um prazo constante de 30 dias; `null` quando os 30 dias não ficam entre dois vencimentos. pode estar ausente
method.atm_ivstring—Nota sobre a fórmula de `atm_iv`, em texto simples. pode estar ausente
method.atm_iv_30dstring—Nota sobre a fórmula de `atm_iv_30d`, em texto simples. pode estar ausente

Gerada 2026-11-11 23:00 UTC a partir de 3 respostas reais.

Exemplo de resposta

/api/sd/options/history?coin=BTC&metric=oi · Resposta real capturada 2026-11-13 03:58:20 UTC. Arrays e mapas longos são encurtados para exibição: points tinha 23 itens; meta.source tinha 6 itens; coverage.unavailable tinha 12 itens.

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

Amostras verificadas

Além do exemplo acima, a sonda chama este endpoint com estes parâmetros e verifica o esquema a cada vez.

ParâmetrosHTTPLatênciaResultado
coin=ETH&range=24h&metric=pcr2002 msAprovado STALE
coin=BTC&metric=atm_iv2003 msAprovado STALE
coin=BTC4001 msAprovado retorna o erro esperado

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

Detalhes

Autenticação
Nenhuma. Endpoint público.
Limite de requisições
1200 requisições por minuto por IP
Cache do servidor
5m
Microcache de borda
10s
Frequência de atualização
Um ponto por hora, gravado a partir da última rodada do coletor nessa hora.
Janela
24h / 7d / 30d / 90d, pontos horários.
Fontes de dados
Endpoints REST públicos de opções de Deribit, Binance, Bybit, OKX, Gate e Coincall, coletados e armazenados pela CoinBoss (sd_opt_latest, sd_opt_summary_hourly). Nenhum agregador terceiro está envolvido.
Cobertura de corretoras
Seis corretoras de opções. Uma moeda sem opções listadas nas corretoras selecionadas retorna HTTP 200 com campos nulos, `meta.quality = "UNAVAILABLE"` e o motivo em `coverage.unavailable`. As corretoras sem feed público de opções também são listadas ali.
Paginação
Sem paginação; `range` limita o número de pontos.
Ordenação
Horário em ordem crescente.
Unidades
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.
Timestamps
Milissegundos da época Unix (UTC), salvo se a descrição do campo indicar o contrário
Formato da resposta
json
Estabilidade
Estável
Disponível desde
2026-11-11

Status ao vivo

DegradadoVerificado 2026-11-13 03:58:20 UTCHTTP 2002 msEsquema confereDado mais recente: há 6h

O endpoint reporta qualidade dos dados STALE

Disponibilidade, últimos 30 dias

99.75% de 407 verificações aprovadas

Erros

As chamadas com falha têm o mesmo formato em todos os endpoints. A lista completa está na página de erros. Erros e limites de requisições →

CódigoHTTPSignificadoO que fazer
INVALID_PARAM400Falta um parâmetro obrigatório ou um valor não é aceito. `param` indica o nome do parâmetro quando ele é conhecido.Não repita a requisição sem alterações; corrija-a.
UNAUTHORIZED401O cabeçalho `CB-API-KEY` foi enviado, mas a chave é desconhecida ou foi revogada. Dados públicos não exigem chave — remova o cabeçalho ou use uma chave válida.Não repita a requisição sem alterações.
FORBIDDEN403A rota não faz parte da API pública (é interna ou exclusiva de conta).Não tente novamente.
NOT_FOUND404Rota desconhecida, ou a moeda / corretora / fundo solicitado não existe.Não tente novamente; confira o caminho e os identificadores no catálogo.
RATE_LIMITED429Mais requisições do que o limite por minuto. `Retry-After` informa os segundos a aguardar.Aguarde `Retry-After` e então tente novamente com backoff.
INTERNAL500Erro inesperado do servidor. A mensagem é genérica de propósito; cite `request_id` ao reportá-lo.Tente novamente uma vez após alguns segundos; se persistir, reporte-o com o ID da requisição.
UPSTREAM_FAILED503A fonte de dados por trás deste endpoint não respondeu a tempo. Nenhum número desatualizado ou substituto é retornado em seu lugar.Tente novamente com backoff; consulte a página de status.
UNAVAILABLE501 / 503O conjunto de dados ainda não está pronto temporariamente (aquecimento do cache) ou o endpoint ainda não tem uma fonte pública lícita.Tente novamente mais tarde; o catálogo marca os endpoints que são indisponíveis por design.
REQUEST_FAILED200Alguns endpoints mais antigos respondem HTTP 200 com `success: false`. Verifique sempre `success`, não apenas o status HTTP.Depende da mensagem; trate como uma requisição com falha.

Experimente

GET/api/sd/options/historyDegradado
Parâmetros

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

string — Series to return.

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

string · padrão all — One venue, or `all` for the cross-venue aggregate.

URL da requisiçãohttps://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi
Escolha um endpoint e clique em “Enviar requisição”. A resposta, os cabeçalhos e o tempo de resposta aparecerão aqui.