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

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Google, Azure, and Stripe all use API versioning to manage changes to an API contract while giving clients a way to adopt those changes deliberately. They do not use one shared versioning standard: Google’s published guidance emphasizes versions in URL paths, Azure API Management offers several ways to identify a version and separates versions from revisions, and Stripe describes named major and monthly releases.

What API versioning is meant to manage

An API contract defines how a client communicates with a service: the operations it can call, the inputs it can send, and the responses it can expect. When that contract changes, clients may need time to adapt. Versioning gives the service and its consumers a way to identify and manage those changes rather than treating every update as an invisible replacement.

The practical question is not simply how a version number looks. It is what the provider considers compatible, how it signals a change, and how a client can test and adopt an update. Google, Azure, and Stripe answer those questions differently.

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

How the three providers handle versions

Provider and scope Where the version appears How changes are treated Client adoption
Google’s published API principles; minor/major workflow specifically documented for Cloud Endpoints Google’s published principles put the major version in the URL path. The Cloud Endpoints lifecycle documentation describes minor and major versions. For Cloud Endpoints, backward-compatible additions use a minor version; a change that breaks client code calls for a major version. Cloud Endpoints documentation describes version lifecycle management. The cited sources do not establish a single adoption workflow for every Google API.
Azure API Management A version identifier can be placed in the URL path, an HTTP header, or a query parameter. Versions of a logical API can be grouped in a version set. Versions are typically used for breaking changes; revisions can be used for minor, nonbreaking changes. The cited documentation describes version sets and revisions, but does not prescribe one upgrade-testing process for every API.
Stripe API Stripe describes API changes through named releases, including major and monthly releases. Major releases may be backward-incompatible; monthly releases are backward-compatible. Stripe recommends testing a new API version before committing to an upgrade.

Google: major versions in the URL path

Google’s published principles place the major version in the API’s URL path. Dan Ciruli, then a Google Cloud product manager, wrote, “Our major versions are reflected in the path of our APIs, immediately following the domain.” Google Cloud Blog, “Versioning APIs at Google” (June 26, 2017).

#1 Best Overall
API Design Patterns
  • API Design Patterns
  • ABIS BOOK
  • Manning Publications

That post explains broad Google principles; it should not be read as a guarantee that every Google API follows identical versioning mechanics. A more specific workflow appears in the Google Cloud Endpoints API lifecycle management documentation: backward-compatible additions are handled with a minor version, while a change that breaks client code requires a major version.

Azure: API Management versions and revisions

Azure API Management lets an API publisher choose where to place its version identifier: in the URL path, an HTTP header, or a query parameter. A version set groups the versions of a logical API. These are product-specific Azure API Management capabilities, not a claim that every Azure service exposes versions the same way. See Microsoft Learn’s Azure API Management versioning documentation.

Versions are not the same as revisions

Microsoft distinguishes versions, commonly used to separate API contracts when a change is breaking, from revisions, which can capture minor, nonbreaking changes. Its guidance puts it this way: “Typically, versions are used to separate API versions that have breaking changes, and revisions can be used for minor and non-breaking changes to an API.” A revision is therefore not simply another name for a version; it serves a different change-management purpose within Azure API Management.

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

A separate Azure REST API policy

The Azure REST API specifications repository’s uniform-versioning policy addresses a narrower scope: the services covered by that repository. It calls for immutability and lockstep alignment of service operations, documentation, and SDKs for a given service version. Do not generalize that repository policy into a rule for every Azure API.

Stripe: major and monthly releases

Stripe describes major releases as potentially backward-incompatible and monthly releases as backward-compatible. That distinction is Stripe’s own release model, not a general rule that other API providers follow. Stripe’s API versioning documentation advises: “As a precaution, use API versioning to test a new API version before committing to an upgrade.”

The key practical point is controlled adoption: test the change against a client before committing to an upgrade. A monthly release being backward-compatible does not mean a client should skip validation, particularly when its own integration behavior matters.

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

What Google, Azure, and Stripe agree on

  • Versioning manages a changing contract. It helps providers and clients distinguish changes rather than assuming every update is transparent to existing integrations.
  • Compatibility matters. Each approach separates or signals changes in ways that help clients assess whether their code may need to change.
  • Clients need control over adoption. Stripe explicitly recommends testing before an upgrade; Google Cloud Endpoints’ major/minor distinction and Azure API Management’s versions and revisions also give consumers and publishers ways to reason about change.

They do not agree on a universal version format, numbering scheme, or release cadence. Their documentation describes provider-specific approaches, so an API consumer should follow the contract and migration guidance for the particular service in use.

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

How to apply the comparison when designing or consuming an API

  • For an API you consume: check where the provider exposes version information, what it calls breaking or compatible, and whether it provides a test or migration process before changing a production integration.
  • For an API you design: define compatibility rules and adoption expectations before choosing a version location or numbering scheme. Google’s, Azure’s, and Stripe’s choices are examples, not a requirement to copy any one of them.
  • For Azure API Management specifically: decide whether a change belongs in a new version or a revision based on whether it breaks the API contract, and use the product’s version-set model where appropriate.

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.