---
schema_version: "1"
id: 2f244836d83a53a10f9ba9ac2ac5fecef1d2b3b03478ff87cc23897170deddc3
title: Build RAML or OAS API Proxies
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/api-manager/latest/proxy-deploy-raml-oas-proxy.md
canonical_url: https://docs.mulesoft.com/api-manager/latest/proxy-deploy-raml-oas-proxy
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 52753989ebcee72dedd5c5ab502223a6bb8525ee14b5d9a734b327c76b39f11b
description: MuleSoft Documentation Site
release: 2.x
latest: true
---
---
product: API Manager
version: 2.x
is-latest-version: true
---

# Build RAML or OAS API Proxies

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

API Manager 2.x enables you to use a RAML or OAS type of API Proxy, for all your Mule 4 based
proxies.

## Configuring your RAML or OAS API Proxy

Configure your RAML or OAS API proxy by completing the following steps:

1.  Navigate to **Anypoint Platform** > **API Manager**.

2.  In **API Administration**, click **Add API** and select **Add new API**.

3.  Select **Mule Gateway** as your runtime.

4.  Select **Deploy a proxy application** for **Proxy type**.

5.  If you selected to deploy a proxy application, select the **Target type** from the following
    options:

    - **CloudHub 2.0**: Select this option if you want to use the Mule runtime hosted by MuleSoft in
      a container-based cloud infrastructure. The CloudHub 2.0 proxy includes a CPU with 0.1 vCores
      by default.

      1.  Select a space.

          To learn more about spaces, see [Shared Spaces](https://docs.mulesoft.com/cloudhub-2/ch2-shared-space-about)
          and [Private Spaces](https://docs.mulesoft.com/cloudhub-2/ch2-private-space-about).

      2.  In **Runtime version**:

          1.  Select the **Runtime Channel**.

          2.  Select the **Version** for Mule runtime.

          3.  Select the **Java version**.

      3.  Enter a **Proxy app name**.

    - **CloudHub**: Select this option if you want to use the Mule runtime hosted on the cloud by
      MuleSoft. The CloudHub proxy includes a CPU with 0.1 vCores and a memory of 500 MB, by
      default.

      1.  In **Runtime version**:

          1.  Select the **Runtime Channel**.

          2.  Select the **Version** for Mule runtime.

          3.  Select the **Java version**.

      2.  Enter a **Proxy app name**.

    - **Hybrid:** Select this option if you want to use a Mule runtime instance running on an
      on-premises server that is registered in Runtime Manager.

      See [Register a server in Runtime Manager](https://docs.mulesoft.com/runtime-manager/servers-create) for more
      information.

      1.  Select a target from the list or click **Add server**.

      2.  Enter a **Proxy app name**.

    - **Self-managed Server:** Select this option if you want to create a JAR file to deploy an API
      proxy to a Mule runtime instance running on an on-premises server that is not registered in
      Runtime Manager. For more information, see
      [On-Premises Mule Runtime Deployment Model](https://docs.mulesoft.com/on-premises/latest/mule-deployment-model).

Deploying an API proxy to a self-managed server in API Manager doesn’t deploy the proxy to your
on-premises server. After you deploy the proxy in API Manager, deploy the proxy to your on-premises
server: . [Download your new API proxy JAR file](https://docs.mulesoft.com/api-manager/latest/download-proxy-task). .
[Deploy the JAR file to your on-premises server](https://docs.mulesoft.com/mule-runtime/latest/deploy-on-premises).

- **Runtime Fabric:** Select Runtime Fabric if you want to deploy API Proxies to a Mule runtime
  engine that is managed on Runtime Fabric. See
  [Deploying API Proxies to Runtime Fabric](https://docs.mulesoft.com/runtime-fabric/latest/proxy-deploy-runtime-fabric)
  for more information.

  1.  Select a target from the list.

  2.  In **Runtime version**:

      1.  Select the **Runtime Channel**.

      2.  Select the **Version** for Mule runtime.

      3.  Select the **Java version**.

  3.  Enter a **Proxy app name**.

      1.  Select an API from the following options:

- Click **Select API from Exchange** if you have an API shared with you through Exchange that you
  want to manage.

  1.  Click the API from the list under **Select API**. You can search for a specific API if needed.

  2.  Update the **Asset type**, **API version**, and **Asset version** if you are not using the
      latest version.

      For more information about versions in Exchange, see
      [Asset Versions](https://docs.mulesoft.com/exchange/asset-versions).

  3.  If you chose a **RAML/OAS** asset type, view the **Conformance Status** of the API to ensure
      the API is conformant. If the **Conformance Status** is nonconformant, after deployment, view
      the **Governance Report** to find and fix the conformance issues. For more information about
      the **Governance Report**, see [Governing API Instances](https://docs.mulesoft.com/api-manager/latest/govern-api-instances).

- Click **Create new API**:

  1.  Enter a **Name** for the new API asset.

  2.  Select **REST API** as the **Asset type**.

  3.  Upload either a RAML or OAS file for your REST API.

      > [!NOTE] Anypoint API Manager supports OpenAPI Specification (OAS) 3.0 and 3.1, with the
      > exception of the callback feature. To work around this issue, handle the callback outside of
      > the Mule runtime engine domain or use an OAS 3.0 or 3.1 specification that does not use
      > callbacks.

  4.  Update the **Asset type**, **API version**, and **Asset version** if you are not using the
      latest version.

      For more information about versions in Exchange, see
      [Asset Versions](https://docs.mulesoft.com/exchange/asset-versions).

  5.  View the **Conformance Status** of the API to ensure the API is conformant. If the
      **Conformance Status** is nonconformant, after deployment, view the **Governance Report** to
      find and fix the conformance issues. For more information about the **Governance Report**, see
      [Governing API Instances](https://docs.mulesoft.com/api-manager/latest/govern-api-instances)

      1.  Click **Next**.

      2.  Configure the downstream configuration settings:

          Expand for configuration settings.

          <table><colgroup><col> <col> <col> <col></colgroup><thead><tr><th>Field Name</th><th>Description</th><th>Required</th><th>Notes</th></tr></thead><tbody><tr><td><p><strong>Protocol</strong></p></td><td><p>Specifies whether to use HTTP or HTTPS for the validations.</p></td><td><p>Yes</p></td><td><p>If you select HTTPS, specify a TLS context for inbound traffic.</p></td></tr><tr><td><p><strong>Inbound TLS</strong></p></td><td><p>Specifies the TLS context to secure inbound traffic.</p></td><td><p>No</p></td><td><p>If you can’t see a context, ensure that you have the correct permissions.</p></td></tr><tr><td><p><strong>Port</strong></p></td><td><p>Specifies the number to use if the displayed port is incorrect.</p></td><td><p>Yes</p></td><td></td></tr><tr><td><p><strong>Base path</strong></p></td><td><p>Specifies the URL prefix for all API paths, relative to the host root. It must start and end with a leading slash <code>/</code>. If the final slash isn’t provided, the system adds it automatically.</p></td><td><p>Yes</p></td><td></td></tr><tr><td><p><strong>Instance label</strong></p></td><td><p>Specifies a label for the API.</p></td><td><p>No</p></td><td><p>If you have multiple managed instances of the same API, add a label to differentiate each instance from the others.</p></td></tr><tr><td><p><strong>Advanced Options</strong></p></td><td></td><td></td><td></td></tr><tr><td><p><strong>Consumer endpoint</strong></p></td><td><p>Specifies a proxy application’s address for consumers to use for sending requests.</p></td><td><p>No</p></td><td></td></tr><tr><td><p><strong>Client provider</strong></p></td><td><p>Specifies a client provider for the API.</p></td><td><p>Yes</p></td><td><p>Anypoint Platform acts as the client provider by default. To configure an external client provider, see <a href="https://docs.mulesoft.com/access-management/managing-api-clients">Client Providers</a>.</p></td></tr><tr><td><p><strong>Request timeout</strong></p></td><td><p>Specifies the duration after which a request times out.</p></td><td><p>No</p></td><td></td></tr><tr><td><p><strong>Proxy Version</strong></p></td><td><p>Specifies the version of the proxy to use for the endpoint.</p></td><td><p>No</p></td><td></td></tr><tr><td><p><strong>Service Name</strong></p></td><td><p>Name of your WSDL service.</p></td><td><p>Yes</p></td><td><p>Only avaliable for WSDL APIs.</p></td></tr><tr><td><p><strong>Service Port</strong></p></td><td><p>Port for your WSDL your service.</p></td><td><p>Yes</p></td><td><p>Only avaliable for WSDL APIs.</p></td></tr><tr><td><p><strong>Service Namespace</strong></p></td><td><p>Namespace of your WSDL service.</p></td><td><p>Yes</p></td><td><p>Only avaliable for WSDL APIs.</p></td></tr><tr><td><p><strong>Enable Console</strong></p></td><td><p>Specifies whether you can expose and test your API specification.</p></td><td><p>No</p></td><td><p>You can specify a different path in <strong>Console Path</strong>, for example, <code>/spec/*</code>. Only available if you have an attached API definition.</p></td></tr><tr><td><p><strong>Validations</strong></p></td><td><p>Specifies whether to validate inbound requests against a provided specification.</p></td><td><p>No</p></td><td><p>Only available if you have an attached API definition.</p></td></tr><tr><td><p><strong>Strict validations (optional)</strong></p></td><td><p>Specifies whether to validate inbound requests against query parameters.</p></td><td><p>No</p></td><td><p>Only available if you have an attached API definition.</p></td></tr><tr><td><p><strong>User Domain</strong></p></td><td><p>Specifies whether to use an API gateway domain.</p></td><td><p>No</p></td><td><p>If you chose <strong>Hybrid</strong> as the proxy deployment target previously in the configuration, ensure that you select this option.</p></td></tr></tbody></table>

      3.  Click **Next**.

      4.  Configure the upstream configuration settings:

          Expand for configuration settings.

          <table><colgroup><col> <col> <col> <col></colgroup><thead><tr><th>Field Name</th><th>Description</th><th>Required</th><th>Notes</th></tr></thead><tbody><tr><td><p><strong>Upstream URL</strong></p></td><td><p>The URL to access for the proxy or the API.</p></td><td><p>Yes</p></td><td><p>For example, you can use the URL of your API asset in Exchange.</p></td></tr><tr><td><p><strong>Outbound TLS</strong></p></td><td><p>Specifies the TLS context to secure outbound traffic.</p></td><td><p>No</p></td><td><p>If you can’t see a context, ensure that you have the correct permissions.</p></td></tr></tbody></table>

      5.  Click **Next**.

      6.  Review your selections and edit them if necessary.

      7.  If you are ready to deploy, click **Save & Deploy**. Otherwise, you can select **Save**,
          to save the instance and deploy it at a later time.

## See Also

- [Reviewing API Proxy Benefits and Impacts](https://docs.mulesoft.com/api-manager/latest/proxy-advantages)

- [Build an HTTPS Service](https://docs.mulesoft.com/mule-runtime/latest/build-an-https-service)

- [Deploying an API Proxy](https://docs.mulesoft.com/api-manager/latest/proxy-latest-concept)
