ForHosting KIT · Monitorar sites

Detectar esquema de versionamento de API pela URL

Um endereço cujo caminho começa com v1 usa versionamento por caminho, versão 1, localizada em /v1. Cole qualquer endereço para saber se a versão está no caminho, depois do ponto de interrogação ou só nos cabeçalhos, útil para gateways e documentação. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Endereço web
https://api.example.com/v1/users
Você obtém
Esquema
path_based
Versão
1
Versão bruta
v1
Local
/v1

Quando a versão aparece no caminho ou na consulta, ela é extraída e devolvida com o token bruto e a localização correspondente.

Três lugares onde um serviço web guarda a versão

Os serviços web anunciam a versão de jeitos diferentes. O mais comum é um trecho do caminho, como v2 entre barras, no próprio endereço. Outro é uma chave depois do ponto de interrogação que traz o número, por exemplo uma versão com valor 2. O terceiro deixa o endereço limpo e espera que a versão siga à parte, nos cabeçalhos. Cole um endereço completo e o detector diz qual dos três estilos ele usa e, quando a versão está visível, qual é e onde apareceu. Um endereço cujo caminho começa com v1, seguido de users, é classificado como versionamento por caminho, versão 1, com o texto original v1 e a localização /v1.

O que o detector verifica e o que ele nunca faz

Só são aceitos endereços completos que começam com http ou https; qualquer outra coisa é recusada em vez de adivinhada. As chaves depois do ponto de interrogação são comparadas sem diferenciar maiúsculas, e vence a primeira de uma lista fixa de prioridade que tiver valor, então a ordem dos itens não muda a resposta. Uma versão escrita como v2 é normalizada para 2, enquanto 1.0.0 continua igual e palavras como beta ou uma data como 2024-01-01 ficam como estão. O detector nunca se conecta ao serviço nem inventa uma versão pelo nome do servidor, por isso o mesmo endereço sempre dá a mesma resposta.

Como se distinguem os esquemas por caminho, consulta e cabeçalho implícito

Também reconhece a forma de dois segmentos version/1 ou versions/2.0 para que rotas no estilo de documentação ainda sejam classificadas corretamente. As chaves são comparadas sem distinguir maiúsculas; vence a primeira da lista de prioridade fixa com valor não vazio, de modo que o resultado permanece estável independentemente da ordem dos parâmetros na URL original. Os valores podem ser 2, v2 ou 1.0.0; um v inicial é removido no campo version normalizado quando o token é puramente numérico com pontos opcionais.

Tokens alfanuméricos livres como beta ou 2024-01-01 são mantidos como estão se corresponderem a um padrão de identificador seguro. O detector nunca faz E/S de rede e nunca inventa uma versão só a partir do hostname.

O que conta como versionamento por caminho?

Um segmento de caminho que combine com v mais uma versão numérica (v1, v2.0) ou a forma version/1 ou versions/2.0.

O que significa não encontrar versão no endereço?

O resultado indica versionamento por cabeçalhos: nem o caminho nem a parte depois do ponto de interrogação trazem marca de versão. Esses serviços costumam esperar a versão nos cabeçalhos ou não a colocam no endereço.

A ordem dos itens depois do ponto de interrogação importa?

Não. As chaves são comparadas sem diferenciar maiúsculas e vence a primeira de uma lista fixa de prioridade que tiver valor, então o mesmo endereço dá a mesma resposta em qualquer ordem.

O que acontece com versões escritas como v2 ou 1.0.0?

O v inicial é removido quando o resto tem só dígitos e pontos, então v2 vira 2 e 1.0.0 continua igual. Palavras como beta ou uma data como 2024-01-01 ficam como estão.

A ferramenta acessa o endereço que eu colo?

Não. Ela só lê o texto do endereço e nunca se conecta ao serviço. Também não deduz uma versão pelo nome do servidor, então um endereço sem marca é informado como tal.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/api-versioning-scheme-detect

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/api-versioning-scheme-detect \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://api.example.com/v1/users"}'
{
  "url": "https://api.example.com/v1/users"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.api_versioning_scheme_detect",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

APIs HTTP públicas anunciam o estilo de versionamento em lugares diferentes: um segmento de caminho como /v2/, uma query string como ? api_version=2, ou em nenhum lugar da URL quando se espera que os clientes enviem Accept ou cabeçalhos personalizados. Integrações, gateways, geradores de SDK e rastreadores de documentação precisam de uma resposta determinística única sobre qual esquema um endpoint usa e qual token de versão carrega. Esta capacidade aceita uma URL absoluta de API, rejeita strings que não sejam URL http ou https bem formadas e classifica o esquema como path_based, query_param ou header_implied. Se nem o caminho nem a consulta contiverem um marcador convencional, o resultado é header_implied com has_version false, sinalizando que o versionamento fica fora de banda em relação à URL.

Como se distinguem os esquemas por caminho, consulta e cabeçalho implícito

O versionamento por caminho é a convenção REST dominante: um segmento como v1, v2 ou v1.2.3 aparece no pathname, muitas vezes sob /api/ ou como o primeiro segmento significativo após o host. Este detector percorre os segmentos da esquerda para a direita e trata uma correspondência, sem distinguir maiúsculas, de v seguida de versão numérica como path_based, devolvendo a parte numérica como version e o segmento original como version_raw com location apontando para esse segmento (por exemplo /v2). O versionamento por parâmetro de consulta coloca o token na string de busca sob chaves comuns: version, api_version, api-version, apiversion, ver e v. Quando caminho e consulta coincidiriam, path_based tem prioridade porque a documentação REST pública quase sempre trata o segmento de caminho como contrato principal e a consulta como sobreposição secundária. Se nenhuma fonte fornecer versão, o esquema é header_implied: a URL sozinha não codifica versão, o que em APIs modernas costuma significar Accept: application/vnd.example.v1+json, um cabeçalho X-API-Version personalizado ou uma superfície sem versionamento.

Contrato de entrada, carga de sucesso e erros de validação

Exemplo: https://api.example.com/users? Envie por POST um corpo JSON com um único campo string obrigatório chamado url. O valor deve ser uma URL absoluta bem formada com esquema http ou https; caminhos relativos, hostnames sem esquema, strings vazias, tipos que não sejam string e outros protocolos como ftp ou mailto falham com invalid_input e não são cobrados. Em caso de sucesso a resposta sempre inclui a url ecoada, scheme (path_based, query_param ou header_implied), has_version (booleano), path (pathname) e host. Quando has_version é true, a carga também inclui version (token normalizado), version_raw (como na URL) e location (um ponteiro curto como /v2 ou ? api_version=2). Em resultados query_param, param_name registra a grafia original da chave na URL. Campos opcionais são omitidos em vez de nulos quando has_version é false, mantendo o contrato seguro para o DOM e fácil de renderizar. Exemplo: https://api.example.com/v2/users produz scheme path_based, version 2 e location /v2. api_version=2 produz scheme query_param, version 2 e param_name api_version. Exemplo: https://api.example.com/users sem marcadores de versão produz scheme header_implied e has_version false. Use a ferramenta gratuita do navegador para uma inspeção pontual, ou a API a US$ 0,002 por item bem-sucedido ao classificar endpoints em lote a partir de um inventário ou de um rastreio OpenAPI.

Onde a detecção de versionamento na URL vale a pena

Equipes de plataforma inventariam centenas de URLs base internas e de parceiros e precisam de um rótulo consistente antes de rotear o tráfego por um gateway que impõe janelas de depreciação. Validação falha não consome saldo. Geradores de SDK e ferramentas de scaffolding de clientes ramificam templates conforme o servidor espera /vN/ no caminho, um flag de consulta ou só versionamento por cabeçalho; um classificador puro evita regexes frágeis espalhadas por repositórios. Sites de documentação e marketplaces de API mostram selos do estilo de versionamento ao lado de cada listagem; alimentá-los com este endpoint alinha o texto de marketing à forma real da URL. Revisões de segurança e conformidade costumam perguntar se hosts de produção ainda expõem caminhos sem versão ou esquemas mistos que complicam o rollout de mudanças incompatíveis; exportar scheme e has_version para uma planilha responde em um único passo. Jobs de CI podem reprovar um pull request quando a URL base de um serviço novo muda em silêncio de path_based para header_implied sem um ADR. Como a implementação é parse puro de tier A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002, sem tokens de modelo e sem fetch do host alvo.

Inventário de API e roteamento em gateway

Classifique URLs base de um catálogo de serviços como path_based, query_param ou header_implied antes de aplicar políticas de depreciação e regras de roteamento.

Scaffolding de SDK e clientes

Escolha o template de URL correto ao gerar SDKs: injete /vN/, acrescente ?version= ou documente cabeçalhos Accept obrigatórios quando a URL não carrega versão.

Selos de documentação e auditorias de conformidade

Rotule listagens públicas de API com o estilo de versionamento e sinalize hosts de produção sem versão em revisões de segurança ou arquitetura.

Como detectar o esquema de versionamento de uma API a partir de uma URL?

Envie uma URL http(s) absoluta bem formada no campo url. O scheme da resposta é path_based, query_param ou header_implied, com version extraída quando presente no caminho ou na query string.

Quais parâmetros de consulta são reconhecidos?

version, api_version, api-version, apiversion, ver e v, sem distinguir maiúsculas e nessa ordem de prioridade. O primeiro valor não vazio produz scheme query_param.

O que significa header_implied?

Nem o caminho nem a query string carregam um marcador convencional de versão. O versionamento é transmitido por cabeçalhos (Accept, X-API-Version) ou a API não está versionada na URL.

Quanto custa detectar o esquema de versionamento de uma API?

A ferramenta do navegador é gratuita. Solicitações à API usam o saldo pré-pago do KIT a US$ 0,002 por chamada bem-sucedida; URLs inválidas ou mal formadas não são cobradas.

Ver a documentação completa do KIT →