ForHosting KIT · Web: scraping y monitoreo

Detectar esquema de versionado de API desde la URL

Una dirección cuya ruta empieza por v1 usa versionado por ruta, versión 1, ubicada en /v1. Pegue cualquier dirección para saber si la versión está en la ruta, tras el signo de interrogación o solo en las cabeceras, útil para pasarelas y documentación. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Dirección web
https://api.example.com/v1/users
Obtiene
Esquema
path_based
Versión
1
Versión sin procesar
v1
Ubicación
/v1

Cuando la versión aparece en la ruta o en la consulta, se extrae y se devuelve con el token en bruto y la ubicación que coincidió.

Tres lugares donde un servicio web guarda su versión

Los servicios web anuncian su versión de formas distintas. La más común es un tramo de la ruta, como v2 entre barras, dentro de la propia dirección. Otra es una clave tras el signo de interrogación que lleva el número, por ejemplo una versión con valor 2. La tercera deja la dirección limpia y espera que la versión viaje aparte, en las cabeceras. Pegue una dirección completa y el detector le dice cuál de los tres estilos usa y, si la versión está a la vista, cuál es y dónde apareció. Una dirección cuya ruta empieza por v1, seguida de users, se clasifica como versionado por ruta, versión 1, con el texto original v1 y la ubicación /v1.

Qué comprueba el detector y qué no hace nunca

Solo se aceptan direcciones completas que empiecen por http o https; cualquier otra cosa se rechaza en lugar de adivinarse. Las claves tras el signo de interrogación se comparan sin distinguir mayúsculas, y gana la primera de una lista fija de prioridad que tenga valor, así que el orden de los elementos no cambia la respuesta. Una versión escrita como v2 se normaliza a 2, mientras que 1.0.0 se mantiene y palabras como beta o una fecha como 2024-01-01 se conservan tal cual. El detector nunca se conecta al servicio ni inventa una versión a partir del nombre del servidor, de modo que la misma dirección siempre da la misma respuesta.

Cómo se distinguen los esquemas por ruta, consulta y cabecera implícita

También reconoce la forma de dos segmentos version/1 o versions/2.0 para que las rutas al estilo de documentación se clasifiquen bien. Las claves se comparan sin distinguir mayúsculas; gana la primera de esa lista de prioridad fija con valor no vacío, de modo que el resultado es estable sea cual sea el orden de parámetros en la URL original. Los valores pueden ser 2, v2 o 1.0.0; se elimina una v inicial en el campo version normalizado cuando el token es puramente numérico con puntos opcionales.

Los tokens alfanuméricos libres como beta o 2024-01-01 se conservan tal cual si coinciden con un patrón de identificador seguro. El detector no hace E/S de red ni inventa una versión solo a partir del nombre de host.

¿Qué cuenta como versionado por ruta?

Un segmento de ruta que coincida con v más una versión numérica (v1, v2.0) o la forma version/1 o versions/2.0.

¿Qué significa que no se encuentre ninguna versión en la dirección?

El resultado indica versionado por cabeceras: ni la ruta ni la parte tras el signo de interrogación llevan una marca de versión. Esos servicios suelen esperar la versión en las cabeceras o no la incluyen en la dirección.

¿Importa el orden de los elementos tras el signo de interrogación?

No. Las claves se comparan sin distinguir mayúsculas y gana la primera de una lista fija de prioridad que tenga valor, así que la misma dirección da la misma respuesta en cualquier orden.

¿Qué pasa con versiones escritas como v2 o 1.0.0?

La v inicial se quita cuando el resto son solo cifras y puntos, de modo que v2 queda en 2 y 1.0.0 se mantiene igual. Palabras como beta o una fecha como 2024-01-01 se conservan tal cual.

¿La herramienta visita la dirección que pego?

No. Solo lee el texto de la dirección y nunca se conecta al servicio. Tampoco deduce una versión a partir del nombre del servidor, así que una dirección sin marca se informa como tal.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

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

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Las API HTTP públicas anuncian su estilo de versionado en sitios distintos: un segmento de ruta como /v2/, una cadena de consulta como ? api_version=2, o en ningún lugar de la URL cuando se espera que los clientes envíen Accept u otras cabeceras personalizadas. Integraciones, pasarelas, generadores de SDK y rastreadores de documentación necesitan una respuesta determinista única sobre qué esquema usa un endpoint y qué token de versión lleva. Esta capacidad acepta una URL absoluta de API, rechaza cadenas que no sean URL http o https bien formadas y clasifica el esquema como path_based, query_param o header_implied. Si ni la ruta ni la consulta contienen un marcador convencional, el resultado es header_implied con has_version false, lo que indica que el versionado queda fuera de banda respecto a la URL.

Cómo se distinguen los esquemas por ruta, consulta y cabecera implícita

El versionado por ruta es la convención REST dominante: un segmento como v1, v2 o v1.2.3 aparece en el pathname, a menudo bajo /api/ o como primer segmento significativo tras el host. Este detector recorre los segmentos de izquierda a derecha y trata una coincidencia, sin distinguir mayúsculas, de v seguida de una versión numérica como path_based, devolviendo la parte numérica como version y el segmento original como version_raw con location apuntando a ese segmento (por ejemplo /v2). El versionado por parámetro de consulta coloca el token en la cadena de búsqueda bajo claves habituales: version, api_version, api-version, apiversion, ver y v. Cuando coincidirían ruta y consulta, path_based tiene prioridad porque la documentación REST pública casi siempre trata el segmento de ruta como contrato principal y la consulta como anulación secundaria. Si ninguna fuente aporta versión, el esquema es header_implied: la URL sola no codifica versión, lo que en API modernas suele significar Accept: application/vnd.example.v1+json, una cabecera X-API-Version personalizada o una superficie sin versionar.

Contrato de entrada, carga útil de éxito y errores de validación

Ejemplo: https://api.example.com/users? Envíe por POST un cuerpo JSON con un único campo de cadena obligatorio llamado url. El valor debe ser una URL absoluta bien formada con esquema http o https; rutas relativas, nombres de host sin esquema, cadenas vacías, tipos que no sean cadena y otros protocolos como ftp o mailto fallan con invalid_input y no se facturan. En caso de éxito la respuesta incluye siempre la url ecoada, scheme (path_based, query_param o header_implied), has_version (booleano), path (pathname) y host. Cuando has_version es true, la carga incluye también version (token normalizado), version_raw (como en la URL) y location (un puntero breve como /v2 o ? api_version=2). En resultados query_param, param_name registra la grafía original de la clave en la URL. Los campos opcionales se omiten en lugar de ponerse a null cuando has_version es false, manteniendo el contrato seguro para el DOM y fácil de renderizar. Ejemplo: https://api.example.com/v2/users produce scheme path_based, version 2 y location /v2. api_version=2 produce scheme query_param, version 2 y param_name api_version. Ejemplo: https://api.example.com/users sin marcadores de versión produce scheme header_implied y has_version false. Use la herramienta gratuita del navegador para una inspección puntual, o la API a $0.002 por elemento correcto cuando clasifique endpoints en lote desde un inventario o un rastreo OpenAPI.

Dónde aporta valor la detección del versionado en la URL

Los equipos de plataforma inventarian cientos de URL base internas y de socios y necesitan una etiqueta coherente antes de enrutar el tráfico por una pasarela que impone ventanas de deprecación. La validación fallida no consume saldo. Los generadores de SDK y las herramientas de andamiaje de clientes ramifican plantillas según si el servidor espera /vN/ en la ruta, un indicador de consulta o solo versionado por cabecera; un clasificador puro evita expresiones regulares frágiles repartidas por repositorios. Los sitios de documentación y los mercados de API muestran insignias del estilo de versionado junto a cada ficha; alimentarlos con este endpoint alinea la copia de marketing con la forma real de la URL. Las revisiones de seguridad y cumplimiento suelen preguntar si los hosts de producción aún exponen rutas sin versionar o esquemas mixtos que complican el despliegue de cambios incompatibles; exportar scheme y has_version a una hoja responde en un solo paso. Los trabajos de CI pueden rechazar una solicitud de fusión cuando una URL base de servicio nueva pasa en silencio de path_based a header_implied sin un ADR. Como la implementación es parse puro de nivel A, cada llamada correcta cuesta el precio base publicado $0.002, sin tokens de modelo ni descarga del host objetivo.

Inventario de API y enrutado en pasarela

Clasifique URL base de un catálogo de servicios como path_based, query_param o header_implied antes de aplicar políticas de deprecación y reglas de enrutado.

Andamiaje de SDK y clientes

Elija la plantilla de URL correcta al generar SDK: inyecte /vN/, añada ?version= o documente cabeceras Accept obligatorias cuando la URL no lleva versión.

Insignias de documentación y auditorías de cumplimiento

Etiquete listados públicos de API con su estilo de versionado y marque hosts de producción sin versionar en revisiones de seguridad o arquitectura.

¿Cómo detecto el esquema de versionado de una API a partir de una URL?

Envíe una URL http(s) absoluta bien formada en el campo url. El scheme de la respuesta es path_based, query_param o header_implied, con version extraída si está en la ruta o en la consulta.

¿Qué parámetros de consulta se reconocen?

version, api_version, api-version, apiversion, ver y v, sin distinguir mayúsculas y en ese orden de prioridad. El primer valor no vacío produce scheme query_param.

¿Qué significa header_implied?

Ni la ruta ni la cadena de consulta llevan un marcador convencional de versión. El versionado se transmite por cabeceras (Accept, X-API-Version) o la API no está versionada en la URL.

¿Cuánto cuesta detectar el esquema de versionado de una API?

La herramienta del navegador es gratuita. Las solicitudes a la API usan el saldo prepago de KIT a $0.002 por llamada correcta; las URL no válidas o mal formadas no se facturan.

Ver la documentación completa del KIT →