Last updated:
Grigory Titov
Contract versioning
Click to expand / collapse

When the API is actively evolving, it is important to maintain compatibility between versions and avoid situations where a single change breaks dozens of client integrations. We implement a full version of contracts that allows you to control changes and smoothly update APIs without risk to users.

This is critical in microservice architecture, B2B integrations, and open API products where different clients use different versions of interfaces.


What We Are Versioning

ObjectDescription
OpenAPI specificationsKeep every version of documentation and contract
Endpoint'ыAdd versions to URL ('/v1/', '/v2/'), save backward compatibility
Contracts (Pact, Dredd)Fixing the conditions of interaction between the client and the server
Data modelsMonitor changes in request and response structure

How we implement

Support for multiple API versions in parallel

Explicit versioning in URLs, headers, or parameters

Autotesting of each contract version (Pact, Postman, Jest, Dredd)

Versioning specifications in Git or via CI/CD

Documentation and changelog for customers on each change


Advantages

Guaranteed stability of integrations

The ability to release new features without the risk of "breaking" customers

Simplify migration between versions

Clear change history and contract control

Transparency for external and internal development teams


Where especially important

Multi-dependency microservice architecture

Public or B2B API platforms

Financial and payment systems with long-term contracts

Mobile apps that depend on a stable API


Contract versioning is the foundation of predictability and trust in APIs. We implement processes that allow you to change and develop APIs without pain, while maintaining compatibility and transparency for all parties.

Popular topics


Main topics