SwaggerJS - a collection of interfaces for OAI specs


Keywords
oai, swagger, js, spec, resolver, json-refs, hacktoberfest, javascript, open-source, openapi-specification, openapi3, openapi31, rest, rest-api, swagger-api, swagger-js, swagger-oss
License
Apache-2.0
Install
npm install swagger-client@3.3.4

Documentation

Swagger Client

Build Status

Swagger Client is a JavaScript module that allows you to fetch, resolve, and interact with Swagger/OpenAPI documents.

New!

This is the new version of swagger-js, 3.x. The new version supports Swagger 2.0 as well as OpenAPI 3.

Want to learn more? Check out our FAQ.

For features known to be missing from 3.x please see the Graveyard.

For the older version of swagger-js, refer to the 2.x branch.

The npm package is called swagger-client and the GitHub repository is swagger-js. We'll be consolidating that soon. Just giving you the heads-up. You may see references to both names.

Compatibility

The OpenAPI Specification has undergone multiple revisions since initial creation in 2010. Compatibility between Swagger Client and the OpenAPI Specification is as follows:

Swagger Client Version Release Date OpenAPI Spec compatibility Notes
3.19.x 2023-01-23 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0 tag v3.19.0-alpha.3
3.10.x 2020-01-17 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3 tag v3.10.0
2.1.32 2017-01-12 1.0, 1.1, 1.2 tag v2.1.32. This release is only available on GitHub.

Anonymized analytics

Swagger Client uses Scarf to collect anonymized installation analytics. These analytics help support the maintainers of this library and ONLY run during installation. To opt out, you can set the scarfSettings.enabled field to false in your project's package.json:

// package.json
{
  // ...
  "scarfSettings": {
    "enabled": false
  }
  // ...
}

Alternatively, you can set the environment variable SCARF_ANALYTICS to false as part of the environment that installs your npm packages, e.g., SCARF_ANALYTICS=false npm install.

Documentation

Usage

Development

Migrations

Runtime

Node.js

swagger-client requires Node.js >=12.20.0 and uses different fetch implementation depending on Node.js version.

NOTE: swagger-client minimum Node.js runtime version aligns with Node.js Releases which means that we can drop support for EOL (End Of Life) Node.js versions without doing major version bump.

Browsers

swagger-client works in the latest versions of Chrome, Safari, Firefox, and Edge and uses native fetch implementation provided by each supported browser.

Security contact

Please disclose any security-related issues or vulnerabilities by emailing security@swagger.io, instead of using the public issue tracker.