Blog

📝 NPBlue Blog 23 articles

Long-form takes on cloud, data, payments, and the technology business — practitioner perspectives you won't find paraphrased from the docs.

API Governance: Why Most Companies Get It Wrong

There’s a moment every engineering team hits — usually around the time someone asks “wait, which version of that endpoint are we actually using in production?” — when the absence of API governance suddenly becomes very real.

It’s not glamorous work. Nobody builds a startup and thinks “what I really want to do is write API design standards.” But the teams that skip it spend years cleaning up the consequences: breaking changes that nobody caught, duplicated endpoints doing the same thing in slightly different ways, security gaps that live undisturbed in v1 APIs nobody wants to touch.

This is a practical look at what API governance actually means — not the vendor-marketing version, but what it looks like when a real team has to implement it.


What API Governance Actually Is

Strip away the buzzwords and API governance is just the answer to one question: how do we make decisions about our APIs consistently, across time and across teams?

That includes decisions about design (what does a “good” API look like here?), security (who can call what, under what conditions?), change management (how do we deprecate something without breaking consumers?), and observability (how do we know when something’s going wrong?).

Most organisations don’t have explicit answers to those questions. They have implicit ones — buried in muscle memory, Slack threads, and the preferences of whoever reviewed the last pull request. Governance just makes those answers explicit and repeatable.


The Four Layers That Actually Matter

1. Design Standards

This is the most visible layer, and also the one teams fight about the most. REST vs GraphQL. Plural vs singular resource names. Whether to put filters in the query string or the body.

The goal isn’t to pick the “right” answer — it’s to pick an answer and stick to it. Inconsistency is the real problem. When GET /users/{id}/orders returns a different shape than GET /orders?userId={id}, consumers have to read every response carefully instead of trusting a pattern.

A lightweight design guide — 10 to 15 rules, versioned in your repository, reviewed annually — covers most of this. You don’t need a 200-page specification.

2. Security and Access Control

Every API is a potential attack surface. Governance here means defining baseline requirements that apply to everything:

The enforcement mechanism matters as much as the policy. If security requirements live in a wiki document that developers read once during onboarding, they won’t hold. If they’re enforced at the gateway or checked in a CI pipeline, they will.

3. Change Management and Versioning

Breaking changes are the most common source of production incidents in API-heavy architectures. The policy decision is simple: do you version in the URL path (/v2/users), in a header (API-Version: 2024-01), or through some other mechanism?

Less discussed: what actually counts as a breaking change? Removing a field is obvious. But what about changing a field from nullable to required? Adding a new required request parameter? Changing an enum to accept additional values?

Document your definition. Run it through your CI pipeline. Make it impossible to accidentally push a breaking change to a stable API version without at minimum a deliberate override.

4. Observability and Lifecycle

You can’t govern what you can’t see. At minimum, every API in production should have:

The lifecycle piece gets skipped constantly. APIs accumulate. The v1 authentication endpoint from 2019 is still serving traffic because nobody knows if it’s safe to turn off. Governance means tracking the full arc — when an API is created, when it’s superseded, and when it’s actually retired.


The Three Common Failure Modes

Governance as bureaucracy. When governance becomes a process of filling out forms and getting sign-offs before you can ship anything, developers route around it. They create undocumented internal APIs. They put logic in places nobody will look. The friction produces the opposite of what you wanted.

Governance as a one-time project. A team spends three months writing standards, publishes them, and then nothing happens. Governance requires ongoing enforcement — code review, CI checks, gateway policies — not just documentation.

Starting too late. It’s tempting to wait until things are “stable enough” to govern. In practice, the longer you wait, the more legacy exceptions accumulate, and the harder it is to enforce any standard at all. It’s easier to build governance into the process from the first API than to retrofit it onto the fiftieth.


A Practical Starting Point

If you’re starting from scratch, don’t try to govern everything at once. Pick one problem that’s causing real pain — inconsistent authentication, undocumented deprecations, broken consumer integrations — and solve that first. Ship the governance policy as code (a linting rule, a gateway configuration, a PR template) rather than as a document.

The tools don’t matter as much as the habit. An API gateway with enforced policies, a linter in the CI pipeline, and a quarterly review of your API catalogue will do more than any governance framework you buy.


The Real Payoff

Good API governance pays off in ways that don’t show up in a single sprint. Onboarding a new developer is faster when the APIs are consistent and documented. Security audits are less painful when you know exactly what every endpoint does and who can call it. Incident response is faster when your logs actually capture what you need.

It’s infrastructure work — invisible when it’s working, painful when it isn’t.


Common Questions

Does API governance slow teams down? It doesn’t have to. Lightweight standards and automated enforcement add maybe a few minutes to a PR review. The time saved debugging inconsistency and cleaning up undocumented changes is much larger.

Who should own API governance? Typically a platform or infrastructure team sets the standards, but enforcement works best when it’s decentralised — built into the tools every team already uses rather than requiring a separate approval process.

How do you handle legacy APIs that don’t meet current standards? You don’t need to bring everything up to the current standard immediately. Document the exceptions, mark them as legacy, and apply the full standard to everything new. Migrate legacy APIs opportunistically rather than as a big-bang project.