This package contains the official JSON Schemas for every version of Swagger/OpenAPI Specification:
All schemas are kept up-to-date with the latest official definitions via an automated CI/CD job. 🤖📦
You can install openapi-schemas
via npm.
npm install openapi-schemas
The default export contains all OpenAPI Specification versions:
const openapi = require("openapi-schemas");
console.log(openapi.v1); // { $schema, id, properties, definitions, ... }
console.log(openapi.v2); // { $schema, id, properties, definitions, ... }
console.log(openapi.v3); // { $schema, id, properties, definitions, ... }
Or you can import the specific version(s) that you need:
const { openapiV1, openapiV2, openapiV3 } = require("openapi-schemas");
console.log(openapiV1); // { $schema, id, properties, definitions, ... }
console.log(openapiV2); // { $schema, id, properties, definitions, ... }
console.log(openapiV3); // { $schema, id, properties, definitions, ... }
You can use a JSON Schema validator such as Z-Schema or AJV to validate OpenAPI definitions against the specification.
const { openapiV3 } = require("openapi-schemas");
const ZSchema = require("z-schema");
// Create a ZSchema validator
let validator = new ZSchema();
// Validate an OpenAPI definition against the OpenAPI v3.0 specification
validator.validate(openapiDefinition, openapiV3);
Contributions, enhancements, and bug-fixes are welcome! File an issue on GitHub and submit a pull request.
To build the project locally on your computer:
-
Clone this repo
git clone https://github.com/APIDevTools/openapi-schemas.git
-
Install dependencies
npm install
-
Build the code
npm run build
-
Run the tests
npm test
openapi-schemas is 100% free and open-source, under the MIT license. Use it however you want.
Thanks to these awesome companies for their support of Open Source developers ❤