API Specifications and Data Models

A common place to publish and share your own API specifications / Data Models in any format such as Swagger, API Blueprint or RAML, as well as explore and discover the API designs of others.

Declaring an API in the Commons

Licensing your API for others to reuse and remix is easy using Creative Commons licenses - find out more here.

Join the Conversation

API Commons is just getting started and there are plenty of interesting challenges (technical and non-technical), so join the conversation on how best to proceed - join the mailing list or follow on twitter or github.

What is API Commons?

APIs (Application Programming Interfaces) are transforming the web in radical new ways are clearly leading a great deal of innovation and value - hence rapid growth of the number of APIs is a very desirable thing. This rapid growth however also brings with potentially huge costs - namely the need to create client (and server) code for potentially hundreds of thousands or millions of unique, slightly different APIs. While there are some solutions to help reduce this cost (automated code generation, or more flexible intelligent client code) the unlikely to make much of a dent in the overall problem in the short and mid term.

A further problem is that, despite recent copyright victories, the reuse of API interfaces (the definitions of them / data models / call partners etc.) remain a legal grey area and reuse of interface patterns may result in legal risks.

In order to address both of these problems, what API Commons proposes to do is to encourage API designers to declare APIs the produce to be "In the Commons" much the way creative work can be licensed under Creative Commons or code can be open sourced. The objective of doing this is to:

  • Make it explicit when an API in whole or part could be re-used
  • Over time build up a valuable set of reusable API interface resources
  • The most popular of which may in turn encourage shared development of shared client (or server) code
  • Remove legal risk from API Interface design reuse

The objective of this site is to encourage the use of commons licensing, encourage discussion on technical/legal issues and also form an informal registry of definitions placed in the commons.

Take me to the APIs!

To start the discussion and the collection, a number of APIs have already been declared in the commons - and these can be found here. More are welcome!

How can I help?

This is a new initiative, so please join the discussion groups if you are interested. Also if you have APIs you'd like to open the please consider doing that by following the process described here.