← All essays

You inherit more than an API

An API defines how software responds. You also depend on how the people behind it respond when something breaks.

EngineeringLeadership

Imagine that a service your product depends on stops working. Your team investigates and contacts the third-party provider running it. Your customers are waiting.

Someone replies, but nobody can confirm who owns the issue. The person who might know is unavailable.

You can keep following up. You cannot tell your customers when the service will recover, or when you will have something useful to tell them.

The next move belongs to someone else.

You depend on how they work

When we choose a third-party service, we look at what it lets us build. Does it have the features? Does the integration work? Can it handle the traffic?

An API defines how software responds to a request. Your integration also depends on how people respond to an incident: who acknowledges it, who takes ownership, when you hear back, and how you escalate.

That response becomes part of your own.

Knowing that someone has taken responsibility and will update you at an agreed time does not restore the service. It gives your team a way to organise its response. You can decide who needs to stay involved, when to check back, and what to tell customers.

Without that, engineers chase answers while customer support asks for news that engineering does not have. A failure in one service creates uncertainty across your own team.

You are relying on someone else to help keep a promise made under your own name.

Walk through the failure before depending on the service

Before making a service critical to your product, ask the people running it to walk through an incident with you.

Suppose a critical operation stops working outside normal hours. How does your report reach someone who can act? Who takes over if that person is unavailable? Who keeps your team informed?

Ask them to show how that process works. A named contact is a useful start, but you also need a route that works when that person is away.

Then walk through your own response. What can keep working? What can safely wait? At what point would you need an alternative?

The fix may sit outside your control. Decisions about how much of your product depends on it, and how you respond while waiting, still belong to you. Clear updates help you make those decisions; they cannot replace a recovery plan.

If the support arrangements cannot meet your product’s needs, that should affect whether you choose the service and what you build around it.

Your team may also run an API that someone else depends on. Their engineers may be ready to act, and their customers may be waiting.

Those teams deserve the same ownership, updates, and clear next steps you expect when you are the one waiting.

Written in the open. Ideas may evolve.