You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Azure API Management (APIM) is a hybrid, multicloud management platform for APIs across all environments. As a platform-as-a-service, API Management supports the complete API lifecycle from design, development, publishing, operations, to retirement.
APIM helps organizations publish APIs to external, partner, and internal developers to unlock the potential of their data and services. It provides tools for securing, managing, and scaling API calls while offering a unified management experience and full observability.
Simplified networking - VNet integration and private endpoints
Better scaling - Up to 10 units (Basic/Standard v2) or 30 units (Premium v2)
Developer portal options - Enable when needed
How APIM Works
sequenceDiagram
participant C as Client
participant G as API Gateway
participant P as Policies
participant B as Backend API
C->>G: API Request
G->>P: Apply Inbound Policies
Note over P: Validate JWT<br/>Check rate limit<br/>Transform request
P->>B: Forward Request
B->>P: Response
P->>P: Apply Outbound Policies
Note over P: Transform response<br/>Cache response
P->>G: Processed Response
G->>C: API Response
Loading
Policies
Policies are a powerful capability that allows publishers to change API behavior through configuration. They execute sequentially on the request or response.
Policy Scopes
graph TB
subgraph "Policy Hierarchy"
GL[Global Policies]
PR[Product Policies]
AP[API Policies]
OP[Operation Policies]
GL --> PR --> AP --> OP
end
style GL fill:#0078D4,color:#fff
style PR fill:#2B88D8,color:#fff
style AP fill:#50E6FF
style OP fill:#9EE7FF
Loading
Common Policy Categories
Category
Policies
Description
Access Restriction
IP filtering, validate JWT, check HTTP header
Control access to APIs
Authentication
Basic auth, certificate auth, managed identity
Authenticate to backends
Caching
Store/retrieve from cache
Reduce backend load
Transformation
Set/rewrite headers, convert XML to JSON
Modify requests/responses
Rate Limiting
Rate limit by key/subscription, quota
Protect backends
Advanced
Mock responses, retry, send requests
Complex scenarios
Policy Example: Rate Limiting
<policies>
<inbound>
<base />
<!-- Limit to 100 calls per minute per subscription -->
<rate-limitcalls="100"renewal-period="60" />
<!-- Set quota of 10000 calls per week -->
<quotacalls="10000"renewal-period="604800" />
</inbound>
<backend>
<base />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>