La especificación OpenAPI ( OAS ), anteriormente conocida como la especificación Swagger , es una especificación para un lenguaje de definición de interfaz legible por máquina para describir, producir, consumir y visualizar servicios web . [ 1 ] Originalmente desarrollada para dar soporte al marco Swagger , se convirtió en un proyecto independiente en 2015, supervisado por la OpenAPI Initiative, un proyecto de colaboración de código abierto de la Linux Foundation . [ 2 ] [ 3 ]
Una descripción OpenAPI (OAD) [ 4 ] representa una descripción formal de una API que las herramientas pueden usar para generar código, documentación, casos de prueba y más.
Historia

El desarrollo de Swagger comenzó a principios de 2010 de la mano de Tony Tam, quien trabajaba en la empresa de diccionarios en línea Wordnik . [ 5 ]
En marzo de 2015, SmartBear Software adquirió la especificación de la API Swagger de código abierto de Reverb Technologies, la empresa matriz de Wordnik. [ 6 ]
En noviembre de 2015, SmartBear anunció que donaría la especificación Swagger a una nueva organización llamada OpenAPI Initiative, bajo el patrocinio de la Linux Foundation . Otras empresas miembros fundadoras fueron 3scale , Apigee , Capital One , Google , IBM , Intuit , Microsoft , PayPal y Restlet. [ 7 ] [ 8 ]
El 1 de enero de 2016, la especificación Swagger pasó a llamarse Especificación OpenAPI (OAS) y se trasladó a un nuevo repositorio de GitHub . [ 9 ]
Consolidación de formatos
Dos tecnologías bastante similares, el lenguaje de modelado de API RESTful (RAML) de MuleSoft y el API Blueprint de Apiary, se desarrollaron casi al mismo tiempo que lo que entonces todavía se llamaba la especificación Swagger.
Los productores de ambos formatos se unieron posteriormente a la Iniciativa OpenAPI: Apiary en 2016 [ 10 ] y MuleSoft en 2017. [ 11 ] Ambos han añadido soporte para OAS. [ 12 ] [ 11 ]
Historial de versiones
En julio de 2017, la OpenAPI Initiative publicó la versión 3.0.0 de su especificación. [ 13 ]
En febrero de 2021, la OpenAPI Initiative publicó la versión 3.1.0. [ 14 ] Los principales cambios en la especificación OpenAPI 3.1.0 incluyen la alineación de los vocabularios del esquema JSON, nuevos elementos de nivel superior para describir webhooks que se registran y administran fuera de banda, soporte para identificar licencias de API utilizando el identificador SPDX estándar, la posibilidad de usar descripciones junto con referencias de esquema y un cambio para que el objeto PathItems sea opcional para simplificar la creación de bibliotecas de componentes reutilizables. [ 15 ] [ 16 ] [ 17 ]
En septiembre de 2025, la OpenAPI Initiative publicó la versión 3.2.0 de OAS. [ 18 ] Entre las características destacadas se incluyen etiquetas estructuradas, compatibilidad con tipos de medios de transmisión de primera clase, compatibilidad con métodos HTTP arbitrarios, semántica de ejemplos más clara para serializaciones, mejoras en el flujo de dispositivos y metadatos de OAuth2, y semántica de enrutamiento y plantillas de ruta más clara. [ 19 ]
Fechas de lanzamiento
Uso
La OAS describe el formato para las descripciones de OpenAPI (OAD), [ 4 ] que pueden ser utilizadas por una variedad de aplicaciones, bibliotecas y herramientas.
Las aplicaciones pueden usar OAD para generar automáticamente documentación de métodos, parámetros y modelos de datos . Esto ayuda a mantener sincronizadas la documentación , las bibliotecas cliente y el código fuente. [ 21 ]
Cuando se utiliza un OAD para generar fragmentos de código fuente para servidores, el proceso se denomina andamiaje .
Relación con las prácticas de ingeniería de software
El paradigma de acordar primero un contrato de API y luego programar la lógica de negocio, en contraste con codificar primero el programa y luego escribir una descripción retrospectiva de su comportamiento como contrato, se denomina desarrollo basado en contratos. Dado que la interfaz se determina antes de escribir cualquier código, los desarrolladores posteriores pueden simular el comportamiento del servidor y comenzar las pruebas de inmediato. [ 22 ] En este sentido, el desarrollo basado en contratos también es una práctica de pruebas tempranas .
Características
La especificación OpenAPI es independiente del lenguaje. Con la especificación de recursos declarativa de OpenAPI , los clientes pueden comprender y consumir servicios sin necesidad de conocer la implementación del servidor ni acceder a su código. [ 1 ]
Conferencias y programas de conferencias
La OpenAPI Initiative patrocinó APIStrat de 2017 a 2019, convirtiéndola en la API Specifications Conference (ASC) de 2020 a 2022. [ 23 ] A partir de 2023, la iniciativa ha patrocinado sesiones de OpenAPI en varias conferencias a lo largo del año. [ 24 ]
Véase también
Referencias
- 1 2 "Documentación de OpenAPI: Primeros pasos" . Aprende OpenAPI . La iniciativa OpenAPI . Consultado el 17 de septiembre de 2024 .
- ↑ "Nuevo proyecto colaborativo para ampliar la especificación Swagger para la creación de aplicaciones y servicios conectados" . Archivado del original el 31 de octubre de 2023.
- ↑ "Estatutos de la Iniciativa OpenAPI" . Iniciativa OpenAPI . Archivado del original el 26 de enero de 2025. Consultado el 12 de noviembre de 2019 .
- 1 2 "Documentación de OpenAPI: Glosario" . Aprende OpenAPI . La Iniciativa OpenAPI. 2023. Consultado el 17 de septiembre de 2024 .
- ↑ "El creador de Swagger se une a SmartBear" . 28 de septiembre de 2015. Consultado el 6 de agosto de 2019 .
- ↑ "SmartBear asume el patrocinio del proyecto de código abierto de la API Swagger" . SmartBear . Consultado el 25 de marzo de 2015 .
- ↑ "Preguntas frecuentes" . Iniciativa OpenAPI . Consultado el 12 de noviembre de 2019 .
- ↑ "Nuevo proyecto colaborativo para extender la especificación Swagger para la creación de aplicaciones y servicios conectados" . linuxfoundation.org . Archivado del original el 27 de abril de 2016. Consultado el 22 de abril de 2016 .
- ↑ Iniciativa OpenAPI. "Especificación OpenAPI" . GitHub . Consultado el 12 de noviembre de 2019 .
- ↑ Lensmar, Ole (23 de febrero de 2016). "Actualización de OAI: nuevos miembros, progreso de la especificación OpenAPI 3.0 y más!" . The OpenAPI Initiative . Recuperado el 13 de octubre de 2024 .
- 1 2 Avram, Abel (6 de mayo de 2017). "El espacio de las API HTTP se está consolidando en torno a OAS" . InfoQ . Recuperado el 14 de mayo de 2017 .
- ↑ Nesetril, Jakub (18 de enero de 2016). "Tenemos Swagger" . Oracle Apiary . Recuperado el 13 de octubre de 2024 .
- ↑ "La OAI anuncia la especificación OpenAPI 3.0.0" . OpenAPIs . 26 de julio de 2017. Consultado el 19 de abril de 2018 .
- ↑ "Especificación OpenAPI 3.1.0 disponible ahora" . Linux.com . 26 de abril de 2021. Consultado el 26 de abril de 2021 .
- ↑ Charboneau, Tyler (7 de abril de 2021). "¿Qué hay de nuevo en OpenAPI 3.1.0?" . Nordic APIs . Consultado el 7 de abril de 2021 .
- ↑ "Se publica la especificación OpenAPI 3.1.0" . Iniciativa OpenAPI . 18 de febrero de 2021. Consultado el 18 de febrero de 2021 .
- ↑ Sturgeon, Phil (16 de febrero de 2021). "Migración de OpenAPI 3.0 a 3.1.0" . Iniciativa OpenAPI . Recuperado el 16 de febrero de 2021 .
- ↑ "Anuncio de OpenAPI v3.2" . Blog de la Iniciativa OpenAPI . 23 de septiembre de 2025. Consultado el 15 de junio de 2026 .
- ↑ "¿Qué hay de nuevo en la especificación OpenAPI v3.2.0?" . Nordic APIs . 27 de enero de 2026 . Consultado el 15 de junio de 2026 .
- ↑ "Especificación OpenAPI versión 3.2.0" . Publicaciones de la Iniciativa OpenAPI . Consultado el 15 de junio de 2026 .
- ↑ "Documentación de OpenAPI: Introducción" . Aprende OpenAPI . La Iniciativa OpenAPI. 2023. Consultado el 17 de septiembre de 2024 .
- ↑ Preibisch, Sascha (2018). Desarrollo de API: Una guía práctica para el éxito en la implementación empresarial . [Berkeley, CA]: Apress. ISBN 978-1-4842-4140-0OCLC 1076234393. Al tener disponible el documento Swagger ( o cualquier otro documento
legible por máquina), los miembros del equipo pueden comenzar a trabajar en su parte del proyecto al mismo tiempo.
- ↑ "Presentación de ASC, la Conferencia de Especificaciones de API" . Blog de la Iniciativa OpenAPI . 8 de mayo de 2019. Consultado el 15 de junio de 2026 .
- ↑ "Convocatoria de propuestas: Sección OAI en API Days LondonvFecha: 13-14 de septiembre de 2023 Ubicación: 155 Bishopsgate, Londres, Reino Unido" . Blog de la Iniciativa OpenAPI . Consultado el 15 de junio de 2026 .
Bibliografía
- Haupt, F.; Karastoyanova, D.; Leymann, F.; Schroth, B. (2014). Un enfoque basado en modelos para servicios compatibles con REST . ICWS 2014. Conferencia Internacional IEEE de Servicios Web de 2014. pp. 129–136 . doi : 10.1109/ICWS.2014.30 . ISBN 978-1-4799-5054-6.
- Pautasso, Cesare (2021). Beautiful APIs . LeanPub. p. 100.
Enlaces externos
- Sitio web principal de la Iniciativa OpenAPI (OAI)
- Sitio web de especificaciones de OAI
- Sitio web de OAI Learn OpenAPI
- Sitio web de OAI Tools
- Especificación OpenAPI en GitHub
- Directorio de descripciones de OpenAPI
- Interfaces de programación de aplicaciones
- JSON
- Proyectos de la Fundación Linux
- Lenguajes de marcado
- Arquitectura de software