A new API version is created when you want to change a published API's behavior, authentication mechanism, resources, throttling tiers, target audiences etc. It isn't recommended to modify a published API that has subscribers plugged to it.
After creating a new version, you typically deploy it as a prototype for early promotion. A prototype can be used for testing, without subscription, along with the published versions of the API. After a period of time during which the new version is used in parallel with the older versions, the prototyped API can be published and its older versions deprecated.
The examples here use the PhoneVerification
API, which is created in section Create and Publish an API .
The steps below show how to create a new version of an existing API. Give a version number, check the default version option and click Done. Tip: The Default Version option means that you make this version the default in a group of different versions of the API. A default API can be invoked without specifying the version number in the URL. For example, if you mark http://host:port/youtube/2.0 as the default version when the API has 1.0 and 3.0 versions as well, requests made to http://host:port/youtube/ get automatically routed to version 2.0. If you mark any version of an API as the default, you get two API URLs in its Overview page in the API Store. One URL is with the version and the other is without. You can invoke a default version using both URLs. If you mark an unpublished API as the default, the previous default, published API will still be used as the default until the new default API is published (or prototyped). The All APIs page opens. Click on the new API version to open it.publisher
role assigned.PhoneVerification 1.0.0
).
You have created a new version of an API. In the next tutorial, you deploy this API as a prototype and test it with its older versions.
Tip: By default, only the latest version of an API is shown in the API Store. If you want to display multiple versions, set the <DisplayMultipleVersions>
element to true in <APIM_HOME>/repository/conf/api-manager.xml
file.