A library that simplifies OpenAPI (fka Swagger) integrations/tooling.
Clone or download


A library that simplifies OpenAPI integrations. This library handles the minutiae of loading OpenAPI documents (local and remote), resolving references (local, remote), building an object model and providing you with a rich set of APIs for things like OpenAPI document validation, request/response validation, etc. For more details on the available APIs, please view the API Documentation.

master will always be built to support the latest release of OpenAPI, which right now is 3.x. Previous versions are in their own respective v{N}.x branch:

  • 3.x Support (WIP): master
  • 2.x Support: v2.x

Project Badges

  • Build status: Build Status
  • Dependencies: Dependencies
  • Developer dependencies: Dev Dependencies
  • Downloads: NPM Downloads Per Month
  • Gitter: Join the chat at https://gitter.im/apigee-127/sway
  • License: License
  • Version: NPM Version


sway is available for both Node.js and the browser. Installation instructions for each environment are below.


Installation for browser applications can be done via Bower or by downloading a standalone binary.

Using Bower

bower install sway --save

Standalone Binaries

The standalone binaries come in two flavors:

Note: I realize these binaries are big and I'm working on making them smaller. Unfortunately, some of this is out of my control without rewriting some of the core features provided by third-party libraries currently contributing to the size issue.


Installation for Node.js applications can be done via NPM.

npm install sway --save


The documentation for this project can be found here: /docs/README

Of course, if you just want a quick link to the API documentation, that would be here:/docs/API.md


This project uses Gulp for building so npm install -g gulp once you clone this project. Running gulp in the project root will lint check the source code and run the unit tests.