Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time


Build Status

This repository contains Netlify's API definition in the Open API format, formerly known as Swagger.

It's still a work in progress and we welcome feedback and contributions.


The swagger.yml file is the master copy of the Open API 2.0 definition. Additional context on using the API can be found on our docs site.

The spec is published and versioned for various ecosystems:

SwaggerUI (Web UI)

You can view the definition using Swagger UI by visiting which provides limited interaction with the API from the browser.

Go Client

GoDoc Go Report Card Github release

$ go get

See for details on how this client is developed and generated.

JS Client

npm version downloads

We have a fully featured JS/Node.js client that implements some of the same 'porcelain' methods that the go client does in addition to the open-api methods.

See for more details.

npm module

npm version

You can also consume the swagger spec as an npm module:

$ npm install @netlify/open-api
# or
$ yarn add @netlify/open-api
import spec from '@netlify/open-api' // import the spec object into your project

The module also ships a copy of the original yml spec file at @netlify/open-api/js/dist/swagger.yml. You can use these with generic swagger/open-api clients:


Swagger's JS client can dynamically create a client from a spec either from a URL or spec object.

See the swagger-js client:

<script src='browser/swagger-client.js' type='text/javascript'></script>
var swaggerClient = new SwaggerClient('');


See for more info on how to make contributions to this project.


MIT. See LICENSE for more details.