Skip to content

Commit 078f905

Browse files
committed
Merge branch 'main' into release-rsa-sentinel-platform
2 parents 1bc02ce + 2f7977b commit 078f905

209 files changed

Lines changed: 8094 additions & 3492 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

articles/api-management/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
href: import-container-app-with-oas.md
119119
- name: Import a Function App web API
120120
href: import-function-app-as-api.md
121-
- name: Import a Logic App
121+
- name: Import a Logic App web API
122122
href: import-logic-app-as-api.md
123123
- name: Import a WebSocket API
124124
href: websocket-api.md

articles/api-management/api-management-gateways-overview.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: azure-api-management
88
ms.custom:
99
- build-2024
1010
ms.topic: concept-article
11-
ms.date: 02/17/2026
11+
ms.date: 03/23/2026
1212
ms.author: danlep
1313
---
1414

@@ -85,15 +85,16 @@ The following tables compare features available in the following API Management
8585
| [Managed domain certificates](configure-custom-domain.md?tabs=managed#domain-certificate-options) | ✔️ || ✔️ |||
8686
| [TLS settings](api-management-howto-manage-protocols-ciphers.md) | ✔️ | ✔️ | ✔️ | ✔️ ||
8787
| **HTTP/2** (Client-to-gateway) | ✔️<sup>4</sup> | ✔️<sup>4</sup> || ✔️ ||
88-
| **HTTP/2** (Gateway-to-backend) | ||| ✔️<sup>5</sup> ||
88+
| **HTTP/2** (Gateway-to-backend) | ✔️<sup>7</sup> ||| ✔️<sup>5</sup> ||
8989
| API threat detection with [Defender for APIs](protect-with-defender-for-apis.md) | ✔️ | ✔️ ||||
9090

9191
<sup>1</sup> Depends on how the gateway is deployed, but is the responsibility of the customer.<br/>
9292
<sup>2</sup> Connectivity to the self-hosted gateway v2 [configuration endpoint](self-hosted-gateway-overview.md#fqdn-dependencies) requires DNS resolution of the endpoint hostname.<br/>
9393
<sup>3</sup> CA root certificates for self-hosted gateway are managed separately per gateway.<br/>
9494
<sup>4</sup> Client protocol needs to be enabled.<br/>
9595
<sup>5</sup> Configure using the [forward-request](forward-request-policy.md) policy.<br/>
96-
<sup>6</sup> Configure CA certificate details for backend certificate authentication in [backend](backends.md) settings.
96+
<sup>6</sup> Configure CA certificate details for backend certificate authentication in [backend](backends.md) settings.<br/>
97+
<sup>7</sup> In preview for classic tier instances created starting January 2026. Contact support to enable for existing classic tier instances.
9798

9899
### Backend APIs
99100

@@ -110,7 +111,7 @@ The following tables compare features available in the following API Management
110111
| [Pass-through GraphQL](graphql-apis-overview.md) | ✔️ | ✔️ |✔️ | ✔️ | ✔️ |
111112
| [Synthetic GraphQL](graphql-apis-overview.md)| ✔️ | ✔️ | ✔️<sup>1</sup> | ✔️<sup>1</sup> ||
112113
| [Pass-through WebSocket](websocket-api.md) | ✔️ | ✔️ || ✔️ | ✔️ |
113-
| [Pass-through gRPC](grpc-api.md) | ✔️ ||| ✔️ ||
114+
| [Pass-through gRPC](grpc-api.md) | ✔️<sup>1</sup> ||| ✔️ ||
114115
| [OData](import-api-from-odata.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
115116
| [Azure OpenAI in Microsoft Foundry models and LLMs](azure-ai-foundry-api.md) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
116117
| [Pass-through MCP server](expose-existing-mcp-server.md) | ✔️ | ✔️ || ✔️ ||
@@ -119,6 +120,9 @@ The following tables compare features available in the following API Management
119120
| [Circuit breaker in backend](backends.md#circuit-breaker) | ✔️ | ✔️ || ✔️ | ✔️ |
120121
| [Load-balanced backend pool](backends.md#load-balanced-pool) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
121122

123+
<sup>1</sup> In preview for classic tier instances created starting January 2026. Contact support to enable for existing classic tier instances.
124+
125+
122126
### Policies
123127

124128
Managed and self-hosted gateways support all available [policies](api-management-policies.md) in policy definitions with the following exceptions. See the policy reference for details about each policy.

articles/api-management/import-container-app-with-oas.md

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Import an Azure Container App to Azure API Management | Microsoft Docs
3-
description: Learn how to use Azure API Management to import a web API that's hosted in Azure Container Apps.
2+
title: Import an Azure Container App to Azure API Management
3+
description: Learn how to use Azure API Management to import a web API hosted in Azure Container Apps.
44
services: api-management
55
author: dlepow
66

77
ms.service: azure-api-management
88
ms.topic: how-to
9-
ms.date: 03/31/2025
9+
ms.date: 03/11/2026
1010
ms.author: danlep
1111

1212
#customer intent: As an API developer, I want to import a web API that's hosted in Azure Container Apps.
@@ -16,7 +16,7 @@ ms.author: danlep
1616

1717
[!INCLUDE [api-management-availability-all-tiers](../../includes/api-management-availability-all-tiers.md)]
1818

19-
This article describes how to import an Azure container app to Azure API Management as an API and test the imported API by using the Azure portal.
19+
This article describes how to import an Azure container app into Azure API Management as an API and test the imported API by using the Azure portal.
2020

2121
[!INCLUDE [api-management-workspace-availability](../../includes/api-management-workspace-availability.md)]
2222

@@ -30,25 +30,25 @@ In this article, you learn how to:
3030

3131
[Azure Container Apps](../container-apps/overview.md) allows you to deploy containerized apps without managing complex infrastructure. API developers can write code with their preferred programming language or framework, build microservices with full support for Distributed Application Runtime (Dapr), and scale based on HTTP traffic or other events.
3232

33-
By using API Management to expose a web API that's hosted in a container app, you gain the following benefits:
33+
By using API Management to expose a web API hosted in a container app, you gain the following benefits:
3434

3535
* Decouple managing and securing the frontend that's exposed to API consumers from managing and monitoring the backend web API.
3636
* Manage web APIs hosted as container apps in the same environment as your other APIs.
3737
* Apply [policies](api-management-policies.md) to change API behavior, such as call-rate limiting.
38-
* Direct API consumers to the customizable API Management [developer portal](api-management-howto-developer-portal.md) so they can discover and learn about your APIs, request access, and try APIs.
38+
* Direct API consumers to the customizable API Management [developer portal](developer-portal-overview.md) so they can discover and learn about your APIs, request access, and try APIs.
3939

40-
For more information, see [About API Management](api-management-key-concepts.md).
40+
For more information, see [What is Azure API Management?](api-management-key-concepts.md)
4141

4242
## OpenAPI specification vs. wildcard operations
4343

44-
API Management supports importing container apps that provide an OpenAPI specification (a Swagger definition). An OpenAPI specification isn't required, but we recommend that you provide one. API Management can import individual operations, which allows you to validate, manage, secure, and update configurations for each operation separately.
44+
API Management supports importing container apps that provide an OpenAPI specification (a Swagger definition). An OpenAPI specification isn't required, but we recommend that you provide one. API Management can import individual operations, which allows you to validate, manage, secure, and update configurations for each operation separately.
4545

46-
If the container app exposes an OpenAPI specification, API Management creates API operations that map directly to the definition. API Management will look in several locations for an OpenAPI specification:
46+
If the container app exposes an OpenAPI specification, API Management creates API operations that map directly to the definition. API Management looks in several locations for an OpenAPI specification:
4747

4848
* The container app configuration
49-
* `/openapi.json`
50-
* `/openapi.yml`
51-
* `/swagger/v1/swagger.json`
49+
* */openapi.json*
50+
* */openapi.yml*
51+
* */swagger/v1/swagger.json*
5252

5353
If an OpenAPI specification isn't provided, API Management generates [wildcard operations](add-api-manually.md#add-and-test-a-wildcard-operation) for the common HTTP verbs (GET, PUT, and so on). You can still take advantage of the same API Management features, but operations aren't defined at the same level of detail.
5454

@@ -58,34 +58,40 @@ In either case, you can [edit](edit-api.md) or [add](add-api-manually.md) operat
5858

5959
Your backend container app might support two GET operations:
6060

61-
* `https://<app-service>.azurewebsites.net/customer/{id}`
61+
* `https://<app-service>.azurewebsites.net/customer/<id>`
6262
* `https://<app-service>.azurewebsites.net/customers`
6363

6464
You import the container app to your API Management service at a path like `https://<api>.azure-api.net/store`. The following table shows the operations that are imported to API Management, either with or without an OpenAPI specification:
6565

6666
| Type |Imported operations |Sample requests |
6767
|---------|---------|---------|
68-
|OpenAPI specification | `GET /customer/{id}`<br/><br/> `GET /customers` | `GET https://<api>.azure-api.net/store/customer/1`<br/><br/>`GET https://<api>.azure-api.net/store/customers` |
68+
|OpenAPI specification | `GET /customer/<id>`<br/><br/> `GET /customers` | `GET https://<api>.azure-api.net/store/customer/1`<br/><br/>`GET https://<api>.azure-api.net/store/customers` |
6969
|Wildcard | `GET /*` | `GET https://contosoapi.azure-api.net/store/customer/1`<br/><br/>`GET https://<api>.azure-api.net/store/customers` |
7070

7171
The wildcard operation allows the same requests to the backend service as the operations in the OpenAPI specification. However, the OpenAPI-specified operations can be managed separately in API Management.
7272

7373
## Prerequisites
7474

75-
+ Complete the [Create an Azure API Management instance](get-started-create-service-instance.md) quickstart.
75+
+ Create an [Azure API Management instance](get-started-create-service-instance.md).
7676
+ Make sure there's a container app that exposes a web API in your subscription. For more information, see [Container Apps documentation](../container-apps/index.yml).
7777

7878
## Import and publish a backend API
7979

80-
1. Navigate to your API Management service in the Azure portal and select **APIs** > **APIs** in the left pane.
81-
1. Under **Create from Azure resource**, select **Container App**:
80+
1. Navigate to your API Management service in the [Azure portal](https://portal.azure.com).
81+
82+
1. In the sidebar menu, select **APIs** > **APIs**, and then select **+ Add API**.
83+
84+
1. Under **Create from Azure resource**, select the **Container App** tile:
8285

8386
:::image type="content" source="media/import-container-app-with-oas/add-api.png" alt-text="Screenshot that shows the Container App tile.":::
8487

8588
1. Select **Browse** to see a list of container apps in your subscription.
89+
8690
1. Select a container app. If an OpenAPI definition is associated with the selected container app, API Management fetches it and imports it. If an OpenAPI definition isn't found, API Management exposes the API by generating wildcard operations for common HTTP verbs.
91+
8792
1. Add an **API URL suffix**. The suffix is a name that identifies the API in the API Management instance. It has to be unique in the API Management instance.
88-
1. Associate the API with a product. Select **Full** and then, in **Product**, select the product. In this case, the **Unlimited** product is used. If you want the API to be published and be available to developers, you need to add it to a product.
93+
94+
1. Associate the API with a product. Select **Full** and then, in **Products**, select the product. In this case, the **Unlimited** product is used. If you want the API to be published and be available to developers, you need to add it to a product.
8995

9096
> [!NOTE]
9197
> *Products* are associations of one or more APIs. You can include many APIs and offer them to developers through the developer portal. Developers must first subscribe to a product to get access to the API. When they subscribe, they get a subscription key that's good for any API in that product. If you created the API Management instance, you're an administrator and subscribed to every product by default.
@@ -95,6 +101,7 @@ The wildcard operation allows the same requests to the backend service as the op
95101
> * **Unlimited**
96102
97103
1. Enter other API settings. You can set these values when you create the API or configure them later on the **Settings** tab. These settings are explained in the [Import and publish your first API](import-and-publish.md#import-and-publish-a-backend-api) tutorial.
104+
98105
1. Select **Create**.
99106

100107
:::image type="content" source="media/import-container-app-with-oas/import-container-app.png" alt-text="Screenshot that shows the Create from Container App window." lightbox="media/import-container-app-with-oas/import-container-app.png":::
@@ -106,10 +113,12 @@ You can call operations directly from the Azure portal. This method is a conveni
106113
To test the API in the Azure portal:
107114

108115
1. Select the API you created in the previous step.
116+
109117
1. Select the **Test** tab.
118+
110119
1. Select an operation.
111120

112-
The page displays fields for query parameters and fields for the headers. One of the headers is `Ocp-Apim-Subscription-Key`. This header is for the subscription key of the product that's associated with the API. If you created the API Management instance, you're an administrator, so the key is filled in automatically.
121+
The page displays fields for query parameters and fields for the headers. One of the headers is `Ocp-Apim-Subscription-Key`. This header is for the subscription key of the product associated with the API. If you created the API Management instance, you're an administrator, so the key is filled in automatically.
113122

114123
1. Select **Send**.
115124

@@ -124,7 +133,9 @@ When wildcard operations are generated, the operations might not map directly to
124133
To test the `/api/TodoItems` path:
125134

126135
1. Select the API that you created, and then select the operation.
136+
127137
1. Select the **Test** tab.
138+
128139
1. In **Template parameters**, update the value next to the wildcard (*) name. For example, enter `api/TodoItems`. This value is appended to the path `/` for the wildcard operation.
129140

130141
:::image type="content" source="media/import-container-app-with-oas/test-wildcard-operation.png" alt-text="Screenshot that shows the steps for testing wildcard operation." lightbox="media/import-container-app-with-oas/test-wildcard-operation.png":::

0 commit comments

Comments
 (0)