What is API First?

August 2, 2017 Stephane Castellani

Complimentary and interesting article about “API First” from the api4u blog owned by one of my colleagues, Kshitij Mehrotra:

===
Application Programming Interfaces (API’s) are the interfaces provided on the resources that you want to leverage in the interaction process from your customers, partners, employees, business users, etc. via the application or GUI created on top of it.
That means that your applications or GUI will be as good as your API’s because what you reflect on your UI is what you get from your API’s – at least in modern applications – so it’s really important to have good design in place for the API’s, that adds:

  • Consistency
  • Flexibility
  • Usability
  • Agility
  • Performance
  • Security

API First means different things to different people in an enterprise:

  • For CxO level it means that they have to think about investing into a platform that can support the development of API’s, being the top priority.
  • For architects it’s about focusing on the API design first and deciding the catalog of API that will be made available to the developers for building the apps or web pages around it.
  • For developers it’s about how to manipulate the set of API’s and develop the award winning applications and be the part of trusted community to provide positive feedback.

So API First design is what we are talking about here, as it’s the core for enabling the digital business. Companies like Netflix, Uber, Twitter, etc. have created the whole new business model powered by great API design and architecture around it because it provides a far better customer experience compared from the traditional software development approach where the heavy customer experience was built first and then the API’s were created to access and manipulate the data.

Design has been an important aspect of everything you build and it applies to the API’s as well. It’s important to have a right design in place up front so that you can understand how your API is going to look like:

  • URL format
  • Supported Message Format
  • Supported Methods
  • Custom Headers if any
  • Parameters
  • Pagination
  • Versioning
  • Exception management
  • Authentication

It’s always good to keep the API’s simple so that the developer can look into the definition and work out what it does without reading much of the documentation. I am not suggesting that you should avoid having the documentation around API’s, what I am trying to say is that API’s should be self-explanatory and consistent across.

Once the API is designed, share it with the team who are the consumers of it and let them try the Mock API to see if they like it or they want to suggest changes. Once it’s finalized move the design to build the API. That’s what API First is all about.

API First Cycle
Great API’s are part of great team work and it’s important that there is an effective collaboration between the producers and consumers of the API as all of them will have different perspective and will help in designing a great API.

To help you with the API First iterative approach many vendors have come up with the products to support that, for e.g – swagger.io, apiary.io (now part of Oracle), raml.org, etc.

There are multiple API description languages (ADL’s), some of them are very popular (like Swagger) and sort of becoming standard for API’s.

API Transformer, proposed by apimatic, is one online tool that can help you convert one ADL to another and yes at back of it are API’s.

Once you are done with design you need to choose a platform to convert the great design into real API’s, there are many vendors with API Management products to help with that and Axway API Management is one of them.

If you are looking to start a Digital Journey then for sure API’s are the starting point and API{1st} is where you start from.

===

To learn more, you can also watch this interesting video defining what is API First.

The post What is API First? appeared first on API Friends.

Previous Article
Should REST API security keep you awake at night?
Should REST API security keep you awake at night?

With the growth of REST APIs inside enterprises but also outside their boundaries in their ecosystem, monit...

Next Article
How to assess the digital maturity of your company?
How to assess the digital maturity of your company?

We are sharing with you today a sample list of questions that can help you better assess the digital maturi...