/api/sd/quality
GETDisponível

Matriz de qualidade dos dados (visão do coletor)

Camada de dados própria: matriz de qualidade dos dados (corretora × família de dados)

GET/api/sd/quality

Requisição

Este endpoint não recebe parâmetros.

Exemplo de requisição

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

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 }`.
nownumbermsHorário do servidor em que a resposta foi montada.
familiesarray—Famílias de dados verificadas em cada corretora, na ordem de exibição.
families[]string—ID da família: `ticker`, `oi`, `funding`, `funding_settle`, `liquidation`, `ls`, `spot` ou `sd_contracts`.
exchangesarray—Corretoras.
exchanges[]string—Corretoras.
matrixobject—Matriz indexada por linha e coluna. chaves dinâmicas: aster,backpack,binance,bingx,bitfinex,bitget
matrix.{*}object—Matriz indexada por linha e coluna. chaves dinâmicas: ticker,oi,funding,funding_settle,liquidation,ls
matrix.{*}.tickerobject—Atualidade dos tickers de futuros da corretora: `status`, contagens de linhas, `age_s` e as janelas de atualidade / de uso. As chaves do mapa são IDs de corretora. pode estar ausente
matrix.{*}.ticker.statusstring—Status. pode estar ausente
matrix.{*}.ticker.rowsnumber—Linhas do resultado. pode estar ausente
matrix.{*}.ticker.rows_freshnumber—Linhas atualizadas dentro da janela de atualidade. pode estar ausente
matrix.{*}.ticker.rows_usablenumber—Linhas dentro da janela de uso. pode estar ausente
matrix.{*}.ticker.rows_orphannumber—Linhas cujo contrato não está mais listado. pode estar ausente
matrix.{*}.ticker.rows_invalidnumber—Linhas rejeitadas pela validação. pode estar ausente
matrix.{*}.ticker.age_snumbersSegundos desde a última atualização desta linha. pode estar ausente
matrix.{*}.ticker.fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente
matrix.{*}.ticker.usable_within_snumbersDados mais antigos que isso não são usados de forma alguma. pode estar ausente
matrix.{*}.oiobject—Contratos em aberto. pode estar ausente
matrix.{*}.oi.statusstring—Status. pode estar ausente
matrix.{*}.oi.rowsnumber—Linhas do resultado. pode estar ausente
matrix.{*}.oi.rows_freshnumber—Linhas atualizadas dentro da janela de atualidade. pode estar ausente
matrix.{*}.oi.rows_usablenumber—Linhas dentro da janela de uso. pode estar ausente
matrix.{*}.oi.rows_orphannumber—Linhas cujo contrato não está mais listado. pode estar ausente
matrix.{*}.oi.rows_invalidnumber—Linhas rejeitadas pela validação. pode estar ausente
matrix.{*}.oi.age_snumbersSegundos desde a última atualização desta linha. pode estar ausente
matrix.{*}.oi.fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente
matrix.{*}.oi.usable_within_snumbersDados mais antigos que isso não são usados de forma alguma. pode estar ausente
matrix.{*}.fundingobject—Bloco ou valor da taxa de financiamento. pode estar ausente
matrix.{*}.funding.statusstring—Status. pode estar ausente
matrix.{*}.funding.rowsnumber—Linhas do resultado. pode estar ausente
matrix.{*}.funding.rows_freshnumber—Linhas atualizadas dentro da janela de atualidade. pode estar ausente
matrix.{*}.funding.rows_usablenumber—Linhas dentro da janela de uso. pode estar ausente
matrix.{*}.funding.rows_orphannumber—Linhas cujo contrato não está mais listado. pode estar ausente
matrix.{*}.funding.rows_invalidnumber—Linhas rejeitadas pela validação. pode estar ausente
matrix.{*}.funding.age_snumbersSegundos desde a última atualização desta linha. pode estar ausente
matrix.{*}.funding.fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente
matrix.{*}.funding.usable_within_snumbersDados mais antigos que isso não são usados de forma alguma. pode estar ausente
matrix.{*}.funding.rows_unknown_intervalnumbercountLinhas de financiamento atualizadas nas últimas 4 horas cujo intervalo de liquidação é desconhecido e que, portanto, não podem ser normalizadas para 8 horas; qualquer linha desse tipo torna a célula `partial`. pode estar ausente
matrix.{*}.funding.rows_no_next_timenumbermsTimestamp. pode estar ausente
matrix.{*}.funding.rows_no_livenessnumbercountLinhas de financiamento atualizadas recentemente em contratos sem evidência de negociação ativa (deslistados ou sem volume); ficam fora da contagem de atualidade. pode estar ausente
matrix.{*}.funding_settleobject—Atualidade do histórico de liquidações de financiamento da corretora: `status`, `age_s` da liquidação de financiamento mais recente, `symbols` e `history_from`. pode estar ausente
matrix.{*}.funding_settle.statusstring—Status. pode estar ausente
matrix.{*}.funding_settle.age_snumbersSegundos desde a última atualização desta linha. pode estar ausente
matrix.{*}.funding_settle.symbolsnumber—Símbolos. pode estar ausente
matrix.{*}.funding_settle.history_fromnumbermsRegistro mais antigo mantido. pode estar ausente
matrix.{*}.funding_settle.fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente
matrix.{*}.liquidationobject—Bloco de liquidações. pode estar ausente
matrix.{*}.liquidation.statusstring—Status. pode estar ausente
matrix.{*}.liquidation.viastring—Caminho de coleta. pode estar ausente
matrix.{*}.liquidation.last_event_age_snumber|nullsSegundos desde o evento. pode estar ausente
matrix.{*}.liquidation.events_1hnumbercountOrdens de liquidação armazenadas desta corretora na última hora; os tamanhos mínimos de ordem diferem entre corretoras, portanto as contagens não são comparáveis. pode estar ausente
matrix.{*}.liquidation.events_24hnumbercountOrdens de liquidação armazenadas desta corretora nas últimas 24 horas; os tamanhos mínimos de ordem diferem entre corretoras, portanto as contagens não são comparáveis. pode estar ausente
matrix.{*}.liquidation.ws_heartbeat_age_snumber|nullsSegundos desde o evento. pode estar ausente
matrix.{*}.liquidation.judged_bystring—A partir de qual timestamp o status foi avaliado. pode estar ausente
matrix.{*}.liquidation.idle_ok_snumbersMaior intervalo sem liquidações que ainda conta como normal para esta corretora; um intervalo mais longo marca o feed como `stale`. pode estar ausente
matrix.{*}.lsobject—Atualidade das linhas de razão long/short da corretora: `status`, contagens de linhas, `age_s` e as janelas de atualidade / de uso. pode estar ausente
matrix.{*}.ls.statusstring—Status. pode estar ausente
matrix.{*}.ls.reasonstring—Código do motivo. pode estar ausente
matrix.{*}.spotobject—Bloco ou valor do mercado spot. pode estar ausente
matrix.{*}.spot.statusstring—Status. pode estar ausente
matrix.{*}.spot.reasonstring—Código do motivo. pode estar ausente
matrix.{*}.sd_contractsobject—Atualidade das linhas de contratos com margem em cripto, com margem em USDC e com vencimento da corretora: `status`, contagens de linhas e `age_s`. pode estar ausente
matrix.{*}.sd_contracts.statusstring—Status. pode estar ausente
matrix.{*}.sd_contracts.reasonstring—Código do motivo. pode estar ausente
matrix.{*}.funding_settle.reasonstring—Código do motivo. pode estar ausente
matrix.{*}.liquidation.reasonstring—Código do motivo. pode estar ausente
matrix.{*}.liquidation.notestring—Observação. pode estar ausente
matrix.{*}.ls.rowsnumber—Linhas do resultado. pode estar ausente
matrix.{*}.ls.rows_freshnumber—Linhas atualizadas dentro da janela de atualidade. pode estar ausente
matrix.{*}.ls.rows_usablenumber—Linhas dentro da janela de uso. pode estar ausente
matrix.{*}.ls.rows_orphannumber—Linhas cujo contrato não está mais listado. pode estar ausente
matrix.{*}.ls.rows_invalidnumber—Linhas rejeitadas pela validação. pode estar ausente
matrix.{*}.ls.age_snumbersSegundos desde a última atualização desta linha. pode estar ausente
matrix.{*}.ls.fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente
matrix.{*}.ls.usable_within_snumbersDados mais antigos que isso não são usados de forma alguma. pode estar ausente
matrix.{*}.spot.age_snumbersSegundos desde a última atualização desta linha. pode estar ausente
matrix.{*}.spot.coinsnumber—Moedas. pode estar ausente
matrix.{*}.spot.fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente
matrix.{*}.spot.notestring—Observação. pode estar ausente
matrix.{*}.sd_contracts.rowsnumber—Linhas do resultado. pode estar ausente
matrix.{*}.sd_contracts.rows_freshnumber—Linhas atualizadas dentro da janela de atualidade. pode estar ausente
matrix.{*}.sd_contracts.age_snumbersSegundos desde a última atualização desta linha. pode estar ausente
matrix.{*}.sd_contracts.rows_without_oinumbercountLinhas de contratos que não trazem valor de contratos em aberto em USD. pode estar ausente
matrix.{*}.sd_contracts.rows_oi_promotednumbercountLinhas de contratos cujos contratos em aberto também são contabilizados nos totais de contratos em aberto de todo o site. pode estar ausente
matrix.{*}.sd_contracts.fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente
matrix.{*}.{*}object—Matriz indexada por linha e coluna.
matrix.{*}.{*}.statusstring—Status.
matrix.{*}.{*}.reasonstring—Código do motivo. pode estar ausente
matrix.{*}.{*}.age_snumbersSegundos desde a última atualização desta linha. pode estar ausente
matrix.{*}.{*}.coinsnumber—Moedas. pode estar ausente
matrix.{*}.{*}.fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente
matrix.{*}.{*}.notestring—Observação. pode estar ausente
matrix.{*}.oi.reasonstring—Código do motivo. pode estar ausente
matrix.{*}.{*}.rowsnumber—Linhas do resultado. pode estar ausente
matrix.{*}.{*}.rows_freshnumber—Linhas atualizadas dentro da janela de atualidade. pode estar ausente
matrix.{*}.{*}.rows_usablenumber—Linhas dentro da janela de uso. pode estar ausente
matrix.{*}.{*}.rows_orphannumber—Linhas cujo contrato não está mais listado. pode estar ausente
matrix.{*}.{*}.rows_invalidnumber—Linhas rejeitadas pela validação. pode estar ausente
matrix.{*}.{*}.usable_within_snumbersDados mais antigos que isso não são usados de forma alguma. pode estar ausente
matrix.{*}.ticker.deadboolean—Presente somente quando `status` é `stale`: true quando tampouco há linhas dentro da janela de uso, de modo que a corretora é excluída dos agregados. pode estar ausente
matrix.{*}.funding.reasonstring—Código do motivo. pode estar ausente
matrix.{*}.liquidation.pipeline_last_event_age_snumbersSegundos desde o evento. pode estar ausente
matrix.{*}.liquidation.node_heartbeat_age_snumbersSegundos desde o evento. pode estar ausente
summaryobject—Bloco de resumo.
summary.freshnumbercountNúmero de células corretora × família com status `fresh`.
summary.partialnumber—true quando apenas parte dos dados esperados está presente.
summary.stalenumber—Linhas ou indicador referentes a dados mais antigos que a janela de atualidade.
summary.invalidnumbercountNúmero de células corretora × família com status `invalid`.
summary.unavailablenumber—Itens para os quais não há dados disponíveis, com os motivos. Nunca são reportados como 0.
sourcesarray—Fontes de dados.
sources[]object—Fontes de dados.
sources[].exchangestring—ID da corretora, em minúsculas (por exemplo, `binance`).
sources[].familystring—Família de dados do job coletor a que o registro de saúde pertence, por exemplo, `oi`, `funding`, `ticker`.
sources[].endpointstring—Rótulo da chamada à origem que está sendo monitorada: host e caminho da API pública consultada, ou o nome de uma verificação interna.
sources[].okboolean—false quando a tentativa mais recente falhou, isto é, quando o último erro é mais recente que o último sucesso.
sources[].last_ok_age_snumber|nullsSegundos desde o evento.
sources[].last_err_age_snumber|nullsSegundos desde o evento.
sources[].last_statusnumber—Status HTTP da chamada mais recente.
sources[].last_errorstring|null—Texto de erro da última falha, truncado em 160 caracteres; null quando nenhum está registrado.
sources[].last_msnumbermsDuração da chamada mais recente; null quando não foi medida.
sources[].fail_streaknumbercountChamadas com falha consecutivas até agora; 0 após um sucesso.
sources[].ok_countnumbercountChamadas bem-sucedidas registradas no log de saúde.
sources[].err_countnumbercountChamadas com falha registradas no log de saúde.
sources[].http_429numbercountChamadas com falha respondidas com HTTP 429 (limite de requisições).
sources[].http_403numbercountChamadas com falha respondidas com HTTP 403 (acesso proibido).
sources[].http_5xxnumbercountChamadas com falha respondidas com um status HTTP 5xx.
sources[].timeoutsnumbercountChamadas com falha por tempo limite esgotado.
errorsobject—Mapa de ID de família para mensagem de erro, para as famílias cuja própria verificação falhou; vazio quando todas as verificações foram executadas.
alertsarray—Alertas da ronda de qualidade dos dados que estão abertos ou foram resolvidos nas últimas 24 horas, com os abertos primeiro (no máximo 200).
alerts[]object—Um alerta: `level`, `exchange`, `family`, `code`, `detail`, horários de abertura / última ocorrência / resolução, `hits` e `open`.
alerts[].levelstring—Nível.
alerts[].exchangestring—ID da corretora, em minúsculas (por exemplo, `binance`).
alerts[].familystring—Família de dados a que o alerta se refere.
alerts[].codestring—Código.
alerts[].detailstring—Detalhe.
alerts[].opened_atnumbermsTimestamp.
alerts[].last_seen_atnumbermsTimestamp.
alerts[].resolved_atnumber|nullmsTimestamp.
alerts[].hitsnumbercountNúmero de execuções da ronda (uma a cada 5 minutos) que observaram a condição desde a abertura do alerta.
alerts[].openboolean—Preço de abertura do período.
monitorobject—Saúde do próprio monitoramento: idade da última execução da ronda, idade do heartbeat do coletor e `patrol_ok`.
monitor.alert_job_age_snumbersSegundos desde o evento.
monitor.collector_heartbeat_age_snumbersSegundos desde o evento.
monitor.patrol_okboolean—true quando a ronda foi executada nos últimos 15 minutos; quando false, a lista `alerts` pode estar desatualizada.
legendobject—Definição em texto simples de cada status de célula.
legend.freshstring—Definição do status `fresh`.
legend.partialstring—true quando apenas parte dos dados esperados está presente.
legend.stalestring—Linhas ou indicador referentes a dados mais antigos que a janela de atualidade.
legend.invalidstring—Definição do status `invalid`.
legend.unavailablestring—Itens para os quais não há dados disponíveis, com os motivos. Nunca são reportados como 0.

Gerada 2026-11-11 23:01 UTC a partir de 1 respostas reais.

Exemplo de resposta

/api/sd/quality · Resposta real capturada 2026-11-13 03:59:27 UTC. Arrays e mapas longos são encurtados para exibição: alerts tinha 3 itens; matrix tinha 29 itens; sources tinha 262 itens; exchanges tinha 29 itens.

  • {
    • "success": true,
    • "now": 1794542357043,
    • "families": [
      • "ticker",
      • "oi",
      • "funding",
      • "funding_settle",
      • "liquidation",
      • "ls",
      • "spot",
      • "sd_contracts"
      ],
    • "exchanges": [
      • "aster",
      • "backpack",
      • "binance",
      • "bingx",
      • "bitfinex",
      • "bitget",
      • "bitstamp",
      • "bitunix"
      ],
    • "matrix": {
      • "aster": { … 8 },
      • "backpack": { … 8 }
      },
    • "summary": {
      • "fresh": 123,
      • "partial": 7,
      • "stale": 1,
      • "invalid": 0,
      • "unavailable": 101
      },
    • "sources": [
      • { … 16 },
      • { … 16 }
      ],
    • "errors": {},
    • "alerts": [
      • { … 10 },
      • { … 10 }
      ],
    • "monitor": {
      • "alert_job_age_s": 20,
      • "collector_heartbeat_age_s": 17,
      • "patrol_ok": true
      },
    • "legend": {
      • "fresh": "data timestamps within the fresh window",
      • "partial": "some rows outside the fresh window or missing a required field",
      • "stale": "no row within the fresh window (dead=true: also outside the usable window, excluded from aggregates)",
      • "invalid": "more than half of usable rows fail sanity checks",
      • "unavailable": "no public source or not collected; shown as —, never 0"
      }
    }

Detalhes

Autenticação
Nenhuma. Endpoint público.
Limite de requisições
1200 requisições por minuto por IP
Cache do servidor
20s
Microcache de borda
10s
Frequência de atualização
matriz calculada a cada requisição (memoização no processo por 20 s); job de alertas a cada 5 min
Janela
estado mais recente; alertas abertos ou resolvidos nas últimas 24 h
Fontes de dados
Matriz de atualidade dos dados (corretora x família de dados) calculada internamente a partir dos timestamps das tabelas coletadas pela própria CoinBoss.
Cobertura de corretoras
todas as corretoras presentes em qualquer família coletada; fontes ausentes são reportadas como indisponíveis, com um motivo
Paginação
alertas limitados a 200
Unidades
status per cell: fresh | partial | stale | invalid | unavailable; ages in seconds
Método
fresh = >= 90% of live rows inside the family's freshness window (tickers 5 min, OI 15 min / cme 36 h, funding 15 min, long/short 90 min); liquidation feeds judged by WebSocket heartbeat or time since last event; funding settlements fresh within 9 h; spot snapshots within 30 min
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

DisponívelVerificado 2026-11-13 03:59:27 UTCHTTP 2006 msEsquema confereDado mais recente: há 20s

Disponibilidade, últimos 30 dias

100% de 408 verificações aprovadas

Divergência de esquema detectada pela última sondagem
  • Retornado, mas não documentado: matrix.{*}.{*}.rows_unknown_interval, matrix.{*}.{*}.rows_no_next_time, matrix.{*}.{*}.rows_no_liveness, matrix.{*}.{*}.symbols, matrix.{*}.{*}.history_from, matrix.{*}.{*}.via, matrix.{*}.{*}.last_event_age_s, matrix.{*}.{*}.events_1h, matrix.{*}.{*}.events_24h, matrix.{*}.{*}.ws_heartbeat_age_s, matrix.{*}.{*}.judged_by, matrix.{*}.{*}.idle_ok_s

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/qualityDisponível
Parâmetros

Sem parâmetros.

URL da requisiçãohttps://www.coinboss.com/api/sd/quality
Escolha um endpoint e clique em “Enviar requisição”. A resposta, os cabeçalhos e o tempo de resposta aparecerão aqui.