Skip to content

Commit f699db2

Browse files
authored
Merge pull request #283778 from dlepow/postm
[APIM] Postman references
2 parents 915e1bc + 7e78d02 commit f699db2

File tree

7 files changed

+31
-45
lines changed

7 files changed

+31
-45
lines changed

articles/api-management/TOC.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -423,11 +423,12 @@
423423
href: api-management-howto-configure-notifications.md
424424
- name: Export APIs
425425
items:
426-
- name: Test and monitor APIs in Postman
427-
displayName: collection
428-
href: export-api-postman.md
426+
429427
- name: Inventory APIs in API Center
430428
href: ../api-center/import-api-management-apis.md?toc=%2Fazure%2Fapi-management%2Ftoc.json&bc=/azure/api-management/breadcrumb/toc.json
429+
- name: Export APIs to Postman for API development
430+
displayName: collection
431+
href: export-api-postman.md
431432
- name: Export APIs to the Power Platform
432433
items:
433434
- name: Export API as custom connector
@@ -659,14 +660,14 @@
659660
href: breaking-changes/metrics-retirement-aug-2023.md
660661
- name: Virtual network changes (September 2023)
661662
href: breaking-changes/rp-source-ip-address-change-sep-2023.md
662-
- name: API version retirements (June 2024)
663-
href: breaking-changes/api-version-retirement-sep-2023.md
664663
- name: Self-hosted gateway v0/v1 retirements (October 2023)
665664
href: breaking-changes/self-hosted-gateway-v0-v1-retirement-oct-2023.md
666665
- name: Deprecated (legacy) developer portal (October 2023)
667666
href: breaking-changes/legacy-portal-retirement-oct-2023.md
668667
- name: Workspaces preview breaking changes (June 2024)
669668
href: breaking-changes/workspaces-breaking-changes-june-2024.md
669+
- name: API version retirements (June 2024)
670+
href: breaking-changes/api-version-retirement-sep-2023.md
670671
- name: stv1 compute platform retirement (August 2024)
671672
href: breaking-changes/stv1-platform-retirement-august-2024.md
672673
- name: Workspaces preview breaking changes, part 2 (March 2025)

articles/api-management/api-management-sample-send-request.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ title: Using API Management service to generate HTTP requests
33
description: Learn to use request and response policies in API Management to call external services from your API
44
services: api-management
55
author: dlepow
6-
manager: erikre
7-
ms.assetid: 4539c0fa-21ef-4b1c-a1d4-d89a38c242fa
86
ms.service: azure-api-management
97
ms.topic: article
10-
ms.date: 04/14/2022
8+
ms.date: 08/05/2024
119
ms.author: danlep
1210

1311
---
@@ -17,7 +15,7 @@ ms.author: danlep
1715

1816
The policies available in Azure API Management service can do a wide range of useful work based purely on the incoming request, the outgoing response, and basic configuration information. However, being able to interact with external services from API Management policies opens up many more opportunities.
1917

20-
You have previously seen how to interact with the [Azure Event Hub service for logging, monitoring, and analytics](api-management-log-to-eventhub-sample.md). This article demonstrates policies that allow you to interact with any external HTTP-based service. These policies can be used for triggering remote events or for retrieving information that is used to manipulate the original request and response in some way.
18+
You have previously seen how to interact with the [Azure Event Hubs service for logging, monitoring, and analytics](api-management-log-to-eventhub-sample.md). This article demonstrates policies that allow you to interact with any external HTTP-based service. These policies can be used for triggering remote events or for retrieving information that is used to manipulate the original request and response in some way.
2119

2220
## Send-One-Way-Request
2321
Possibly the simplest external interaction is the fire-and-forget style of request that allows an external service to be notified of some kind of important event. The control flow policy `choose` can be used to detect any kind of condition that you are interested in. If the condition is satisfied, you can make an external HTTP request using the [send-one-way-request](./send-one-way-request-policy.md) policy. This could be a request to a messaging system like Hipchat or Slack, or a mail API like SendGrid or MailChimp, or for critical support incidents something like PagerDuty. All of these messaging systems have simple HTTP APIs that can be invoked.
@@ -95,7 +93,7 @@ The `response-variable-name` attribute is used to give access the returned respo
9593

9694
From the response object, you can retrieve the body and RFC 7622 tells API Management that the response must be a JSON object and must contain at least a property called `active` that is a boolean value. When `active` is true then the token is considered valid.
9795

98-
Alternatively, if the authorization server doesn't include the "active" field to indicate whether the token is valid, use a tool like Postman to determine what properties are set in a valid token. For example, if a valid token response contains a property called "expires_in", check whether this property name exists in the authorization server response this way:
96+
Alternatively, if the authorization server doesn't include the "active" field to indicate whether the token is valid, use an HTTP client tool such as `curl` to determine what properties are set in a valid token. For example, if a valid token response contains a property called "expires_in", check whether this property name exists in the authorization server response this way:
9997

10098
```xml
10199
<when condition="@(((IResponse)context.Variables["tokenstate"]).Body.As<JObject>().Property("expires_in") == null)">

articles/api-management/devops-api-development-templates.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Both GitHub and Azure Repos allow approval pipelines to be configured that run w
4343
* API specification linters such as [Spectral][12] to ensure that the definition meets API standards required by the organization.
4444
* Breaking change detection using tools such as [openapi-diff][13].
4545
* Security audit and assessment tools. [OWASP maintains a list of tools][14] for security scanning.
46-
* Automated API test frameworks such as [Newman][15], a test runner for [Postman collections][16].
46+
* Automated API test frameworks.
4747

4848
> [!NOTE]
4949
> Azure APIs must conform to a [strict set of guidelines][26] that you can use as a starting point for your own API guidelines. There is a [Spectral configuration][27] for enforcing the guidelines.
@@ -88,7 +88,6 @@ Review [Automated API deployments with APIOps][28] in the Azure Architecture Cen
8888
* [Azure APIOps Toolkit][5] provides a workflow for API Management DevOps.
8989
* [Spectral][12] provides a linter for OpenAPI specifications.
9090
* [openapi-diff][13] provides a breaking change detector for OpenAPI v3 definitions.
91-
* [Newman][15] provides an automated test runner for Postman collections.
9291

9392
<!-- Links -->
9493
[1]: https://www.w3.org/TR/wsdl20/
Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
---
22
title: Export API from Azure API Management to Postman for testing and monitoring | Microsoft Docs
3-
description: Learn how to export an API definition from API Management to Postman and use Postman for API testing and monitoring
3+
description: Learn how to export an API definition from API Management to Postman and use Postman for API testing, monitoring, and development
44
author: dlepow
55

66
ms.service: azure-api-management
77
ms.topic: how-to
8-
ms.date: 10/11/2022
8+
ms.date: 08/06/2024
99
ms.author: danlep
1010
---
11-
# Export API definition to Postman for API testing and monitoring
11+
# Export API definition to Postman for API testing, monitoring, and development
1212

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

1515
To enhance development of your APIs, you can export an API fronted in API Management to [Postman](https://www.postman.com/product/what-is-postman/). Export an API definition from API Management as a Postman [collection](https://learning.postman.com/docs/getting-started/creating-the-first-collection/) so that you can use Postman's tools to design, document, test, monitor, and collaborate on APIs.
1616

17+
> [!NOTE]
18+
> Only the API definition can be exported directly from API Management to Postman. Other information such as policies or subscription keys isn't exported.
19+
1720
## Prerequisites
1821

1922
+ Complete the following quickstart: [Create an Azure API Management instance](get-started-create-service-instance.md).
@@ -22,8 +25,6 @@ To enhance development of your APIs, you can export an API fronted in API Manage
2225
> [!NOTE]
2326
> Currently, you can only export HTTP APIs from API Management directly to Postman.
2427
25-
For testing authorization in Postman as outlined later in this article, the API should require a subscription.
26-
2728
+ A [Postman](https://www.postman.com) account, which you can use to access Postman for Web.
2829
* Optionally, [download and install](https://learning.postman.com/docs/getting-started/installation-and-updates/) the Postman desktop app locally.
2930

@@ -45,30 +46,18 @@ To enhance development of your APIs, you can export an API fronted in API Manage
4546

4647
:::image type="content" source="media/export-api-postman/postman-collection-documentation.png" alt-text="Screenshot of collection imported to Postman.":::
4748

48-
## Authorize requests in Postman
49+
## API development with API Management and Postman
4950

50-
If the API you exported requires a subscription, you'll need to configure a valid subscription key from your API Management instance to send requests from Postman.
51+
API developers can rapidly iterate on API changes by using Postman's API testing, monitoring, and development capabilities.
5152

52-
Use the following steps to configure a subscription key as a secret variable for the collection.
53+
APIs developed in Postman can then be exported and imported back into API Management as API revisions. This enables you to develop APIs in Postman and then deploy them to API Management for runtime access and management. [Learn more](https://learning.postman.com/docs/designing-and-developing-your-api/deploying-an-api/deploying-an-api-azure/)
5354

54-
1. In your Postman workspace, select **Environments** > **Create environment**.
55-
1. Enter a name for the environment such as *Azure API Management*.
56-
1. Add a variable with the following values:
57-
1. Name - *apiKey*
58-
1. Type - **secret**
59-
1. Initial value - a valid API Management subscription key for the API
60-
1. Select **Save**.
61-
1. Select **Collections** and the name of the collection that you imported.
62-
1. Select the **Authorization** tab.
63-
1. In the upper right, select the name of the environment you created, such as *Azure API Management*.
64-
1. For the key **Ocp-Apim-Subscription-Key**, enter the variable name `{{apiKey}}`. Select **Save**.
6555

66-
:::image type="content" source="media/export-api-postman/postman-api-authorization.png" alt-text="Screenshot of configuring secret API key in Postman.":::
67-
1. Test your configuration by selecting an operation in your API such as a `GET` operation, and select **Send**.
68-
69-
If correctly configured, the operation returns a `200 OK` status and some output.
56+
> [!CAUTION]
57+
> Use care when passing API Management subscription keys or other sensitive data in Postman. [Postman Vault](https://learning.postman.com/docs/sending-requests/postman-vault/postman-vault-secrets/) is recommended to store sensitive data as vault secrets in your instance of Postman, so you can safely reuse secrets in your collections and requests.
7058
71-
## Next steps
59+
## Related content
7260

73-
* Learn more about [importing APIs to Postman](https://learning.postman.com/docs/designing-and-developing-your-api/importing-an-api/).
61+
* [Blog: Enhanced API developer experience with the Microsoft-Postman partnership](https://techcommunity.microsoft.com/t5/apps-on-azure-blog/enhanced-api-developer-experience-with-the-microsoft-postman/ba-p/3650304)
62+
* Learn more about [importing API definitions to Postman](https://learning.postman.com/docs/designing-and-developing-your-api/importing-an-api/).
7463
* Learn more about [authorizing requests in Postman](https://learning.postman.com/docs/sending-requests/authorization/).

articles/api-management/front-door-api-management.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
---
22
title: Configure Azure Front Door in front of Azure API Management
3-
description: Learn how to front your API Management instance with Azure Front Door Standard/Premium to provide global HTTPS load balancing, TLS offloading, dynamic request acceleration, and other capabilities.
3+
description: Learn how to front your API Management instance with Azure Front Door for global HTTPS load balancing, TLS offloading, dynamic request acceleration, and more.
44
services: api-management
55
author: dlepow
66

7+
78
ms.service: azure-api-management
89
ms.topic: how-to
9-
ms.date: 09/27/2022
10+
ms.date: 08/06/2024
1011
ms.author: danlep
1112
---
1213
# Configure Front Door Standard/Premium in front of Azure API Management
@@ -78,19 +79,17 @@ We recommend updating the default route that's associated with the API Managemen
7879

7980
### Test the configuration
8081

81-
Test the Front Door profile configuration by calling an API hosted by API Management. First, call the API directly through the API Management gateway to ensure that the API is reachable. Then, call the API through Front Door. To test, you can use a command line client such as `curl` for the calls, or a tool such as [Postman](https://www.getpostman.com).
82+
Test the Front Door profile configuration by calling an API hosted by API Management, for example, the Demo Conference API. First, call the API directly through the API Management gateway to ensure that the API is reachable. Then, call the API through Front Door.
8283

8384
### Call an API directly through API Management
8485

85-
In the following example, an operation in the Demo Conference API hosted by the API Management instance is called directly using Postman. In this example, the instance's hostname is in the default `azure-api.net` domain, and a valid subscription key is passed using a request header. A successful response shows `200 OK` and returns the expected data:
86+
To call an API directly through the API Management gateway, you can use a command line client such as `curl` or another HTTP client. A successful response returns a `200 OK` HTTP response and the expected data:
8687

87-
:::image type="content" source="media/front-door-api-management/test-api-management-gateway.png" alt-text="Screenshot showing calling API Management endpoint directly using Postman.":::
88+
:::image type="content" source="media/front-door-api-management/test-api-management-gateway.png" alt-text="Screenshot showing calling API Management endpoint directly using an HTTP client.":::
8889

8990
### Call an API directly through Front Door
9091

91-
In the following example, the same operation in the Demo Conference API is called using the Front Door endpoint configured for your instance. The endpoint's hostname in the `azurefd.net` domain is shown in the portal on the **Overview** page of your Front Door profile. A successful response shows `200 OK` and returns the same data as in the previous example:
92-
93-
:::image type="content" source="media/front-door-api-management/test-front-door-gateway.png" alt-text="Screenshot showing calling Front Door endpoint using Postman.":::
92+
Call the same API operation using the Front Door endpoint configured for your instance. The endpoint's hostname in the `azurefd.net` domain is shown in the portal on the **Overview** page of your Front Door profile. A successful response shows `200 OK` and returns the same data as in the previous example.
9493

9594
## Restrict incoming traffic to API Management instance
9695

-155 KB
Loading

0 commit comments

Comments
 (0)