Revisar un contrato API
Comprueba un archivo antes de incorporarlo al repositorio o entregarlo a otro desarrollador.
Comprueba una descripción de API en JSON o YAML sin subirla a un servidor.
Pega o importa un documento JSON/YAML autónomo y valídalo. El informe muestra los errores y explica el alcance de las comprobaciones.
Comprobaciones parciales: estructura, referencias JSON Pointer, palabras clave de esquemas 3.1, identificadores de rutas y webhooks y parámetros de ruta. No se validan formatos ni ejemplos, ni las restricciones semánticas de callbacks. No se admiten dialectos personalizados, $id, anclas ni referencias dinámicas.
Una descripción OpenAPI sirve de contrato entre quienes desarrollan, documentan y consumen una API. Una sangría YAML incorrecta, un campo obligatorio ausente o una referencia sin resolver pueden impedir su uso. Este validador ayuda a localizar esos errores en JSON o YAML, directamente en tu navegador. Admite Swagger 2.0, OpenAPI 3.0.0–3.0.4 y OpenAPI 3.1.0–3.1.2, con el alcance indicado en el informe.
La comprobación empieza por la sintaxis: el texto debe poder interpretarse como un único documento JSON o YAML, sin claves duplicadas. Después se comprueban la versión y la estructura esperada, incluidas la información de la API y sus operaciones. Un archivo sintácticamente correcto puede incumplir el esquema OpenAPI de su versión.
Las referencias internas usan JSON Pointer, por ejemplo #/components/responses/Ok, para señalar ubicaciones del mismo documento. El validador comprueba su resolución y distingue las referencias reales de las claves $ref incluidas en los datos de un ejemplo. Rechaza las referencias a otros archivos o esquemas remotos; ningún resolutor los descarga.
Las comprobaciones adicionales cubren los operationId de rutas y webhooks, los parámetros de ruta y los tipos de palabras clave de los esquemas 3.1. Un resultado correcto sigue siendo parcial: no comprueba todas las restricciones semánticas, los formatos ni la validez de los ejemplos. Los dialectos personalizados, $id, anclas y referencias dinámicas se indican como no admitidos.
Una ruta de diagnóstico como /paths/~1health/get/responses señala el campo responses de GET /health: en JSON Pointer, ~1 representa una barra oblicua. Se muestra una línea cuando puede localizarse en el texto fuente. Empieza por la primera causa clara antes de abordar los diagnósticos secundarios del mismo objeto incompleto.
Pega la descripción o importa un archivo JSON, YAML o YML. Agrupa antes las referencias repartidas entre varios archivos.
Pulsa Validar. El proceso se ejecuta en tu navegador y se detiene tras un máximo de diez segundos.
Empieza por los errores de sintaxis, corrige los campos indicados y vuelve a validar.
Comprueba un archivo antes de incorporarlo al repositorio o entregarlo a otro desarrollador.
Localiza errores de estructura en una descripción generada por un framework u otra herramienta.
Revisa una descripción interna sin subir su contenido ni llamar a los endpoints.
Pega este documento completo para describir GET /health. La respuesta 200 reutiliza el componente Ok del mismo archivo. Se comprueba un contrato documental; no se envía ninguna petición GET a un servidor.
Entrada
openapi: 3.1.0
info:
title: Health API
version: 1.0.0
paths:
/health:
get:
responses:
"200":
$ref: "#/components/responses/Ok"
components:
responses:
Ok:
description: OKResultado
Válida dentro del alcance comprobado
Operaciones HTTP declaradas: 1Este YAML se puede interpretar, pero falta info.version. Añade, por ejemplo, version: 1.0.0 dentro de info. Un objeto paths vacío no es, por sí solo, la causa del error. La línea indicada depende de la posición del campo en tu archivo.
Entrada
openapi: 3.1.0
info:
title: Health API
paths: {}Resultado
Descripción pendiente de corrección
Ruta: /info
Estructura no conforme con la especificación.
Detalle: required: versionEl documento conserva el componente Ok, pero la respuesta solicita Absent. Corrige el nombre de la referencia. Si lo sustituyes por una URL externa, el diagnóstico pasa a ser una referencia externa rechazada y no se carga el archivo remoto.
Entrada
openapi: 3.1.0
info:
title: Health API
version: 1.0.0
paths:
/health:
get:
responses:
"200":
$ref: "#/components/responses/Absent"
components:
responses:
Ok:
description: OKResultado
Descripción pendiente de corrección
Ruta: /paths/~1health/get/responses/200/$ref
Referencia interna no encontrada.No. El validador comprueba parte de la descripción, no las respuestas del servidor, los permisos ni las reglas de negocio. No se llama a ningún endpoint. El informe explica los límites de las comprobaciones.
Agrúpala localmente en un documento autónomo con tus herramientas habituales. No se recuperan archivos enlazados.
Todavía no. Las versiones no compatibles se indican expresamente y no se confunden con errores de sintaxis.
Se verifica el documento con el esquema estructural de su versión. También se comprueban las referencias JSON Pointer internas, los tipos de palabras clave de los esquemas 3.1, los operationId de rutas y webhooks y los parámetros de ruta. No se comprueban todos los formatos, ejemplos, datos reales ni las demás restricciones semánticas.
Herramientas relacionadas
Herramientas similares o complementarias a esta.
Valida un documento JSON con un esquema y localiza cada error con precisión.
Convierte datos JSON a YAML o datos YAML a JSON directamente en tu navegador.
Construye una solicitud API HTTP completa con método, URL, parámetros, encabezados y cuerpo.