Skip to content

APIDevTools/openapi-schemas

Repository files navigation

OpenAPI Specification Schemas

Cross-Platform Compatibility Build Status

Coverage Status Dependencies

npm License

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. 🤖📦

Installation

You can install openapi-schemas via npm.

npm install openapi-schemas

Usage

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);

Contributing

Contributions, enhancements, and bug-fixes are welcome! File an issue on GitHub and submit a pull request.

Building

To build the project locally on your computer:

  1. Clone this repo
    git clone https://github.com/APIDevTools/openapi-schemas.git

  2. Install dependencies
    npm install

  3. Build the code
    npm run build

  4. Run the tests
    npm test

License

openapi-schemas is 100% free and open-source, under the MIT license. Use it however you want.

Big Thanks To

Thanks to these awesome companies for their support of Open Source developers ❤

Travis CI SauceLabs Coveralls