All posts
Engineering

API Versioning and Backward Compatibility: How a Vietnam Software Team Manages Breaking Changes Across Long-Running Client Integrations

Published on 17 Oct 2026

api-versioning-and-backward-compatibility-how-a-vietnam-software-team-manages-breaking-changes-across-long-running-clien

For a software team running multi-year integrations across fintech, trading, and core-banking systems, API versioning is not a one-time design decision. It is an operational discipline tested every time a client's downstream system, a regulator, or a third-party processor forces a schema change.

The core challenge: version the contract without breaking existing clients, pick one selection mechanism (URL, header, or media-type) and stick to it, and never ship a breaking change without a deprecation window the client actually agreed to.

TL;DR

  • Breaking changes are common: 41% of APIs show schema drift within 30 days and 63% within 90 days, and schema drift is the second leading cause of API failures at 22%, behind only authentication failures.

  • Field additions cause 86% of breaking changes, often because teams assume additive changes are automatically safe for every client parser.

  • Only 26% of teams use semantic versioning properly, and just 17% run contract tests, despite over 90% of API artifacts carrying some metadata-based version tag.

  • Regulated integrations (Open Banking, PSD2, FHIR) treat a breaking change as a compliance event, typically requiring 3 to 6 months of documented notice before deprecation.

  • A versioning policy only works if it is paired with contract testing, parallel version support, and a named owner for every live integration.

About the author: This article is written from 724SOFTWARE's delivery experience running long-term engineering teams on integration-heavy platforms, including Mastercard ISO 8583 processing for UTGL Card and real-time core-banking integration for MyVIB Stock Trading, where API contracts had to stay stable for 18 to 24 months of continuous operation.

What Is API Versioning and Why Does It Matter for Long-Running Integrations?

API versioning is the set of rules a team uses to introduce changes to an API without breaking the clients already depending on it. The distinction that matters operationally is between versioning the contract and versioning the deployment: a deployment can change daily, but the contract, the shape of requests and responses that external systems rely on, should only change on a schedule the client can plan around.

This matters more as an integration ages. A new integration has one client, one test environment, and a team that remembers every design decision. An integration running for two years, like the Mastercard transaction processing layer 724SOFTWARE built for UTGL Card, has accumulated multiple consumers, each built against a slightly different point-in-time understanding of the contract.

Industry analysis shows that even without any visible outage, 41% of APIs experience schema drift within 30 days of a change, and that number climbs to 63% within 90 days. Drift is not a bug in the traditional sense. It is the gap between what the API now returns and what a client's integration code was written to expect, and it is currently the second most common cause of API failures at 22%, trailing only authentication failures.

What Causes Most Breaking Changes in Practice?

The counterintuitive finding from recent industry data is that field additions, not deletions, cause most breakage. Field additions account for 86% of breaking changes, which runs against the common assumption that adding a new optional field to a response is always safe.

Here is the mechanism: a client's parser was written to expect a fixed object shape. If that parser uses strict schema validation, or if it maps the response directly into a statically typed struct, an unexpected new field does not get silently ignored, it throws a deserialization error.

The "additive changes are safe" rule only holds if every consumer was built with tolerant reading in mind, and in a multi-year integration spanning several client teams, that assumption rarely holds for all of them.

This is why 724SOFTWARE pairs any schema change with a consumer inventory exercise before the change ships, not after. On the SHS Derivatives platform, where millisecond-level execution and a real-time risk engine mean even a brief integration failure has financial consequences, every schema change is checked against each known downstream consumer's actual parsing behavior, not just against the published contract.

Which Versioning Strategy Should a Team Actually Use?

There is no single correct answer, but there is a consistent industry pattern: major governance frameworks recommend versioning the contract rather than the deployment, using a single, consistent selection mechanism, and applying semantic versioning to make the severity of a change visible before a client has to read the changelog.

Approach

How it works

Where it fits

 

URI versioning (/v2/orders)

Version is part of the path

Easiest for clients to reason about; common in REST API versioning, used by Google Cloud (e.g., /v1/, /v1beta1/)

Header versioning

Version passed in a custom or Accept header

Keeps URLs stable; preferred when the same resource needs multiple representations

Query parameter versioning

Version passed as ?version=2

Simple to add retroactively; weaker as a long-term discipline

Date-based versioning

Version tied to a release date, used by providers like Stripe and, for many service APIs, AWS

Works well when changes are frequent and incremental

Despite broad awareness of these patterns, adoption lags. Over 90% of API artifacts carry some form of metadata-based versioning, and 60% of teams version their APIs in some fashion, but only 26% actually apply semantic versioning correctly, and just 17% run contract testing.

That gap, between having a version number and having a system that enforces what that number means, is where most production incidents originate. A version number that does not reliably signal breaking versus non-breaking change is not a versioning policy, it is a label.

How Do Regulated Integrations Change the Versioning Calculus?

Building on the technical discipline above, the harder constraint in fintech and healthcare integrations is regulatory, not technical. Frameworks like Open Banking, PSD2, and healthcare FHIR standards do not treat a breaking API change as an engineering decision alone.

They treat it as a compliance event. While there is no single universal timeline across these frameworks, they typically require documented notice and a transition period, often 3 to 6 months of advance notice before a deprecated version can actually be retired.

This has a direct operational consequence: a versioning policy for a regulated client cannot be an internal engineering document. It has to be a dated, client-facing commitment that is tracked the same way a compliance deadline is tracked.

On engagements like MyVIB Stock Trading, where the integration bridges a mobile banking app's core banking system with a securities trading engine, any contract change affecting eKYC data or trade confirmation payloads is scheduled with the same rigor as a regulatory filing, not treated as a routine release.

How Does Cloud Platform Policy Shape API Versioning Decisions?

A related but distinct question is what the major cloud providers themselves enforce, since many enterprise API integrations sit on top of AWS, Azure, or Google Cloud infrastructure. All three mandate strict backward compatibility for their own published APIs and require parallel support for multiple versions during a migration window.

Google Cloud typically uses major versioning in the URL path (such as /v1/ or /v1beta1/); AWS commonly applies date-based versioning for many of its service APIs, and Azure and AWS both support URL- and header-based versioning approaches, and all three require a documented deprecation timeline before an old endpoint can be retired.

The practical lesson for a team managing client-facing APIs is to borrow this pattern rather than invent one from scratch: pick a mechanism consistent with what the client's existing stack already expects, publish the deprecation timeline in writing, and keep the old version running in parallel rather than cutting over in a single release.

What Does a Working API Versioning Process Actually Look Like?

Putting the pieces above together, a versioning process that survives a multi-year engagement needs four operational components, not just a naming convention:

  • A consumer registry. Every known client, internal service, or partner integration consuming the API is logged with contact ownership, so a breaking change has a named recipient for the notice.

  • Contract tests, not just unit tests. Automated testing services should validate the response schema against each registered consumer's expectations, catching the kind of field-addition breakage that unit tests typically miss.

  • A documented deprecation window. Matching regulatory norms where applicable (3 to 6 months), and otherwise set by client agreement, with both the old and new versions running in parallel for the full window.

  • Semantic versioning tied to real severity. A major version bump should mean one specific thing: an existing client's code can break. Treating major and minor bumps identically removes the entire value of the version number.

This is the same operational rigor 724SOFTWARE applies to legacy system modernization and cloud migration services work, where a client's existing integrations have to keep functioning while the underlying platform changes underneath them. The discipline is identical whether the trigger is a planned modernization or an unavoidable breaking change: treat the API contract as a commitment to a named set of consumers, not an internal implementation detail.

Frequently Asked Questions

What is the difference between API versioning and backward compatibility?

Versioning is the mechanism for signaling that a contract has changed; backward compatibility is the property of a change not breaking existing clients. A well-versioned API can still break compatibility if the version increment is applied inconsistently.

Is semantic versioning necessary for REST APIs?

It is recommended as an API versioning best practice because it gives clients a reliable signal of change severity, but the current data shows only 26% of teams actually apply it correctly, which suggests the gap is in discipline, not awareness.

How long should a deprecated API version stay live?

It depends on the client base and whether the integration is regulated. Regulated frameworks often require 3 to 6 months of notice; unregulated B2B integrations should match whatever window is written into the client agreement.

What causes most unplanned breaking changes?

Field additions account for 86% of breaking changes in current industry data, usually because downstream parsers were not built to tolerate new fields.

Do cloud providers like AWS and Azure support multiple API versions at once?

Yes. All three major providers require parallel version support during migration periods and publish documented deprecation timelines before retiring older versions.

How does 724SOFTWARE handle API versioning on long-running client engagements?

Through a consumer registry tied to each integration, contract testing before any schema change ships, and deprecation windows agreed with the client up front, the same discipline applied across engagements like UTGL and SHS Derivatives.

Is contract testing different from standard automation testing?

Yes. Standard automation testing validates functional behavior; contract testing specifically validates that a response schema matches what each registered consumer expects, which is the layer most teams skip.

About 724SOFTWARE

724SOFTWARE is a Vietnam-based engineering partner working with fintech, healthcare, and enterprise clients across 10+ countries, with 200+ professionals and 58% at senior level. The company's work on integration-heavy platforms, including Mastercard ISO 8583 processing, real-time core-banking connections, and multi-exchange trading APIs, means API design best practices and API versioning are operational requirements, not theoretical ones.

724SOFTWARE delivers as a dedicated team or offshore development center, aligned with ISO 27001:2022 and GDPR, so API integration services and legacy system modernization are handled under the same compliance posture a regulated client already expects.

If a long-running integration needs a versioning policy that survives client turnover, regulatory review, and multi-year scale, get in touch with 724SOFTWARE at https://724software.com.vn/.

Share this article

Engineering

Shrimpie Tran

AI Engineer

Keep Reading

Explore more from our experts.

View all

Stay ahead with our insights.

Get the latest on software design, strategy, and what's working in the field.

We respect your inbox. Unsubscribe anytime from any email.