Skip to Content
Product Information
Author's profile photo Ashutosh Kumar Singh

SAP API Management: APIs and Revisions

Introduction

As an API proxy developer, you might have wondered how to track the incremental changes you’ve made to an API proxy and then view the deployed copy of the API proxy without causing any disruption to the deployed API in API portal.

Most of the time, these changes are compatible and incremental in nature. For example, adding a property or adding a new resource or attaching a policy to the API proxy.

Well, with API Revisions you can easily achieve the above and much more. You can increase your productivity, by performing the following tasks conveniently:

    • Preserve the incremental changes.
    • Refer to its older state.
    • Revert/restore the API to its older state.
    • Develop an API proxy without impacting the deployed state.

In this blog, we will explore the importance of API Revision and how it helps an API developer to make changes to an API proxy in a controlled and safe manner. Also, note that this feature is available both on SAP Integration Suite and SAP API Management.

API Proxy and Revisions

You create Revisions when there are changes that don’t break the existing consumption flows. You can refer to the older state of the proxy preserved during API proxy development. You can access the past changes made to the API proxy, and even restore the API to any of its previous states.

A few salient features of API revisions:

    • Revisions will let an API owner make small changes to the API proxy and even restore the API to any of its previous states.
    • Revisions are immutable. Therefore, you can’t make changes to the revisions directly. You need to create a draft out of a revision to work on it.
    • Revision is a design time concept, that allows multiple revisions of an API proxy to co-exist. Only one revision can be deployable or executable.
    • Revision helps in tracking past changes and facilitates API development paradigm.

How it Works

When you create and save an API proxy, a draft gets created. You can deploy the draft and still continue to work on it. Once you’ve made the changes and tested it, you can also save this draft as a revision. The draft ceases to exist when a revision is created out of it.

Every edit on Revision creates a draft. You can revert from any of the previous revisions, the revert action creates a new Revision out of it.

An API Proxy gets created in a draft state. The draft is a working copy where the changes are allowed to be made and can also be deployed. Once the changes are made and tested, a Revision can be created from that draft. Draft ceases to exist when revision is created out of it. To capture the incremental changes, the API proxy developer can again create a draft from the latest saved revision.

Please refer to the step-by-step tutorial on revisions here.

Import and Transport

Every time you import or transport an API proxy, a new revision of the API gets created which can be deployed. This helps in traceability and lifecycle management. In both cases, the revision name is auto-generated.

 

Summary

  • Capture small and incremental changes of an API proxy via revisions
  • Create multiple revisions iteratively.
  • Refer or Revert to any of the created revisions.

Assigned Tags

      2 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Tobias Miller
      Tobias Miller

      Dear Kumar,

      I saved an API proxy as revision on our APIM portal dev stage and thereby maintained revision name and description.

      After that I transported this API proxy with revision state from our APIM dev to qual system via SAP BTP Transport Management Service.

      The following two screenshots illustrate that my provided revision name and description were overwritten with "Revision_1694001339" and "Imported API Proxy":

      It would be helpful for our APIM admin team to find the same revision name + description in all of our APIM environments in order to ensure consistency of one API proxy revision between the tenants.

      Is this a bug or do you know any hint to make it work?

      Best Regards,

      Tobias Miller

      Author's profile photo Ashutosh Kumar Singh
      Ashutosh Kumar Singh
      Blog Post Author

      Hi Tobias,

      This is as per the design. The intention is to always create a new revision when using Transport or Import features irrespective of the state of the API proxy in the source system. This will help in better traceability during any such operation.

      Regards,

      Ashutosh