/api/meta/quality
GETDisponívelFRESH

Matriz de qualidade dos dados

Matriz corretora × família de dados com FRESH / PARTIAL / STALE / BROKEN / UNAVAILABLE, timestamps da fonte e da coleta, atraso, cobertura e o motivo de cada lacuna.

GET/api/meta/quality

Requisição

Parâmetros de consulta

NomeTipoObrigatórioPadrãoValores aceitosDescrição
exchangestringOpcional——Retorna somente esta corretora (ID em minúsculas, por exemplo, `binance`).
familystringOpcional——Retorna somente esta família de dados (por exemplo, `oi`, `funding`, `liquidation`).

Exemplo de requisição

curl -s "https://www.coinboss.com/api/meta/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 }`.
schemastring—ID do esquema desta resposta (`coinboss.meta.quality/1`).
nownumbermsHorário do servidor em que a resposta foi montada.
familiesarray—Famílias de dados avaliadas por corretora (tickers, contratos em aberto, financiamento, liquidações, livros de ofertas, opções e outras).
families[]object—Uma família: `id`, `scope`, `title`, `what`, `table`, `cadence` e `fresh_within_s`.
families[].idstring—Identificador.
families[].scopestring—`exchange` para as famílias avaliadas por corretora em `matrix`.
families[].titlestring—Título de exibição da família.
families[].whatstring—Descrição curta dos dados que a família abrange.
families[].tablestring—Nome do conjunto de dados interno a partir do qual a família é avaliada; apenas informativo.
families[].cadencestring—Cronograma de coleta da família, em texto simples; null quando não informado.
families[].fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados.
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.{*}.{*}object—Matriz indexada por linha e coluna.
matrix.{*}.{*}.statusstring—Status.
matrix.{*}.{*}.lag_snumber|nullsAgora menos o timestamp do dado armazenado mais recente dessa corretora (primeira chave) e família (segunda chave); null quando a família está indisponível nela.
matrix.{*}.{*}.source_atnumber|nullmsTimestamp.
matrix.{*}.{*}.fetched_atnumber|nullmsQuando a CoinBoss obteve os dados da fonte.
matrix.{*}.{*}.fresh_within_snumber|nullsJanela de atualidade: dados mais recentes que isso contam como atualizados.
matrix.{*}.{*}.coverageobject|null—O que está incluído e o que está faltando.
matrix.{*}.{*}.coverage.rowsnumber—Linhas do resultado. pode estar ausente
matrix.{*}.{*}.coverage.rows_freshnumber—Linhas atualizadas dentro da janela de atualidade. pode estar ausente
matrix.{*}.{*}.coverage.rows_usablenumber—Linhas dentro da janela de uso. pode estar ausente
matrix.{*}.{*}.coverage.rows_orphannumber—Linhas cujo contrato não está mais listado. pode estar ausente
matrix.{*}.{*}.coverage.rows_invalidnumber—Linhas rejeitadas pela validação. pode estar ausente
matrix.{*}.{*}.reasonstring|null—Código do motivo.
matrix.{*}.{*}.coverage.rows_no_livenessnumbercountLinhas de financiamento em contratos sem evidência de negociação ativa (deslistados ou sem volume); ficam fora da contagem de atualidade. pode estar ausente
matrix.{*}.{*}.coverage.rows_unknown_intervalnumbercountLinhas de financiamento atualizadas recentemente cujo intervalo de liquidação é desconhecido e que, portanto, não podem ser normalizadas para 8 horas. pode estar ausente
matrix.{*}.{*}.coverage.symbolsnumber—Símbolos. pode estar ausente
matrix.{*}.{*}.coverage.events_1hnumbercountOrdens de liquidação armazenadas da corretora na última hora; os tamanhos mínimos de ordem diferem entre corretoras. pode estar ausente
matrix.{*}.{*}.coverage.events_24hnumbercountOrdens de liquidação armazenadas da corretora nas últimas 24 horas; os tamanhos mínimos de ordem diferem entre corretoras. pode estar ausente
matrix.{*}.{*}.viastring—Caminho de coleta. pode estar ausente
matrix.{*}.{*}.coverage.booksnumbercountNúmero de livros de ofertas acompanhados. pode estar ausente
matrix.{*}.{*}.coverage.books_freshnumbercountNúmero de livros de ofertas atualizados dentro da janela de atualidade. pode estar ausente
matrix.{*}.{*}.coverage.books_reaching_2pctnumbercountNúmero de livros de ofertas com profundidade suficiente para cobrir ±2 % em torno do preço médio. pode estar ausente
matrix.{*}.{*}.coverage.contractsnumber—Linhas por contrato. pode estar ausente
matrix.{*}.{*}.coverage.contracts_freshnumbercountNúmero de contratos atualizados dentro da janela de atualidade. pode estar ausente
matrix.{*}.{*}.coverage.with_mark_and_indexnumbercountNúmero de contratos que têm tanto preço de marcação quanto preço do índice. pode estar ausente
matrix.{*}.{*}.coverage.delivery_contractsnumbercountNúmero de contratos com vencimento (com data). pode estar ausente
matrix.{*}.{*}.notestring—Observação. pode estar ausente
matrix.{*}.{*}.coverage.coinsnumber—Moedas. pode estar ausente
matrix.{*}.{*}.coverage.rows_without_oinumbercountLinhas de contratos com margem em cripto, com margem em USDC ou com vencimento que não trazem valor de contratos em aberto em USD. pode estar ausente
matrix.{*}.{*}.coverage.with_mark_ivnumbercountNúmero de contratos de opções que têm volatilidade implícita de marcação. pode estar ausente
matrix.{*}.{*}.coverage.with_greeksnumbercountNúmero de contratos de opções que têm gregas. pode estar ausente
datasetsarray—Verificações de qualidade dos conjuntos de dados que não são por corretora (por exemplo, dados diários de ETFs spot e da CME), cada uma com status, defasagem, cobertura e motivo.
datasets[]object—Um conjunto de dados de todo o mercado que não está vinculado a uma única corretora (opções, ETFs spot, CME, livros de ofertas, base).
datasets[].familystring—ID do conjunto de dados, por exemplo, `etf` ou `cme`.
datasets[].idstring—Identificador.
datasets[].titlestring—Nome de exibição do conjunto de dados.
datasets[].sourcestring—De onde vem o valor.
datasets[].endpointstring—Endpoint público que serve o conjunto de dados.
datasets[].statusstring—Status.
datasets[].lag_snumbersIdade do ponto de dados mais recente quando a resposta foi montada.
datasets[].source_atnumbermsTimestamp.
datasets[].fetched_atnumbermsQuando a CoinBoss obteve os dados da fonte.
datasets[].fresh_within_snumbersJanela de atualidade: dados mais recentes que isso contam como atualizados.
datasets[].coverageobject—O que está incluído e o que está faltando.
datasets[].coverage.funds_totalnumbercountNúmero de fundos acompanhados. pode estar ausente
datasets[].coverage.funds_coverednumbercountNúmero de fundos com uma divulgação utilizável. pode estar ausente
datasets[].coverage.funds_unavailablenumbercountNúmero de fundos cujo emissor não publica divulgação legível por máquina. pode estar ausente
datasets[].coverage.funds_failingnumbercountNúmero de fundos cuja divulgação não pôde ser lida na última rodada de coleta. pode estar ausente
datasets[].coverage.as_ofstring—Data de divulgação mais recente entre os fundos cobertos (YYYY-MM-DD). pode estar ausente
datasets[].coverage.as_of_minstring—Data de divulgação mais antiga entre os fundos cobertos (YYYY-MM-DD). pode estar ausente
datasets[].reasonstring|null—Código do motivo.
datasets[].coverage.contractsnumber—Linhas por contrato. pode estar ausente
datasets[].coverage.report_datestring—Data do relatório Commitments of Traders mais recente da CFTC (YYYY-MM-DD). pode estar ausente
datasets[].coverage.productsnumbercountNúmero de produtos da CME cobertos. pode estar ausente
datasets[].coverage.trade_datestring—Data de negociação do relatório diário mais recente da CME (YYYY-MM-DD). pode estar ausente
summaryobject—Bloco de resumo. chaves dinâmicas: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE
summary.{*}number—Bloco de resumo.
by_familyobject—Número de corretoras em cada status, por família. As chaves externas são IDs de família. chaves dinâmicas: ticker,oi,funding,funding_settle,liquidation,ls
by_family.{*}object—Contagens de status de uma família, indexadas por status (`FRESH`, `PARTIAL`, `STALE`, `BROKEN`, `UNAVAILABLE`). chaves dinâmicas: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE
by_family.{*}.{*}numbercountNúmero de corretoras com esse status nessa família.
alertsarray—Alertas da ronda de qualidade dos dados que estão abertos ou foram resolvidos nos últimos 7 dias, com os abertos primeiro; filtrados pelos parâmetros da requisição.
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: horário e idade da última execução da ronda, `patrol_ok` e a idade do heartbeat do coletor.
monitor.patrol_last_run_atnumbermsTimestamp.
monitor.patrol_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, enquanto a matriz continua ao vivo.
monitor.collector_heartbeat_age_snumbersSegundos desde o evento.
errorsnull—Mapa de ID de família para um código de erro, para as famílias cuja própria verificação de qualidade falhou; null quando todas as verificações foram executadas.
legendobject—Definição em texto simples de cada status de célula. chaves dinâmicas: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE
legend.{*}string—Definição do status nomeado pela chave (`FRESH`, `PARTIAL`, `STALE`, `BROKEN`, `UNAVAILABLE`).
methodobject—Notas sobre a fórmula / o método.
method.statusstring—Status.
method.lag_sstring—Declaração em texto simples de como `lag_s` é calculado.
method.source_atstring—String de data e hora.
method.fetched_atstring—String de data e hora.
metaobject—Envelope desta resposta: ID do esquema, sistema produtor, timestamps, tempo de vida do cache e atualidade.
meta.schemastring—ID do esquema desta resposta; mesmo valor do `schema` de nível superior.
meta.sourcearray—De onde vem o valor.
meta.source[]object—De onde vem o valor.
meta.source[].systemstring—Sistema que produziu os dados; sempre `coinboss` nos endpoints do centro de desenvolvedores.
meta.source[].componentstring—Componente por trás dos dados: a sonda de endpoints e a ronda de qualidade dos dados.
meta.observed_atnull—Timestamp.
meta.received_atnumbermsTimestamp.
meta.fetched_atnumbermsQuando a CoinBoss obteve os dados da fonte.
meta.windowstring—Janela.
meta.cache_ttl_snumbersTempo de vida do cache do servidor para esta resposta.
meta.qualitystring—`FRESH` normalmente; `PARTIAL` quando a ronda de qualidade não foi executada nos últimos 15 minutos (somente a lista de alertas é afetada).
meta.is_staleboolean—true quando a linha é mais antiga que a janela de atualidade; linhas desatualizadas não entram nos totais.
meta.fallbackstring—Nota em texto simples sobre o que este endpoint retorna quando suas entradas estão desatualizadas ou ausentes.

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

Exemplo de resposta

/api/meta/quality · Resposta real capturada 2026-11-13 03:53:46 UTC. Arrays e mapas longos são encurtados para exibição: alerts tinha 11 itens; legend tinha 5 itens; matrix tinha 30 itens; summary tinha 5 itens; datasets tinha 12 itens; families tinha 12 itens.

  • {
    • "success": true,
    • "schema": "coinboss.meta.quality/1",
    • "now": 1794542026126,
    • "families": [
      • { … 7 },
      • { … 7 }
      ],
    • "exchanges": [
      • "aster",
      • "backpack",
      • "binance",
      • "bingx",
      • "bitfinex",
      • "bitget",
      • "bitstamp",
      • "bitunix"
      ],
    • "matrix": {
      • "aster": { … 2 },
      • "backpack": { … 2 }
      },
    • "datasets": [
      • { … 12 },
      • { … 12 }
      ],
    • "summary": {
      • "FRESH": 161,
      • "PARTIAL": 7
      },
    • "by_family": {
      • "ticker": { … 2 },
      • "oi": { … 2 }
      },
    • "alerts": [
      • { … 10 },
      • { … 10 }
      ],
    • "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": [ … 1 ],
      • "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"
      }
    }

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
exchange=binance2001 msAprovado FRESH
family=funding2001 msAprovado FRESH

Verificado 2026-11-13 03:29:27 UTC

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
Avaliado a cada requisição a partir do timestamp de dados mais recente de cada par corretora × família.
Fontes de dados
Tabelas brutas da CoinBoss (timestamps da linha mais recente), log de saúde dos coletores. Um processo em execução nunca é contado como dado saudável.
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:53:46 UTCHTTP 200887 msEsquema confereDado mais recente: há 0s

Disponibilidade, últimos 30 dias

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

string — Return only this exchange (lower-case id, for example `binance`).

string — Return only this data family (for example `oi`, `funding`, `liquidation`).

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