Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk4 min

Your API Is a Promise, Not a Set of Endpoints

An API contract covers field meanings, defaults, inputs, operation behavior and lifecycle, not just URLs. Here is what breaks clients and how to version safely.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

An API is a promise about behavior. Keeping every URL alive does not keep that promise. Clients depend on field meanings, defaults, accepted inputs, error behavior and how long old behavior will last. Change any of those and you can break consumers while every endpoint still returns 200. Microsoft puts it plainly: “An API serves as a contract between a service and clients or consumers of that service” (Microsoft Learn, API Design).

What the promise actually covers

Treat the contract as everything a reasonable client can observe and build on. Google’s compatibility guidance (AIP-180) frames the test as whether existing clients keep working against newer servers. It treats visible semantic changes likely to break reasonable user code as breaking changes. Microsoft’s connector guidance lists changes to the meaning or behavior of an input, output or operation among breaking changes to an OpenAPI-described contract (Implement versioning operations).

As an Amazon Associate I earn from qualifying purchases.

  • Resource shapes: field names, types, value formats and nesting.
  • Accepted inputs: parameters, allowed values, and which fields are required.
  • Meanings and defaults: what a field represents and what happens when a client omits it.
  • Serialization and algorithms: how values are encoded and computed.
  • Operation semantics: side effects, retry behavior, and whether work is synchronous.
  • Lifecycle: how long a version lives and how change is announced.

The practical test is to judge behavior consumers can observe, not just whether a schema diff looks harmless or an endpoint responds.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which changes break clients even when the endpoint survives

Change Why it breaks the promise
Removing a field, parameter or previously supported input AIP-180 says removing a component within the same major version is backwards incompatible. Microsoft lists removed parameters and dropped inputs as breaking.
Renaming a field AIP-180 treats a rename as a removal plus an addition.
Changing a field’s meaning, type, value format, default or serialization Clients parse and interpret these. AIP-180 says existing types, formats, algorithms, defaults and serialization should stay stable.
Adding a new required request field Existing requests become invalid. AIP-180 says not to add new required fields to existing request messages or resources.
Changing what an operation does Microsoft counts changed operation meaning or behavior as breaking, even if the signature is identical.

Can adding a field break an API?

Yes, sometimes. Additive changes are not automatically safe. AIP-180 allows new components in the same major version only if clients unaware of them keep their previous behavior. A new optional field that alters how existing requests are treated, or a new response value that older clients cannot handle, can still cause failures. A new field is compatible when ignoring it leaves an old client’s experience unchanged.

Keep internal refactors out of the contract

Microsoft advises modeling the domain rather than exposing internal database structure, and notes that implementation changes often should not require API changes (API Design). A mapping layer between storage and the client-facing model lets you migrate tables without touching consumers. Tie an API change to a new client-visible capability, not to a refactor or database migration alone. If a schema change leaks into responses, you have coupled clients to your internals.

Operational semantics are part of the promise

Microsoft’s guidance (Web API Design Best Practices) recommends using HTTP methods consistently with their meaning. It also recommends considering idempotency for side-effecting operations, so identical retries are safer. For work that is accepted but not finished, it describes returning HTTP 202 Accepted. Clients build retry logic and polling around these behaviors. Switching a synchronous call to asynchronous, or making a safe retry unsafe, breaks them as surely as removing a field.

Choosing a versioning approach

Microsoft documents four REST patterns, each with trade-offs:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Approach Strengths Costs
URI versioning Explicit and easy to route Paths proliferate; links must be versioned
Query string Stable resource path; cacheable per URI and query combination Needs parsing and routing logic; Microsoft notes caching limits in some older browsers and proxies
Header Stable URI Clients must send a header, the server must inspect it, and links must account for header context
Media type (Accept) Versions the representation; works with hypermedia links Requires content negotiation and awareness of cache variation

Compare them on client complexity, link and resource stability, caching, server routing, and how many versions your team can test and operate. Versioning does not make an unsafe change safe. You must still preserve the old contract for its consumers.

Plan the lifecycle, not just the version label

AIP-185 says different versions should coexist for a reasonable transition period, and older versions should have a reasonable, well-communicated deprecation period before shutdown. The guidance gives no universal duration, so set one based on your situation:

  • Consumer control: public clients you cannot force to upgrade need longer windows than internal services you deploy together.
  • Stability commitments: what you have promised in docs or agreements.
  • Operational capacity: how many concurrent versions you can test and run.

AIP-180’s own scope matters here. It targets APIs whose producers do not control when consumers update. An internal API with coordinated, enforceable deployments can set requirements suited to that context. Its line that “Existing client code must not be broken by a service updating to a new minor or patch release” applies to releases within the same major version.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

A pre-release checklist

  1. Diff the schema, then also diff behavior: defaults, validation, error responses, ordering, serialization.
  2. Check that no required request input was added and nothing was removed or renamed in the same major version.
  3. Confirm that old clients, unaware of any new field, behave as before.
  4. Confirm the change comes from a client-visible need, not an internal refactor leaking out.
  5. If the change is genuinely breaking, ship a new major version, run both together, and announce a deprecation period for the old one.
  6. Document retry, idempotency and asynchronous behavior as part of the contract.

Neither source offers measured data on how much these practices reduce incidents. They are published design guidance, so adapt them to who consumes your API and how much control you have over them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.