Externally Managed APIs in SAP API Management
In this blog we will cover the new feature- ‘Externally Managed APIs’ in SAP API Management.
SAP API Management is available as one of the capabilities in Integration Suite and as a SaaS application in Neo and Cloud Foundry environment.
It would be possible to import and publish Externally Managed APIs in SAP API Management. What does it mean? What are Externally Managed APIs?
Externally Managed APIs.
In the context of SAP API Management, APIs which are not managed by SAP API Management but by some other API Management solution.
It will be possible to import an API definition (Open API Specification 2.0 or 3.0) of Externally managed APIs in API Portal, without adding management capability (proxy creation and policies) of SAP API Management and publish them to Developer Portal.
Why this feature is enabled in SAP API Management?
In the heterogenous IT landscapes there could be a possibility of multiple API Gateway’s. SAP API Management is used for API management capabilities and managed APIs are published to Developer portal for simplified consumption.
- To support the business scenario around API consumption there could be a need to publish the APIs which are not managed by SAP API Management to Developer Portal. This is where support for Externally Managed APIs comes in picture.
- This feature provides a flexibility to import APIs without creating an API proxy and publish it to Developer Portal. Reasons for not managing the API could be multifold like API is already managed in another API gateway or it’s a public API which API developer don’t want to manage and publish the direct API endpoint as it is.
- For API consumers, API catalog is available which is API Gateway agnostic thereby listing APIs which are managed by SAP and non-SAP API Management.
This feature is available in SAP API Management both in Neo and CF environment.
How to use this feature?
Below listed steps demonstrate how to publish Externally Managed APIs in SAP API Management.
- Import an API definition (either in Open API Specification 2.0 or 3.0) of Externally Managed API in an API Portal . If this API is already managed by some other API Gateway then API endpoint in the definition will be in the context of that respective API Gateway. Select option ‘List as Externally Managed API’
- Post import of an API definition, API details page will appear which will display the API name, title and resources read from imported API definition.
- API URL list the API endpoint as is in the API definition. It can be a direct API endpoint or managed API endpoint (if this API is already managed its externally managed API).
- Depending on the business use case, this API can be bundled in a API product (with other set of APIs which are managed by SAP API Management or with other externally managed APIs ) and further publish to Developer portal.
- In our example, we have Sales Order API from SAP S/4HANA Cloud which is managed by SAP API Management. API developer would like to bundle sms API (which is managed by other API Gateway) along with it and publish to Developer portal for consumption to support the listed scenario: ” App should enable sales order creation and whenever sales order gets created or modified , App should send an SMS to the registered user”
- Create an API Product and select the APIs
- Once APIs are selected, publish the product.
- Published product will be displayed in the respective Developer Portal.
- As ‘Externally Managed APIs’ are not managed by SAP API Management so how to get the credentials to consume these APIs should be the part of API definition.
- Application keys and secret generated by subscribing to the product to create an application is not applicable for ‘Externally Managed APIs’
- Metering and generated cost for the application is not applicable for ‘Externally Managed APIs’.
We are looking forward for your feedback on this feature and its usage.
We have a Neo APIM environment but unable to see the import option.
Any additional steps need to be performed to enable this ?
Once you will browse and select the API definition (json), option to 'Manage this API' or 'List as Externally Managed API' will appear.
Thank you Nitin , it worked !