Building an API for All Businesses

How to leverage API design principles to maximize flexibility Photo by Joshua Sortino on Unsplash Building a flexible API requires a lot of thought and planning. Successfully building one that can work for multiple business segments may seem impossible, but it can be done. Here are the criteria we’ll use to define the business segments: SMB (Small […]

How to leverage API design principles to maximize flexibility

Photo by Joshua Sortino on Unsplash

Building a flexible API requires a lot of thought and planning. Successfully building one that can work for multiple business segments may seem impossible, but it can be done.

Here are the criteria we’ll use to define the business segments:

  • SMB (Small and Medium Sized Business) companies have less than 100 employees and a limited or part-time IT staff.
  • SME (Small and Medium Sized Enterprise) companies have 100 to 500 employees and a small, but dedicated IT staff.
  • Enterprise companies have over 500 employees and a fully trained and specialized IT staff.

With varying employee counts and IT expertise it is easy to see how these three segments of businesses will have different needs when consuming an API.

  • SMBs look for something that fits their exact use case. Their IT staff is limited and will look to quickly get something up and running and then forget about it. They are likely to consume a website in a box with a head on it.
  • SMEs want an API that offers a robust feature set but will shy away from complexity. The IT staff will not have a lot of time to dedicate towards learning the nuances of an API and will instead look for something that works “out of the box.” Maintenance will also be a big concern as they won’t have time to budget towards updating an integration once completed.
  • Enterprise companies desire an API that offers a robust feature set along with a vast array of configuration points. Enterprise companies are not concerned with complexity of integration and instead focus on capability and extensibility. Their dedicated IT staff will have time to (and love to) acquire training, do individual exploration, and extend a provided API to fit the company needs. Alternately, Enterprise companies just build their own API.

Looking at these various needs it may seem impossible to offer something that can work for all businesses. But focusing on a few key points can make all the difference.

1.Offer a wide array of functionality within your API…

A robust feature set allows for a wide variety of use cases to be supported. Enterprise and SMEs look for this to solve their more complex problems and SMBs often want the ‘in-the-box” solution.

…and break the dependency requirements.

Make each part of the solution individually consumable. This allows Enterprise companies and larger SMEs to use exactly what they want to fit their exact use case and, just as importantly, ignore the rest.

2.Adapt quickly and extend the APIs when needed…

Quickly identifying and resolving issues along with adding new functionality to an API will instill confidence into your customer base and Enterprise companies will savor the new capabilities and competitive advantages offered.

…and don’t break backwards compatibility.

SMEs and SMBs don’t have the IT bandwidth to constantly modify a completed integration. Breaking an API contract due to field or functional deprecation can cripple them.

3.Provide extension points…

Customization is a necessary value add for Enterprise customers and SMEs. They need extension points to insert their own behavior into the API flow and handle their unique use cases.

…and ensure they don’t interfere with standard interactions.

In general, SMBs aren’t interested in extending the APIs. Any extension points should be done in a way that ensures proper behavior for standard interactions.

4.Follow industry standards…

IT staffs, for all segments, rely upon standards for quick integration and a low barrier to entry.

…and don’t reinvent your own tooling.

Reuse what has been built before. Leveraging existing tools and libraries will simplify your internal development efforts and maintenance costs and provide standardization.

5.Plan for data overload…

Enterprise companies will stress a fragile API. Ensure your APIs can handle large traffic loads, large response data sets, and both of them combined.

…and don’t over-complicate things.

Leverage newer concepts like GraphQL to simplify queries and shrink response data sets. Enterprise companies definitely appreciate being able to access exactly what they want and ignore the rest. While SMEs and SMBs might not be at this level of customization yet, it is good to plan ahead and scalability is a vital feature.

6.Drive functionality via your APIs…

Ensure everything you offer can be done via your APIs. This puts all of your customers on an equal playing field.

…and UIs are ok too.

Some customers will prefer to drive interactions via a business tooling UI and that’s okay. Just make sure the UIs drive your APIs to accomplish their tasks.

Being flexible provides value for your customers which makes your API more likely to be used. The ability to quickly adapt, extend, and evolve your APIs is essential to keeping up with growing customer demands. But you cannot leave your existing customer base behind by making breaking changes. Leveraging standard tooling and embracing newer technologies can give you a critical edge in simplifying your implementation costs and customer integrations.

While not easy, a well thought out API can work for all business segments and use cases. You just have to commit to being an API-first solution.

For more information on building API-first solutions, please visit https://machalliance.org/.


Building an API for All Businesses was originally published in commercetools tech on Medium, where people are continuing the conversation by highlighting and responding to this story.

Source: Commercetools