Postman Profile picture
Feb 8, 2023 24 tweets 8 min read Read on X
8 traits of an effective #APIFirst design 🛠️✏️

Thread 🧵

(via @apihandyman 😎)
Before we get started, let's cover the basics.

✔️What is API-First?
✔️ What is API-First Design?
API-first is an organizational strategy and development model in which APIs are prioritized to deliver maximum value to the business. In this model, applications are designed and built by composing private, partner, or public APIs. postman.com/api-first/
API-first design can improve the quality of an API’s interface contract in a way that positively contributes to the API-first strategy.
To achieve an API-First design, let's dive into the following traits 👇
🪐Alignment with an organization’s goals

An API design is a representation of the API’s purpose, and an API whose purpose is not aligned with the organization’s goals will not contribute directly or indirectly to its business.
Such APIs are a waste of time and money, and will often be hard to use and reuse, if they are used at all.
🪐 Reusability

An API whose purpose is aligned with the organization’s goals is more likely to be reused, but there’s still a risk that its design will be so tailored to its first consumer that no one will be able to reuse it.
At best, a non-reusable design leads to more work to fix the design, the implementation, and the code of the existing consumer(s). At worst, it leads to the creation of a 2nd API—or even more APIs. All of these outcomes increase development costs and lengthen the delivery time.
🪐 Interoperability

API-first design enables teams across the organization to re-use APIs and leads to the creation of solutions that rely on more than one.
Leveraging data and formats that are at least locally interoperable and standardized will reduce error risks while simplifying and accelerating consumer developments.
🪐 The ability to evolve

API-first design involves making the right decisions during an API’s initial design and further evolutions, which makes it easier for teams to modify the API and to integrate new features without introducing non-backward-compatible changes.
Such changes, which are also called breaking changes, require existing consumers to update their code to use the modified API, which increases development costs and time. They can also cause people to be reluctant to introduce changes and slow down the organization’s plan.
🪐 User-friendliness

The experience of the developers who are working on an application that consumes an API, as well as the experience of its end users, will impact the value an API can generate.
API-first design helps create a good developer experience, also called DX, by making the API easy to understand and use by anyone—especially non-experts in its domain.
It also helps prevent consumers from having to write complex code to use it, and possibly proposes solutions to solve limitations. These benefits speed up development and make the API more appealing.
Happy and more efficient end users will generate more value, and you can support their happiness and efficiency in many ways. For instance, you should avoid providing insufficient error feedback that will not help them solve an issue.
🪐 Security

API security is a core concern for any API across its whole lifecycle. Still, it’s even more important for APIs that are designed and developed according to the API-first strategy, as these APIs can be reused in various contexts inside and outside the organization.
An API-first design can secure an API by specifying each feature’s data, how it is represented in the interface contract, and how accesses can be segmented. Each aspect must be carefully considered to ensure that nothing sensitive is unduly exposed.
🪐 Efficiency

API performance is not only an implementation concern; some design decisions may affect the performance of an API, as well.
Choosing the wrong data or operation granularity can not only lead to a very poor DX, but may also lead to many API calls and unnecessary processing, which increases the amount of resources needed to operate an API. This could cause performance issues or high provider costs.
🪐 Pragmatism

The ideal API design can be difficult to implement, often because of pre-existing design, implementation, or architecture limitations.
It’s the API’s job to hide inner complexity, but this can lead to excessively high development or running costs, as well as longer time to delivery. In such a situation, a less-than-ideal design may be a better option, either temporarily or definitely.
That's all for now! 👋🚀

Read the full blog from @apihandyman here: blog.postman.com/api-first-desi…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Postman

Postman Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @getpostman

Feb 27
What are 6 guiding constraints of #REST APIs? 🚀👇🧑‍🚀 Image
There are numerous types of APIs, making it difficult for new developers to differentiate between each kind.

In particular, Representational State Transfer (REST) is a software architectural style that developers apply to web APIs.
REST APIs provide simple, uniform interfaces because they can be used to make data, content, algorithms, media, and other digital resources available through web URLs.

Essentially, REST APIs are the most common APIs used across the web today.
Read 13 tweets
Feb 16
What is #HTTP basic #authentication? ✅🧵🪐 Image
API authentication is the process of verifying the identity of a user who is making an API request, and it is a crucial pillar of API security.
There are many types of API authentication, such as HTTP basic authentication, API key authentication, JWT, and OAuth, and each one has its own benefits, trade-offs, and ideal use cases.
Read 7 tweets
Jan 31
API #Access: Here's what you should know 🚀🧵🔭 Image
API access is the ability to interact with an API, and it enables clients to request data, create or update resources, and execute specific operations.
API access is often granted through API authentication mechanisms, such as API key authentication, JWT, and OAuth, which helps protect sensitive data and ensures the API's capabilities are not misused.
Read 6 tweets
Jan 22
4 common types of API testing 🧪🧵🧑‍🚀 Image
What is API testing?

API testing is the process of confirming that an API is working as expected.
Developers can run API tests manually, or they can automate them with an API testing tool.

There are several types of API tests, and each one plays a distinct role in ensuring the API remains reliable.
Read 9 tweets
Jan 16
Everything you need to know about #Monoliths vs #Microservices ⚙️🧵⤵️ Image
A monolith is an application that is developed and deployed as a single unit.

Its components are tightly coupled within a single codebase, and they often share resources, such as databases or libraries.
Monolithic architectures have a long history and are still present in many legacy systems, but they also present several challenges.

For instance, monoliths must be scaled as a whole, even if only a single component requires additional resources.
Read 13 tweets
Jan 8
Everything you need to know about #API Versioning 🔢🧵🚀⤵️ Image
API versioning is the process of managing and tracking changes to an API.

It also involves communicating those changes to the API's consumers.
Change is a natural part of API development.

Sometimes, developers have to update their API's code to fix security vulnerabilities, while other changes introduce new features or functionality.
Read 16 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(