Skip to content
Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
JavaScript CoffeeScript
Find file
Pull request Compare This branch is 11 commits ahead, 1502 commits behind swagger-api:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Swagger UI

Swagger UI is part of Swagger project.

Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation and sandbox from a Swagger-compliant API. Because Swagger UI has no dependencies, you can host it in any server environment, or on your local machine.

How to Use It


  1. Install CoffeeScript which will give you cake
  2. Run cake dist
  3. You should see the distribution under the dist folder. Open ./dist/index.html to launch Swagger UI in a browser


Once you open the Swagger UI, it will load the Swagger Petstore service and show its APIs. You can enter your own server url and click explore to view the API.


You may choose to customize Swagger UI for your organization. Here is an overview of what the various directories contain

  • dist: Contains a distribution which you can deploy on a server or load from your local machine.
  • bin: Contains files used by swagger-ui for its build/test. These are not required by the distribution.
  • lib: Contains javascript dependencies which swagger-ui depends on
  • node_modules: Contains node modules which swagger-ui uses for its development.
  • src
    • src/main/coffeescript: main code in CoffeeScript
    • src/main/templates: handlebars templates used to render swagger-ui
    • src/main/html: the html files, some images and css
    • src/main/javascript: some legacy javascript referenced by CofffeeScript code

HTTP Methods and API Invocation

swagger-ui supports invocation of all HTTP methods APIs but only GET methods APIs are enabled by default. You can choose to enable other HTTP methods like POST, PUT and DELETE. This can be enabled by setting the supportedSubmitMethods parameter when creating SwaggerUI instance.

For example if you wanted to enable GET, POST and PUT but not for DELETE, you'd set this as:

supportedSubmitMethods: ['get', 'post', 'put']

Note that for POST/PUT body, you'd need to paste in the request data in an appropriate format which your service can unmarshall

Header Parameters

header parameters aere supported. However because of Cross-Origin Resource Sharing restrictions, swagger-ui, by default, does not send header parameters. This can be enabled by setting the supportHeaderParams to false when creating SwaggerUI instance.

How to Improve It

Create your own fork of wordnik/swagger-ui

To share your changes, submit a pull request.


Copyright 2011-2012 Wordnik, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Something went wrong with that request. Please try again.