L'Especificació OpenAPI, coneguda anteriorment com a Swagger Specification, és una especificació per a fitxers d'interfíciellegibles per màquina per descriure, produir, consumir i visualitzar serveis webRESTful.[1] Anteriorment formava part del marc Swagger, es va convertir en un projecte independent el 2016, supervisat per OpenAPI Initiative, un projecte de col·laboració de codi obert de la Linux Foundation.[2] Swagger i algunes altres eines poden generar codi, documentació i casos de prova amb un fitxer d'interfície.
El desenvolupament de Swagger va començar a principis de 2010 per Tony Tam, que treballava a l'empresa de diccionaris en línia Wordnik.[3] Després d'una xerrada de trobada amb Kin Lane (comitè de direcció d'OpenAPI) i Tony Tam el 12 de juny de 2014,[4] Kin Lane es va acostar a Owen Rubel, que estava treballant en un enfocament similar i va agafar les seves idees per a la nova especificació Swagger 2.0 (que finalment seria convertir-se en OpenAPI).[5]
El març de 2015, SmartBear Software va adquirir l'especificació de l'API Swagger de codi obert de Reverb Technologies, l'empresa matriu de Wordnik.[6]
El novembre de 2015, SmartBear va anunciar que estava creant una nova organització anomenada OpenAPI Initiative sota el patrocini de la Linux Foundation. Altres empreses membres fundadors van incloure 3scale, Apigee, Capital One, Google, IBM, Intuit, Microsoft, PayPal i Restlet.[7][8][9] SmartBear va donar l'especificació Swagger al nou grup. RAML i API Blueprint també estaven sota consideració.[10][11]El febrer de 2021, OpenAPI Initiative va llançar la versió 3.1.0.[12] Els canvis principals a l'especificació OpenAPI 3.1.0 inclouen l'alineació de vocabularis de l'esquema JSON, un nou element de nivell superior per descriure els webhooks registrats i gestionats fora de banda, suport per identificar llicències d'API mitjançant l'identificador estàndard SPDX, permetre descripcions juntament amb l'ús d'esquemes, referències, i l'objecte PathItems ara és opcional per facilitar la creació de biblioteques reutilitzables de components.[13][14]