1 What is API design?

 

This chapter covers

  • Explaining what web APIs are
  • Realizing the importance of the design of web APIs
  • Clarifying who designs web APIs, which ones should be designed, and when
  • Comprehending the purpose of web API design
  • Overviewing the web API design process

What magic allows us to share pictures on social media, check bank balances, and hail cabs from our phones? How can developers quickly add telecom or payment services to their apps without expertise? What do basic web or mobile apps need to display data to users? Web application programming interfaces or APIs.

Web APIs are essential in our connected world as they serve as technical interfaces or products for various systems, organizations, and companies, from small startups to large corporations and government entities. API design is crucial for the success of any system, whether its APIs are visible or hidden. Poorly designed APIs can negatively impact developers' productivity, the system’s performance and integrity, end users' experience, and revenue.

Learning web API design requires a shared understanding of API and design concepts. This chapter covers the different aspects of web APIs, the importance of their design, and who designs them. It also provides an overview of the API design process and our approach, which separates concerns to facilitate learning and execution.

1.1 What is a web API?

1.1.1 A web API is a remote web interface for applications

1.1.2 A web API is an interface to an implementation

1.1.3 A web API is an interface for others

1.2 Why does API design matter?

1.2.1 The design of any interface affects its users and creator

1.2.2 The design of any web API affects consumers and provider

1.2.3 Taking care of design unleashes the power of APIs

1.3 Who designs web API?

1.3.1 API designers lead the discussions

1.3.2 Subject-matter experts contributes to the discussions

1.3.3 General and system-specific software knowledge helps design APIs

1.3.4 An API design is the sum of various influences

1.4 When designing web APIs?

1.4.1 Any new API must be designed

1.4.2 Any API modification must be designed

1.4.3 API design happens before developing the implementation

1.7 Summary