/open-api

Open API specification of Netlify's API

Primary LanguageGoMIT LicenseMIT

open-api

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.

Usage

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 open-api.netlify.com which provides limited interaction with the API from the browser.

Go Client

GoDoc Go Report Card Github release

$ go get github.com/netlify/open-api/...

See CONTRIBUTING.md 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 github.com/netlify/build/tree/main/packages/js-client 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-js

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

See the swagger-js client:

Usage
<script src='browser/swagger-client.js' type='text/javascript'></script>
<script>
var swaggerClient = new SwaggerClient('https://open-api.netlify.com/swagger.json');
</script>

Contributing

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

License

MIT. See LICENSE for more details.