/api/meta/catalog
GETDisponívelFRESH

Catálogo da API

Todos os endpoints públicos com sua categoria, status declarado e status ao vivo, TTL do cache e resultado da última sondagem, além dos limites de requisições e da tabela de códigos de erro.

GET/api/meta/catalog

Requisição

Este endpoint não recebe parâmetros.

Exemplo de requisição

curl -s "https://www.coinboss.com/api/meta/catalog"

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.catalog/1`).
nownumbermsHorário do servidor em que a resposta foi montada.
api_versionstring—Versão da API pública (`v1`).
catalog_versionstring—Versão do catálogo de endpoints, uma data de lançamento como `2026.11.11`.
base_pathstring—Prefixo de caminho compartilhado por todos os endpoints (`/api`).
summaryobject—Bloco de resumo.
summary.totalnumber—Total.
summary.availablenumber—Indica se há dados disponíveis.
summary.partialnumber—true quando apenas parte dos dados esperados está presente.
summary.degradednumbercountNúmero de endpoints cujo status ao vivo é `degraded`.
summary.downnumbercountNúmero de endpoints cujo status ao vivo é `down`.
summary.unavailablenumber—Itens para os quais não há dados disponíveis, com os motivos. Nunca são reportados como 0.
summary.unknownnumbercountNúmero de endpoints cujo status ao vivo é `unknown` (sem resultado de sondagem recente).
probeobject—Estado da sonda de endpoints por trás dos status ao vivo: horário da última execução, sua idade, o intervalo e se ela está atualizada.
probe.last_run_atnumbermsTimestamp.
probe.age_snumbersSegundos desde a última atualização desta linha.
probe.interval_snumbersIntervalo planejado entre duas execuções da sonda (300).
probe.freshboolean—true quando a última execução da sonda tem menos de 20 minutos; quando false, os status dos endpoints são reportados como `unknown`.
probe.errornull—Mensagem de erro (presente apenas em caso de falha).
categoriesarray—Categorias de endpoints que contêm pelo menos um endpoint, com as contagens de endpoints por status.
categories[]object—Uma categoria: `id`, `title`, `desc` e o número dos seus endpoints em cada status.
categories[].idstring—Identificador.
categories[].titlestring—Título de exibição da categoria.
categories[].descstring—Descrição da categoria em uma frase; null quando nenhuma foi escrita.
categories[].totalnumber—Total.
categories[].availablenumber—Indica se há dados disponíveis.
categories[].partialnumber—true quando apenas parte dos dados esperados está presente.
categories[].degradednumbercountNúmero de endpoints da categoria cujo status ao vivo é `degraded`.
categories[].downnumbercountNúmero de endpoints da categoria cujo status ao vivo é `down`.
categories[].unavailablenumber—Itens para os quais não há dados disponíveis, com os motivos. Nunca são reportados como 0.
categories[].unknownnumbercountNúmero de endpoints da categoria cujo status ao vivo é `unknown`.
endpointsarray—Todos os endpoints documentados com seu status ao vivo.
endpoints[]object—Um endpoint: identificação, caminho, status declarado e ao vivo, tempo de vida do cache, nomes dos parâmetros e o resultado da última sondagem.
endpoints[].idstring—Identificador.
endpoints[].catstring—ID da categoria a que o endpoint pertence.
endpoints[].kindstring—Tipo.
endpoints[].methodstring—Notas sobre a fórmula / o método.
endpoints[].pathstring—Caminho de requisição do endpoint; os segmentos `:name` são parâmetros de caminho.
endpoints[].titlestring—Título curto de exibição do endpoint.
endpoints[].summarystring—Bloco de resumo.
endpoints[].declaredstring—Status declarado no catálogo, independente da sondagem: `available`, `partial` ou `unavailable`.
endpoints[].statusstring—Status.
endpoints[].status_reasonstring|null—Por que `status` não é `available`, em texto simples; null quando é.
endpoints[].stabilitystring—`stable`, `beta` (o conjunto de campos pode mudar sem o aviso de 90 dias) ou `legacy` (continua funcionando, existe um substituto).
endpoints[].sincestring|null—Início do período.
endpoints[].ttl_snumber|nullsTempo de vida do cache do servidor para as respostas do endpoint; null quando não há cache ou quando não se aplica.
endpoints[].paramsarray—Nomes de todos os parâmetros que o endpoint aceita. vazio nas amostras usadas para gerar esta tabela
endpoints[].params[]string—Um nome de parâmetro.
endpoints[].requiredarray—Nomes dos parâmetros que precisam ser enviados. vazio nas amostras usadas para gerar esta tabela
endpoints[].probeobject—Resultado da última sondagem do endpoint: horário da verificação, status HTTP, `ok`, `schema_ok`, latência, tamanho, idade dos dados, último sucesso e sequência de falhas; null quando nunca foi sondado.
endpoints[].probe.checked_atnumbermsTimestamp.
endpoints[].probe.httpnumber—Status HTTP da requisição de sondagem mais recente.
endpoints[].probe.okboolean—`true` quando a requisição de sondagem mais recente retornou HTTP 200 com um corpo JSON válido.
endpoints[].probe.schema_okboolean—`true` quando a resposta sondada correspondeu à tabela de campos documentada; `null` quando não existe tabela de campos.
endpoints[].probe.latency_msnumbermsTempo de resposta da requisição de sondagem mais recente.
endpoints[].probe.bytesnumberbytesTamanho do corpo da resposta sondada.
endpoints[].probe.qualitynull—`meta.quality` reportado pela resposta sondada (FRESH / PARTIAL / STALE …); `null` quando o endpoint não o reporta.
endpoints[].probe.data_age_snumber|nullsSegundos desde o evento.
endpoints[].probe.last_ok_atnumbermsTimestamp.
endpoints[].probe.fail_streaknumbercountNúmero de sondagens com falha consecutivas; 0 quando a última sondagem teve sucesso.
endpoints[].required[]string—Um nome de parâmetro obrigatório.
rate_limitobject—Regras de limite de requisições da API pública.
rate_limit.window_snumbersDuração da janela de contagem (60).
rate_limit.anonymous_per_minnumbercountRequisições por minuto permitidas por IP de cliente quando nenhuma chave de API é enviada.
rate_limit.scopestring—Texto que informa como as requisições são contadas: por IP de cliente quando anônimas, por chave quando um cabeçalho `CB-API-KEY` é enviado.
rate_limit.key_tiers_per_minobject—Requisições por minuto permitidas para cada nível de chave de API, indexadas pelo nome do nível.
rate_limit.key_tiers_per_min.hobbyistnumbercountRequisições por minuto para chaves do nível `hobbyist`.
rate_limit.key_tiers_per_min.startupnumbercountRequisições por minuto para chaves do nível `startup`.
rate_limit.key_tiers_per_min.standardnumbercountRequisições por minuto para chaves do nível `standard`.
rate_limit.key_tiers_per_min.professionalnumbercountRequisições por minuto para chaves do nível `professional`.
rate_limit.exemptarray—Padrões de caminho que não são contados no limite.
rate_limit.exempt[]string—Um padrão de caminho isento, por exemplo, `/api/coin-icon/*`.
rate_limit.headersarray—Nomes dos cabeçalhos de resposta que informam o estado do limite de requisições.
rate_limit.headers[]string—Um nome de cabeçalho, por exemplo, `X-RateLimit-Remaining`.
rate_limit.on_exceedobject—O que é retornado quando o limite é excedido: status `http` e `code` de erro.
rate_limit.on_exceed.httpnumber—Status HTTP retornado quando o limite é excedido (429).
rate_limit.on_exceed.codestring—Código.
errorsarray—Códigos de erro que a API pode retornar, cada um com status HTTP, significado e orientação de nova tentativa.
errors[]object—Um código de erro.
errors[].codestring—Código.
errors[].httpnumber|string—Status HTTP enviado com este código; uma string como `501 / 503` quando mais de um se aplica.
errors[].meaningstring—O que o erro significa.
errors[].retrystring—Orientação sobre se e como tentar novamente.
errors[].legacyboolean—Presente e true somente no código usado pelos endpoints mais antigos que respondem HTTP 200 com `success: false`. pode estar ausente
status_legendobject—Definição em texto simples de cada status de endpoint.
status_legend.availablestring—Indica se há dados disponíveis.
status_legend.partialstring—true quando apenas parte dos dados esperados está presente.
status_legend.degradedstring—Definição do status `degraded`.
status_legend.downstring—Definição do status `down`.
status_legend.unavailablestring—Itens para os quais não há dados disponíveis, com os motivos. Nunca são reportados como 0.
status_legend.unknownstring—Definição do status `unknown`.
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` quando a sonda de endpoints reportou nos últimos 20 minutos; caso contrário, `STALE`.
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 1 respostas reais.

Exemplo de resposta

/api/meta/catalog · Resposta real capturada 2026-11-13 03:59:27 UTC. Arrays e mapas longos são encurtados para exibição: errors tinha 9 itens; endpoints tinha 299 itens; categories tinha 21 itens.

  • {
    • "success": true,
    • "schema": "coinboss.meta.catalog/1",
    • "now": 1794542367982,
    • "api_version": "v1",
    • "catalog_version": "2026.11.12",
    • "base_path": "/api",
    • "summary": {
      • "total": 299,
      • "available": 256,
      • "partial": 19,
      • "degraded": 17,
      • "down": 6,
      • "unavailable": 1,
      • "unknown": 0
      },
    • "probe": {
      • "last_run_at": 1794542029183,
      • "age_s": 339,
      • "interval_s": 300,
      • "fresh": true,
      • "error": null
      },
    • "categories": [
      • { … 10 },
      • { … 10 }
      ],
    • "endpoints": [
      • { … 16 },
      • { … 16 }
      ],
    • "rate_limit": {
      • "window_s": 60,
      • "anonymous_per_min": 1200,
      • "scope": "per client IP for anonymous requests; per key when a CB-API-KEY header is sent",
      • "key_tiers_per_min": { … 4 },
      • "exempt": [ … 1 ],
      • "headers": [ … 4 ],
      • "on_exceed": { … 2 }
      },
    • "errors": [
      • { … 4 },
      • { … 4 }
      ],
    • "status_legend": {
      • "available": "last probe returned HTTP 200 and the response matched the documented schema",
      • "partial": "works, but exchange / field coverage is incomplete (see status_reason)",
      • "degraded": "responding, but schema drift or stale data was detected by the last probe",
      • "down": "last probe failed",
      • "unavailable": "documented for completeness; no lawful public source yet, the endpoint returns nulls or is not served",
      • "unknown": "no probe result within the last 20 minutes"
      },
    • "meta": {
      • "schema": "coinboss.meta.catalog/1",
      • "source": [ … 1 ],
      • "observed_at": null,
      • "received_at": 1794542029183,
      • "fetched_at": 1794542367982,
      • "window": "latest",
      • "cache_ttl_s": 30,
      • "quality": "FRESH",
      • "is_stale": false,
      • "fallback": "when the probe has not reported within 20 minutes every endpoint status becomes \"unknown\""
      }
    }

Detalhes

Autenticação
Nenhuma. Endpoint público.
Limite de requisições
1200 requisições por minuto por IP
Cache do servidor
30s
Microcache de borda
10s
Frequência de atualização
Reconstruído a cada requisição a partir do arquivo de catálogo e dos resultados mais recentes da sonda (a sondagem é executada a cada 5 minutos).
Fontes de dados
Catálogo de endpoints da CoinBoss + sd_api_probe (resultados de chamadas reais feitas pela sonda da API).
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 20010 msEsquema confereDado mais recente: há 6m

Disponibilidade, últimos 30 dias

100% de 409 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/catalogDisponível
Parâmetros

Sem parâmetros.

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