---
schema_version: "1"
id: f5172d9b5d507dfe6c2dff90e532ea53f13cae8b8d10fbeb02eec8fff07b0c9d
title: Mule Gateway Overview
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/mule-gateway/mule-gateway-capabilities-mule4.md
canonical_url: https://docs.mulesoft.com/mule-gateway/mule-gateway-capabilities-mule4
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 62e2ba5fad9311b5806b2e0fb1934c8ec48d4d8011705aeaa661687e94725226
description: MuleSoft Documentation Site
latest: true
---
---
product: Mule Gateway
---

# Mule Gateway Overview

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Mule runtime engine includes an embedded Mule Gateway. Mule Gateway enables you to add a dedicated
orchestration layer on top of your backend APIs and services to help you separate orchestration from
implementation. You can leverage the governance capabilities of API Manager to apply, among other
capabilities, throttling, security, caching, and logging to your APIs.

For example, using Mule Gateway you can:

- Apply a basic authentication policy on top of a Mule application.

- Enrich an incoming or outgoing message.

- Add any other complex capability to an API without having to write any code.

![A diagram illustrating the architecture of an API gateway, positioned between API clients and a backend API](/mulesoft/current/en-us/mule-gateway/_images/apigateway.png)

If you want to apply policies and generate analytics info, you must use either:

- An API defined in a Mule application.

- A Mule application that proxies your existing backend implementation.

## Key Concepts

### API

An API is an abstraction of a set of components. It encapsulates the complexity of your Mule
application development, and it presents an easy and reusable way of accessing your assets.

Pairing your API to API Manager through an Autodiscovery element enables you to apply policies to
that API.

Learn more [About API Autodiscovery](https://docs.mulesoft.com/mule-gateway/mule-gateway-autodiscovery-overview).

#### HTTP/HTTPS API

An API that you create using an HTTP Exchange asset. Mule Gateway assumes that the associated Mule
application being tracked by API Manager has an HTTP or HTTPS listener defined as an implementation
endpoint.

**Typical usage**: REST based APIs.

See [Creating an API Asset](https://docs.mulesoft.com/exchange/to-create-an-asset#creating-an-api-asset).

#### RAML API

An API that you create using a RAML/OAS Exchange asset. Your Mule Gateway assumes that the
associated Mule application being tracked by API Manager has an HTTP or HTTPS listener with a
RAML/OAS router defined as an implementation endpoint.

To make this asset available in Exchange, you can design your API using API Designer and then export
it to Exchange.

**Typical usage**: RAML/OAS based APIs.

See
[Create and Publish an API Specification with the Code Editor in Design Center](https://docs.mulesoft.com/design-center/design-create-publish-api-raml-editor).

#### WSDL API

An API that you create using a WSDL Exchange asset. Your Mule Gateway assumes that the associated
Mule application being tracked by API Manager has an HTTP or HTTPS listener with a WSDL router
defined as an implementation endpoint.

**Typical usage**: WSDL based APIs.

### API Autodiscovery

API Autodiscovery enables API Manager to manage an API that represents an HTTP endpoint of a Mule
application.

Essentially, it’s the mechanism that links an HTTP resource to its API definition in API Manager.

Through API Autodiscovery, Mule Gateway syncs the configuration defined in the corresponding paired
API from API Manager. Mule runtime requires Anypoint Platform organization credentials to use
Autodiscovery.

See the [API Autodiscovery](https://docs.mulesoft.com/mule-gateway/mule-gateway-autodiscovery-overview) article for more information.

### API Proxy

API proxies, also known as "autogenerated proxies", enhance the usability of API Manager in your
Mule application.

**Typical usage**: Either when you want to leverage Mule Gateway capabilities and your backend API
is not based on Mule Runtime, or when your API is based on Mule runtime but you are unable to define
the corresponding Autodiscovery element because it is a closed code.

![A technical diagram illustrating the role of an API manager in connecting clients to backend APIs](/mulesoft/current/en-us/mule-gateway/_images/api-gateway-capabilities-mule4-62bf9.png)

When you configure your API to be a Proxy Endpoint, Anypoint Platform enables you to download a
preconfigured Mule application. If the application is deployed to Mule runtime and you use the
correct Anypoint Platform credentials, API Manager automatically tracks the API.

You can deploy the application to a correctly configured Mule runtime, without knowing the details
of how to create a Mule application.

> [!NOTE] Anypoint Platform can deploy the proxy directly to Cloudhub or using the Mule agent,
> through Runtime Manager.

If you would like to use HTTPS instead of HTTP, you can follow these steps:

1.  Import the autogenerated proxy into Anypoint Studio.

2.  Specify the certificates to be used.

3.  Deploy the application to Cloudhub or a runtime instance.

The proxies that can be downloaded from API Platform are a convenient tool to speed up your
Application Network development. However, you’re not restricted to using these autogenerated
proxies. You can use any Mule application, with correctly configured Autodiscovery, to leverage Mule
Gateway capabilities.

### Policies

Policies are the tool to apply orthogonal behavior to a whole API or to a resource of it.

You can create policies to enrich, filter, and control Incoming/Outgoing messages, and to apply a
security layer on top of your API by, for example, enforcing token access to your API or
whitelisting/blacklisting specific IP addresses.

Mule Gateway provides not only Out-Of-The-Box (OOTB) policies but an engine to create your own
Custom Policies.

### Analytics

When the Mule Gateway is connected to API Manager, you can monitor the usage of your registered API
using **API Analytics**.

Mule Gateway reports API usage, including the detected policy violations.

#### Pointcut

Mule Gateway uses pointcuts to point a policy to the resource where it should be applied.

If you are enforcing a policy in API Manager, this policy uses pointcuts to determine the endpoints
of your Mule application to which it should apply.

Just as the API autodiscovery element must be declared in your Mule application code, pointcuts are
declared within the policies.

In Mule 4, pointcuts are invisible to the user and are only managed internally by the Mule Gateway
and API Manager.

You can select the granularity of the pointcut when configuring most policies. You can find this
configuration under the **Method & Resource conditions** of your policies.

The two available options are:

- **Apply configurations to all API methods & resources**.

  ![A form with options to apply configurations to API methods and resources](/mulesoft/current/en-us/mule-gateway/_images/api-gateway-capabilities-mule4-40081.png)

  When selected, the API Pointcut matches every resource and method of your API. This means that the
  policy being applied will be executed for every request the HTTP Listener (linked with the API via
  Autodiscovery) receives.

- **Apply configurations to specific methods & resources**.

  ![A form that allows users to apply configurations to API methods and resources](/mulesoft/current/en-us/mule-gateway/_images/api-gateway-capabilities-mule4-2ed4e.png)

  This defines a resource-level pointcut for your API. In this example, the policy is applied to the
  API only when the request method is a GET. You can optionally define a matching regex for the
  resource for further granularity.

## Enabling Mule Gateway capabilities

To take advantage of Mule Gateway capabilities, establish a communication channel between Mule
runtime and an organization created in a control plane (US or EU) or Mule Private Cloud Edition.

To configure Mule runtime in such a way, you must specify your Anypoint organization credentials.

Depending on your implementation, there are several ways to pass organization credentials to the
runtime.

See [Configuring Organization Credentials in Mule Runtime 4](https://docs.mulesoft.com/mule-gateway/mule-gateway-org-credentials-mule4) to
learn how to do this.

## Mule Gateway on Hyperforce

All features of Mule Gateway are supported on Hyperforce. However, some API Manager Hyperforce
limitations affect Mule Gateway. To learn more, see
[API Manager on Hyperforce](https://docs.mulesoft.com/api-manager/latest/latest-overview-concept#APIM-hyperforce).

### Mule Gateway Proxies on Hyperforce

All Mule Gateway proxies are supported on Hyperforce. See this table to find the first proxy
versions that are supported on Hyperforce:

<table><colgroup><col> <col></colgroup><thead><tr><th>Proxy</th><th>Version</th></tr></thead><tbody><tr><td><p>HTTP and HTTPS proxy</p></td><td><p>2.1.0</p></td></tr><tr><td><p>REST Proxy</p></td><td><p>2.2.1 and 3.2.1</p></td></tr><tr><td><p>WSDL Proxy</p></td><td><p>2.2.1 and 3.1.1</p></td></tr></tbody></table>

### Mule Gateway Policies on Hyperforce

All Mule Gateway policies are supported on Hyperforce. See this table to find the first policy
definition and implementation versions that are supported on Hyperforce:

<table><colgroup><col> <col> <col></colgroup><thead><tr><th>Policy</th><th>Definition</th><th>Implementation</th></tr></thead><tbody><tr><td><p>Basic Authentication: LDAP</p></td><td><p>1.4.0</p></td><td><p>1.4.1</p></td></tr><tr><td><p>Basic Authentication: Simple</p></td><td><p>1.3.1</p></td><td><p>1.4.1</p></td></tr><tr><td><p>Client ID Enforcement</p></td><td><p>1.3.2</p></td><td><p>1.4.0</p></td></tr><tr><td><p>Cross-Origin Resource Sharing (CORS)</p></td><td><p>1.3.1</p></td><td><p>1.4.1</p></td></tr><tr><td><p>Header Injection</p></td><td><p>1.3.1</p></td><td><p>1.4.0</p></td></tr><tr><td><p>Header Removal</p></td><td><p>1.1.1</p></td><td><p>1.2.0</p></td></tr><tr><td><p>HTTP Caching</p></td><td><p>1.1.0</p></td><td><p>1.1.0</p></td></tr><tr><td><p>IP Allowlist</p></td><td><p>1.1.1</p></td><td><p>1.2.0</p></td></tr><tr><td><p>IP Blocklist</p></td><td><p>1.1.1</p></td><td><p>1.2.0</p></td></tr><tr><td><p>JSON Threat Protection</p></td><td><p>1.2.0</p></td><td><p>1.2.3</p></td></tr><tr><td><p>JWT Validation</p></td><td><p>1.4.0</p></td><td><p>1.4.1</p></td></tr><tr><td><p>Message Logging</p></td><td><p>2.0.1</p></td><td><p>2.1.1</p></td></tr><tr><td><p>OAuth 2.0 Access Token Enforcement Using Mule OAuth Provider</p></td><td><p>1.6.0</p></td><td><p>1.6.1</p></td></tr><tr><td><p>OpenAM OAuth 2.0 Token Enforcement</p></td><td><p>1.6.0</p></td><td><p>1.6.1</p></td></tr><tr><td><p>OpenID Connect OAuth 2.0 Access Token Enforcement</p></td><td><p>1.6.0</p></td><td><p>1.6.1</p></td></tr><tr><td><p>PingFederate OAuth 2.0 Token Enforcement</p></td><td><p>1.6.0</p></td><td><p>1.6.1</p></td></tr><tr><td><p>Rate Limiting</p></td><td><p>1.4.0</p></td><td><p>1.4.0</p></td></tr><tr><td><p>Rate Limiting: SLA-based</p></td><td><p>1.3.0</p></td><td><p>1.3.0</p></td></tr><tr><td><p>Spike Control</p></td><td><p>1.2.1</p></td><td><p>1.3.1</p></td></tr><tr><td><p>XML Threat Protection</p></td><td><p>1.2.0</p></td><td><p>1.2.0</p></td></tr></tbody></table>

## See Also

- [Reviewing Mule Gateway API Autodiscovery concepts](https://docs.mulesoft.com/mule-gateway/mule-gateway-autodiscovery-overview)
