Purpose Driven API

Let me start with asking the question I have to ChatGPT about why do we need API ?

And if you see the screenshot below for the response ChatGPT had, I believe all engineers agree on the 6 key reasons ChatGPT shared below

  1. Interoperability and Integration

  2. Modularity and Reusability

  3. Abstraction and Simplification

  4. Enabling Third-Party Development

  5. Mobile and Web Development

  6. Automation and Efficiency and

  7. Service Oriented Architecture

I want to flip the question in different way and ask ChatGPT now ? And my question was Should APIs have a purpose? and if you see the response below


Well, we see new factors and attributes that represent the purpose for which one should build an API and mapping this purpose factors to the need for building an API establishes a solid foundation and empowers scalability and true systems engineering approach.

Developer Enablement, Standardization, API Extensibility and Compatibility are the major guiding principles in this modern world of API development where services are primarily build via infrastructure on Cloud and it is important to keep these factors as part of the acceptance criteria to build an API.

The API spec should not talk about the choice of programming language used to implement the API contract but primarily the use cases and the data that is used in the request/response operations of the customer journey.

A final question to Chat GPT about API spec.

The API should reflect the core function (use case), communication and logical flow of the consumers and providers in a user journey and the data being exchanged. While ChatGPT is providing AI driven, contextual information based on my questions, its vital to the API developer/engineer to focus on the use cases the API is trying to achieve which ultimately leads to meet the purpose of the system you are dealing with.

Cheers!

Previous
Previous

High Performing Teams and Superstars @ Work