API Management
Microsoft Azure API Management is a turnkey solution for publishing APIs to external and internal consumers. Quickly create consistent and modern API gateways for existing backend services hosted anywhere, secure and protect them from abuse and overuse, and gain insights into usage and health. Plus, automate and scale developer onboarding to help get your API program up and running in no time.
-
Integration with Azure KeyVault
Currently, we store sensitive information in API Portal - Properties and use them as {{key}}
Provide integration of Azure KeyVault so that sensitive information can be stored in Azure KeyVault and allow using it inside API methods or policies like {{vault:key}}
By this feature, we will be able to centralize all the keys in the Azure KeyVault and use Properties only for non-sensitive information.
586 votes -
Programmatically Import Azure Function into APIM
I've created an Azure DevOps release pipeline to update APIM API by importing a swagger file via PowerShell. The swagger file was exported from APIM Dev instance, and the release pipeline imports it into QA APIM instance. However, backend is wrong, and there are missing keys that prevent QA APIM API from calling QA Az Function API.
It all works if I manually import the QA Az Func API into QA APIM API via APIM UI... and keys are automagically generated for Az Func & APIM.
So I need a way to setup DevOps release pipeline to deploy a QA…
160 votesThank you for the feedback! We added this suggestion to the backlog and will update the item when we prioritize it for implementation.
-
Ability to assign public static IP address to public endpoint
When the API consumer is adding firewall rules, the changes to public IP address causes maintenance churn. There are some instances where the API management is used under test and qa controlled by devops and the endpoint address changes every time the resource is recreated. Requesting the ability for API management to be treated like any other resource in the devops process.
49 votesPlease see this FAQ – https://docs.microsoft.com/en-us/azure/api-management/api-management-faq#is-the-api-management-gateway-ip-address-constant-can-i-use-it-in-firewall-rules. If you don’t re-create API Management instance on every deployment the IP address will remain the same (and deployments will take significantly less time too). Does this address your concern?
-
Support webhooks for notifications
All API Management notifications are currently done via email.
It would be great to add webhooks as a potential destination so we can automate certain process with services like Logic Apps.45 votes -
Integrating Deployment Slot Hosted App Service to API Management
In Azure, there are deployment slots within API App service as we have created it for Test, Stage, Preproduction, and Production. But in APIM, we couldn't select a specific deployment slot through hosted app service to Add APIs. Finally, we used Open API Specification.
44 votesThank you for the feedback! We added this suggestion to the backlog and will update the item when we prioritize it for implementation.
-
Distributed Tracing - W3C Trace Context Policy
Add a policy that implements the W3C Trace Context specification. This means that if a request that arrives at APIM without a w3c trace context, APIM will create it and send it to the backend. If a request arrives with a w3c trace context already created, APIM will append its information to the context.
31 votes -
Enable sending of emails via relay
Currently in the azure hosted apim all notifications come from apimgmt-noreply@mail.windowsazure.com and all you can do to mask that is to change the notification sender address which results in emails like this;
MyAPI
<donotreply@MyAPI.com>
Via apimgmt-noreply <apimgmt-noreply@mail.windowsazure.com>would be better if we could relay or mask the sender address properly.
29 votes -
ARM API Management: Create versioned API with swagger
Hi, If create a new api NOT providing information regarding a swagger file , the API is correctly created as versioned.
If, in the arm below, I remove serviceUrl and add contentFormat and contentValue
the API is not created as versioned.If I create the API without swagger (so it's created as versioned) and then I rerun the arm template providing the swagger the api remain versioned and the swagger is updated.
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"variables": {
"apiManagementServiceName":…26 votes -
Please provide support for ACS tokens in backend services
If it would be possible to configure outbound connections with an ACS token, this would give instant support for BizTalk Services bridges and for WebHttpRelayBinding endpoints. Having this would really enable hybrid scenarios as from the start and that would be awesome.
25 votesThanks for the feedback!
-
Azure BizTalk Services Support
Would live to sit API Management in front of Azure BizTalk Services. Essentially being able to expose a MABS Bridge as an API and have the API Manager manage interactions between mobile clients and BizTalk Services.
21 votes -
Easy integrated way to Azure Durable Functions
Durable Functions Async HTTP Trigger returns statusQueryGetUri and so on in Location Header and HTTP Responce Body.
But currently the users have to set up the endpoints except HTTP Trigger on APIM API and Policy manually.
If there is automatic setup feature on APIM, it is better for durable functions user.HTTP API reference
https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api19 votes -
Update documentation: IP Addresese of APIM service in VNET
We found this documentation a bit confusing https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-ip-addresses#ip-addresses-of-api-management-service-in-vnet
1) If your API Management service is inside a virtual network, it will have two types of IP addresses - public and private.
2) Public IP addresses are used for internal communication on port 3443 - for managing configuration (for example, through Azure Resource Manager). In the external VNet configuration, they are also used for runtime API traffic. When a request is sent from API Management to a public-facing (Internet-facing) backend, a public IP address will be visible as the origin of the request.
3) Private virtual IP (VIP) addresses, available only…
18 votes -
Soap to Rest - Better error details
Give better error description when the import process from WSDL to REST fails.
At present time the error is quite generic and only give us the last xml node processed with success, leaving us to a painful try and error approach to why the import did not work.
It would be nice to have more detail about the error, for instance the line number in the WSDL, the type of error detected (recursion,etc).16 votesThank you for the feedback! We added this suggestion to the backlog and will update the item when we prioritize it for implementation.
-
Integration with Azure Monitor
Microsoft recently released Azure Monitor service as a centralized service for monitoring Azure resources and creating alerts based on metrics.
Currently, I could not find API Management in the list of supported resources. It will be good to have API management supported in Azure Monitor Service.
12 votes -
Provide UI to manage Loggers
It would be useful to have UI for managing of loggers
9 votes -
Implement integration with Azure Functions for the PUT,POST and DELETE verbs
API Owner should easily map PUT, POST and DELETE requests to the available Azure Functions through the management portal
6 votes -
Out-of-the-box support for triggering Azure Data Factory pipelines
Out-of-the-box support for triggering Azure Data Factory pipelines that works similar to the current Azure Functions & Logic Apps experience.
This would allow you to expose internal data processes without having to use the Azure Management REST API which enforces AD which is not required in every scenario.
6 votes -
Private Link Support for Internal API Management instance
I would like to be able to establish a Private Link between a VNET and an internal API Management instance.
I want this so that I can securely integrate systems that are running in separate subscriptions and have incoming traffic run through the policies (e.g. JWT enforcement) hosted on the API Management instance.
Currently the only option I have is to connect directly to an App Service running behind the API Management instance. This means I need to push my policy enforcement back into my application code.
6 votes -
Provide programmatic examples for Azure API for FHIR server side authorization - you only describe how to create a confidential client
There is no example for how to use the confidential client credentials to integrate with the Azure API for FHIR, only Postman using it's built in authentication flow; which is not helpful because that is not how a server side application behaves. Just provide curl statements for the auth flow.
6 votes -
Implement APIM EventHub channel for POST and PUT verbs
Integrate EventHub/ServiceBus channel similar to Azure Function outputs for post, put , delete verbs. ( do not confuse with eventhub logger policy ) It also similar to Heroku protocol conversion and request routing patterns
3 votes
- Don't see your idea?