> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Versioning

> Understand how the Automation API uses semantic versioning, what constitutes a breaking change, and how to specify API and endpoint versions.

The Automation API uses [semantic versioning](https://semver.org/).

## About entire API versioning

Breaking changes only occur in new major API versions, with the following exceptions:

* Endpoints not yet in use may contain breaking changes in a minor version (1.x).
* Critical security fixes that break backward compatibility may be released in a minor version. Review all API changes in the [changelog](./changelog).

Breaking changes include the following types of changes:

* Removing an entire operation.
* Removing or renaming a parameter.
* Removing or renaming a response field.
* Adding a new required parameter.
* Making a previously optional parameter required.
* Changing the type of a parameter or response field.
* Removing enum values.
* Adding a new validation rule to an existing parameter.
* Changing authentication or authorization requirements.

Any additive (non-breaking) changes will be available in all supported API versions. Additive changes are changes that should not break an integration. Additive changes include:

* Adding an operation.
* Adding an optional parameter.
* Adding an optional request header.
* Adding a response field.
* Adding a response header.
* Adding enum values.

When Kameleoon releases a new major API version, the previous version remains supported for at least three months.

## Specifying an API version

By default, `https://api.kameleoon.com` uses the most current API version. Specify a version by including it in the URL (for example, `https://api.kameleoon.com/v1/`). The next major version will be available at `https://api.kameleoon.com/v2` once released.

## About API per-endpoint versioning

Some endpoints support version specification. For instance, a newer version of a specific endpoint might be preferred over the default API version. Where available, use the `version` parameter to specify the desired endpoint version.

When a new major version is released, all previous versions are removed. For example, if an endpoint has version 1 and version 2 in the 1.0.0 API version, the 2.0.0 API version contains only the latest version of that endpoint.
