Fork me on GitHub

API Design

In the early days APIs were just about deploying and consuming. You were doing one or the other. Then came API management from providers like Mashery, then others like 3Scale and Apigee. Now the API universe is expanding and API design is coming front and center with new approaches, tools and even companies stepping up to provider services.

I define the world of API design as everything that goes into planning and designing your API, as well as the design of your API that lives on as your operational interface, and the truth in the contract you are entering into with API consumers.

Depending on our needs, API design may begin with learning about HATEOAS as part of your design definition or API design might be just about generating a Swagger definition so you can generate interactive API documentation, or possible automate your API monitoring and testing.

Ultimately your API design will be the definition of each endpoint, its methods, fields and much more. In a technical sense it is a JSON or XML blueprint that describes your API, and in a creative sense, API design is an art and can possess a strange technical beauty and speak to the value it delivers to end-users.

Thoughtful API design early on can save you a lot of mistakes down the road. This site is not meant to endorse any particular approach or methodology, but provide a single resource where you can find the best information on API design, allowing you to have a conversation around an API definition throughout its lifecycle.

This site will be an open source informational and technical repository of the companies, building blocks of API design, tools for assisting you in your API design planning and execution and companies that provide services in the area of API design.

My goal is to provide the information you need to navigate the world of API design. I’m also working on a white paper which will be published here when ready.


Exposing Dictionaries From My API Collections

(Posted on )

I’m playing around with different ways to compose, and examine collections of APIs. I have a database of over 2500 API that I keep an eye on, and for some of them I’ve been generating Swagger specs, and using APIs.json to compose them into collections. I did this with 10 APIs I'm calling my utility stack, because they are some of the fundamental utility style resources I depend on to make the API Evangelist network function. I generated Swagger specs for the 10 following APIs: bitly Data API Search FullContact Name API FullContact Location Normalization API Pinboard All Posts more.

I Find It Interesting That Wordnik Created The API Definition Format Swagger

(Posted on )

I’m working through my API design stories, and was working through some research on the origins of Swagger, and as I'm writing a paragraph on Wordnik, I became distracted around how Swagger was born out of this "word" startup. You see, Wordnik presents themselves as "a new way to discover meaning", and out of this work, Swagger, "a new way to discover meaning" from APIs was born. Words are an important building block in communication, and I see APIs as a similar, more structured way to approach online communication on the open Internet. Swagger has given us a new vocabulary, more.