Documentação do endpoint
Documentação completa de um endpoint: parâmetros, tabela de campos gerada a partir de respostas reais, um exemplo de resposta capturado, amostras verificadas, histórico de sondagens de 30 dias, erros e limites.
/api/meta/endpointRequisição
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Padrão | Valores aceitos | Descrição |
|---|---|---|---|---|---|
| id | string | Obrigatório | — | — | ID do endpoint no catálogo (por exemplo, `sd-oi`). IDs desconhecidos retornam 404. Exemplo: sd-oi |
Exemplo de requisição
curl -s "https://www.coinboss.com/api/meta/endpoint?id=sd-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.
| Campo | Tipo | Unidade | Descrição |
|---|---|---|---|
| success | boolean | — | true quando a requisição foi bem-sucedida. Em caso de falha, o corpo é `{ success: false, code, error, request_id }`. |
| schema | string | — | ID do esquema desta resposta (`coinboss.meta.endpoint/1`). |
| now | number | ms | Horário do servidor em que a resposta foi montada. |
| endpoint | object | — | Registro do endpoint no catálogo. As chaves do mapa são nomes de atributos como `id`, `path`, `status`, `params`, `category`, `sources`, `units`, `formula`. chaves dinâmicas: id,cat,kind,method,path,title |
| endpoint.{*} | array|number|object|string|null | — | Valor de um atributo: texto, um número, uma lista (`params`, `required`, `ts_fields`) ou um objeto (`probe`, `category`, `example_query`); null quando não definido. |
| endpoint.{*}[] | object|string | — | Elemento de um atributo de lista: uma definição de parâmetro em `params`, ou um nome em `required` / `ts_fields`. pode estar ausente |
| endpoint.{*}[].name | string | — | Nome. pode estar ausente |
| endpoint.{*}[].in | string | — | Onde o parâmetro é enviado: `query` ou `path`. pode estar ausente |
| endpoint.{*}[].type | string | — | Tipo. pode estar ausente |
| endpoint.{*}[].required | boolean | — | true quando o parâmetro precisa ser enviado. pode estar ausente |
| endpoint.{*}[].default | null | — | Valor usado quando o parâmetro é omitido; null quando não há padrão. pode estar ausente |
| endpoint.{*}[].enum | null | — | Lista de valores aceitos; null quando o parâmetro não está restrito a uma lista. pode estar ausente |
| endpoint.{*}[].min | null | — | Mínimo. pode estar ausente |
| endpoint.{*}[].max | null | — | Máximo. pode estar ausente |
| endpoint.{*}[].example | string | — | Valor de exemplo do parâmetro; null quando nenhum é fornecido. pode estar ausente |
| endpoint.{*}[].desc | string | — | Descrição do parâmetro. pode estar ausente |
| endpoint.{*}.checked_at | number | ms | Timestamp. pode estar ausente |
| endpoint.{*}.http | number | — | Status HTTP da requisição de sondagem mais recente. pode estar ausente |
| endpoint.{*}.ok | boolean | — | `true` quando a requisição de sondagem mais recente retornou HTTP 200 com um corpo JSON válido. pode estar ausente |
| endpoint.{*}.schema_ok | boolean | — | `true` quando a resposta sondada correspondeu à tabela de campos documentada; `null` quando não existe tabela de campos. pode estar ausente |
| endpoint.{*}.latency_ms | number | ms | Tempo de resposta da requisição de sondagem mais recente. pode estar ausente |
| endpoint.{*}.bytes | number | bytes | Tamanho do corpo da resposta sondada. pode estar ausente |
| endpoint.{*}.quality | null | — | `meta.quality` reportado pela resposta sondada (FRESH / PARTIAL / STALE …); `null` quando o endpoint não o reporta. pode estar ausente |
| endpoint.{*}.data_age_s | number|null | s | Segundos desde o evento. pode estar ausente |
| endpoint.{*}.last_ok_at | number | ms | Timestamp. pode estar ausente |
| endpoint.{*}.fail_streak | number | count | Número de sondagens com falha consecutivas; 0 quando a última sondagem teve sucesso. pode estar ausente |
| endpoint.{*}.id | string | — | Identificador. pode estar ausente |
| endpoint.{*}.title | string | — | Título de exibição da categoria do endpoint (dentro de `category`). pode estar ausente |
| endpoint.{*}.coin | string | — | Símbolo da moeda, em maiúsculas (por exemplo, BTC). pode estar ausente |
| fields | array | — | Tabela de campos da resposta, inferida de respostas reais; null quando nenhuma tabela foi gerada. |
| fields[] | object | — | Um campo da resposta: `path`, `type`, `unit`, `desc` e flags. |
| fields[].path | string | — | Caminho do campo na resposta: `a.b` para aninhamento, `[]` para itens de array, `{*}` para os valores de um mapa. |
| fields[].type | string | — | Tipo. |
| fields[].unit | string|null | — | Unidade dos valores deste objeto. |
| fields[].desc | string | — | Descrição do campo; null quando nenhuma foi escrita. |
| fields[].optional | boolean | — | Presente e true quando o campo estava ausente em pelo menos uma resposta amostrada. pode estar ausente |
| fields[].map | boolean | — | Presente e true quando o objeto é um mapa com chaves que dependem dos dados (moedas, corretoras, datas), e não com campos fixos. pode estar ausente |
| fields[].keys | array | — | Amostra de chaves observadas no mapa; somente em campos com `map` true. pode estar ausente |
| fields[].keys[] | string | — | Uma chave de amostra. pode estar ausente |
| fields_generated_at | number | ms | Timestamp. |
| fields_generated_from | array | — | URLs de requisição de cujas respostas reais a tabela de campos foi inferida; null quando não há tabela. |
| fields_generated_from[] | string | — | Um caminho de requisição amostrado, com query string. |
| example | object | — | Última resposta real bem-sucedida capturada pela sonda: `request`, `captured_at`, `truncated` (tamanhos originais dos arrays encurtados) e `body`; null quando não há nenhuma. |
| example.request | string | — | Requisição que produziu o exemplo capturado (caminho e query string). |
| example.captured_at | number | ms | Timestamp. |
| example.truncated | object | — | O que foi encurtado no exemplo capturado: para cada array ou mapa, o número de itens deixados de fora. Suas chaves dependem do endpoint documentado. |
| example.body | object | — | Resposta capturada do endpoint documentado, encurtada. Sua estrutura é a descrita por `fields`. |
| verified_samples | object|null | — | Resultados das requisições de amostra adicionais da sonda (`at`, `samples` com query, status HTTP, latência, verificação de esquema); null quando nenhuma foi executada. |
| verified_samples.at | number | ms | Horário em que as amostras adicionais foram verificadas pela última vez. |
| verified_samples.samples | array | — | Número de amostras. |
| verified_samples.samples[] | object | — | Número de amostras. |
| verified_samples.samples[].query | object | — | Parâmetros de query da requisição de amostra. |
| verified_samples.samples[].query.coin | string | — | Símbolo da moeda, em maiúsculas (por exemplo, BTC). pode estar ausente |
| verified_samples.samples[].http | number | — | Status HTTP retornado. |
| verified_samples.samples[].ok | boolean | — | `true` quando a amostra retornou o que era esperado (HTTP 200 com JSON válido, ou o status de erro esperado). |
| verified_samples.samples[].latency_ms | number | ms | Tempo de resposta da requisição de amostra. |
| verified_samples.samples[].schema_ok | boolean|null | — | `true` quando a resposta da amostra correspondeu à tabela de campos documentada; `null` quando não verificada. |
| verified_samples.samples[].quality | null | — | `meta.quality` reportado pela resposta da amostra; `null` quando não reportado. |
| verified_samples.samples[].note | string|null | — | Observação. |
| probe_detail | null | — | Diferenças de esquema encontradas pela última sondagem: caminhos de campos `missing`, `mismatched` e `undocumented`; null quando não há nenhuma. |
| uptime_30d | object | — | Verificações de sondagem deste endpoint nos últimos 30 dias: totais, percentual de sucesso e um detalhamento por dia. |
| uptime_30d.checks | number | count | Número de verificações de sondagem do endpoint nos últimos 30 dias (menos dias quando o acompanhamento começou depois). |
| uptime_30d.ok | number | count | Número dessas verificações que tiveram sucesso. |
| uptime_30d.pct | number | % | Percentual. |
| uptime_30d.days | array | — | Valores diários ou número de dias. |
| uptime_30d.days[] | object | — | Valores diários ou número de dias. |
| uptime_30d.days[].day | string | — | Dia de calendário (UTC). |
| uptime_30d.days[].checks | number | count | Número de requisições de sondagem nesse dia. |
| uptime_30d.days[].ok | number | count | Número de requisições de sondagem bem-sucedidas nesse dia. |
| uptime_30d.days[].pct | number | % | Percentual. |
| uptime_30d.days[].avg_ms | number | ms | Tempo médio de resposta nesse dia; `null` sem verificações. |
| uptime_30d.days[].max_ms | number | ms | Resposta mais lenta nesse dia. |
| errors | array | — | 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[].code | string | — | Código. |
| errors[].http | number|string | — | Status HTTP enviado com este código; uma string como `501 / 503` quando mais de um se aplica. |
| errors[].meaning | string | — | O que o erro significa. |
| errors[].retry | string | — | Orientação sobre se e como tentar novamente. |
| errors[].legacy | boolean | — | Presente e true somente no código usado pelos endpoints mais antigos que respondem HTTP 200 com `success: false`. pode estar ausente |
| rate_limit | object | — | Regras de limite de requisições da API pública. |
| rate_limit.window_s | number | s | Duração da janela de contagem (60). |
| rate_limit.anonymous_per_min | number | count | Requisições por minuto permitidas por IP de cliente quando nenhuma chave de API é enviada. |
| rate_limit.scope | string | — | 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_min | object | — | 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.hobbyist | number | count | Requisições por minuto para chaves do nível `hobbyist`. |
| rate_limit.key_tiers_per_min.startup | number | count | Requisições por minuto para chaves do nível `startup`. |
| rate_limit.key_tiers_per_min.standard | number | count | Requisições por minuto para chaves do nível `standard`. |
| rate_limit.key_tiers_per_min.professional | number | count | Requisições por minuto para chaves do nível `professional`. |
| rate_limit.exempt | array | — | 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.headers | array | — | 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_exceed | object | — | O que é retornado quando o limite é excedido: status `http` e `code` de erro. |
| rate_limit.on_exceed.http | number | — | Status HTTP retornado quando o limite é excedido (429). |
| rate_limit.on_exceed.code | string | — | Código. |
| related | array | — | Todos os endpoints da mesma categoria, incluído este. |
| related[] | object | — | Um endpoint: `id`, `path` e `title`. |
| related[].id | string | — | Identificador. |
| related[].path | string | — | Caminho de requisição do endpoint. |
| related[].title | string | — | Título curto de exibição do endpoint. |
| probe | object | — | 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_at | number | ms | Timestamp. |
| probe.age_s | number | s | Segundos desde a última atualização desta linha. |
| probe.interval_s | number | s | Intervalo planejado entre duas execuções da sonda (300). |
| probe.fresh | boolean | — | 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.error | null | — | Mensagem de erro (presente apenas em caso de falha). |
| meta | object | — | Envelope desta resposta: ID do esquema, sistema produtor, timestamps, tempo de vida do cache e atualidade. |
| meta.schema | string | — | ID do esquema desta resposta; mesmo valor do `schema` de nível superior. |
| meta.source | array | — | De onde vem o valor. |
| meta.source[] | object | — | De onde vem o valor. |
| meta.source[].system | string | — | Sistema que produziu os dados; sempre `coinboss` nos endpoints do centro de desenvolvedores. |
| meta.source[].component | string | — | Componente por trás dos dados: a sonda de endpoints e a ronda de qualidade dos dados. |
| meta.observed_at | null | — | Timestamp. |
| meta.received_at | number | ms | Timestamp. |
| meta.fetched_at | number | ms | Quando a CoinBoss obteve os dados da fonte. |
| meta.window | string | — | Janela. |
| meta.cache_ttl_s | number | s | Tempo de vida do cache do servidor para esta resposta. |
| meta.quality | string | — | `FRESH` quando este endpoint foi sondado nos últimos 20 minutos; caso contrário, `STALE`. |
| meta.is_stale | boolean | — | true quando a linha é mais antiga que a janela de atualidade; linhas desatualizadas não entram nos totais. |
| meta.fallback | string | — | Nota em texto simples sobre o que este endpoint retorna quando suas entradas estão desatualizadas ou ausentes. |
Gerada 2026-11-11 23:03 UTC a partir de 3 respostas reais.
Exemplo de resposta
/api/meta/endpoint?id=sd-oi · Resposta real capturada 2026-11-13 03:53:45 UTC. Arrays e mapas longos são encurtados para exibição: errors tinha 9 itens; fields tinha 103 itens; related tinha 6 itens; endpoint tinha 35 itens; uptime_30d.days tinha 3 itens; verified_samples.samples tinha 4 itens.
- "success"true
- "schema""coinboss.meta.endpoint/1"
- "now"1794542025825
- "endpoint"
- "id""sd-oi"
- "cat""open-interest"
- "fields"
- "fields_generated_at"1794438008862
- "fields_generated_from"
- "/api/sd/oi?coin=BTC"
- "/api/sd/oi?coin=ETH"
- "/api/sd/oi?coin=SOL"
- "/api/sd/oi?coin=ARKM"
- "example"
- "request""/api/sd/oi?coin=BTC"
- "captured_at"1794541954384
- "truncated"
- "body"
- "verified_samples"
- "at"1794540459506
- "samples"
- "probe_detail"
- "missing"
- "mismatched"
- "undocumented"
- "uptime_30d"
- "checks"410
- "ok"410
- "pct"100
- "days"
- "errors"
- "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"
- "exempt"
- "headers"
- "on_exceed"
- "related"
- "probe"
- "last_run_at"1794541726312
- "age_s"300
- "interval_s"300
- "fresh"true
- "error"null
- "meta"
- "schema""coinboss.meta.endpoint/1"
- "source"
- "observed_at"null
- "received_at"1794541954384
- "fetched_at"1794542025825
- "window""latest"
- "cache_ttl_s"30
- "quality""FRESH"
- "is_stale"false
- "fallback""field table comes from the last schema generation; example is the last successful real response"
Amostras verificadas
Além do exemplo acima, a sonda chama este endpoint com estes parâmetros e verifica o esquema a cada vez.
| Parâmetros | HTTP | Latência | Resultado |
|---|---|---|---|
| id=sd-funding | 200 | 2 ms | Aprovado FRESH |
| id=liquidations-overview | 200 | 2 ms | Aprovado FRESH |
| — | 400 | 2 ms | Aprovado retorna o erro esperado |
Verificado 2026-11-13 03:29:26 UTC
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
- Fontes de dados
- Catálogo de endpoints da CoinBoss, esquemas gerados pela sonda da API, sd_api_probe.
- 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
Disponibilidade, últimos 30 dias
99.75% de 407 verificações aprovadas
- Retornado, mas não documentado: probe_detail.missing, probe_detail.mismatched, probe_detail.undocumented, probe_detail.undocumented[]
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ódigo | HTTP | Significado | O que fazer |
|---|---|---|---|
| INVALID_PARAM | 400 | Falta 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. |
| UNAUTHORIZED | 401 | O 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. |
| FORBIDDEN | 403 | A rota não faz parte da API pública (é interna ou exclusiva de conta). | Não tente novamente. |
| NOT_FOUND | 404 | Rota desconhecida, ou a moeda / corretora / fundo solicitado não existe. | Não tente novamente; confira o caminho e os identificadores no catálogo. |
| RATE_LIMITED | 429 | Mais 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. |
| INTERNAL | 500 | Erro 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_FAILED | 503 | A 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. |
| UNAVAILABLE | 501 / 503 | O 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_FAILED | 200 | Alguns 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
/api/meta/endpointDisponívelstring — Endpoint id from the catalog (for example `sd-oi`). Unknown ids return 404.
https://www.coinboss.com/api/meta/endpoint?id=sd-oiMais nesta categoria
- Matriz de qualidade dos dados (visão do coletor) /api/sd/quality
- Catálogo da API /api/meta/catalog
- Registro de alterações e política de versionamento /api/meta/changelog
- Documentação do endpoint /api/meta/endpoint
- Documento OpenAPI /api/meta/openapi
- Matriz de qualidade dos dados /api/meta/quality
- Status do serviço /api/meta/status
- Verifica se o símbolo de uma moeda é conhecido pela plataforma /api/coin-exists
- Mapa de símbolo de moeda para o caminho do ícone hospedado localmente /api/coin-icons
- Resumo agregado da página da moeda /api/content/coin
- Resumo das seções de todo o site /api/content/summary
- Tabela de taxas de câmbio fiduciárias /api/currency/fx
- Mapa de ID de corretora para o caminho do ícone hospedado localmente /api/exchange-icons
- Verificação de atividade /api/health
- Estatísticas da página de pesquisa /api/research/stats