Contact Us 1-800-596-4880

Adding a Mule Gateway API Instance

After you have created an API using Design Center or any other application, you can then manage that API in API Manager by adding an API instance. API instances remain under management until you delete them.

Use Mule Gateway if you have APIs on Mule Runtime that need an API gateway to manage, observe, and secure your APIs.

There are three options for adding an API instance:

  • Add a new API: Select this option to add a completely new instance of an API.

  • Promote API from environment: Select this option if you have an API instance in a different environment, for instance the sandbox environment, and you want to promote it to the current or production environment.

  • Import API from zip file: Select this option if you have exported an API instance from a different Anypoint Platform instance.

When you are promoting or importing an API instance, you do not have options to alter the configuration. However, when you add a new API instance, you need to the downstream and the upstream configuration settings.

The following diagram shows the relationship of the upstream and downstream configurations settings to your upstream service and the downstream consumer application. In this configuration, the downstream service is the service making API requests that are completed by the upstream service. These terms represent the direction of dependency, not the direction of information. A downstream service could make a POST request where it provides information to the upstream service. However, the downstream service is still dependent on the upstream service to complete the request.

The API instance is deployed on a gateway between the upstream and downstream configuration

Add a New API

  1. Navigate to Anypoint Platform > API Manager.

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

  3. Select Mule Gateway.

  4. Select the Proxy type from the following options:

    Connect to existing application (basic endpoint)

    Use this option to directly interact with a Mule runtime Engine (Mule) application when your application is configured with API gateway autodiscovery. See API Autodiscovery for more information.

    Select the Mule version.

    Deploy a proxy application

    Use this option to interact by proxy with an application, either because it is a Mule application not configured with API gateway autodiscovery or because it is not a Mule application. See Configure Proxies for your APIs for more information.

  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 and Private Spaces.

      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 Hybrid if you have a Mule runtime running on an on-premises server that you want to use. See Register a server in Runtime Manager for more information.

      If you are running an API with a self-managed server, use the classic API creation flows to manage your API.

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

      2. Enter a Proxy app name.

    • 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 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.

  6. 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.

      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.

    • Click Create new API:

      1. Enter a Name for the new API asset.

      2. Select the Asset type from the following options:

        • REST API: Select this option if you have a RAML or OAS API definition file you want to include for your asset.

          Upload either a RAML or OAS file for your REST API. Versions 2.0.0 and later are the recommended versions for OAS or RAML specs, because these versions add native OAS support. If you upload an OAS API specification to an API proxy version 1.0 or earlier, your API specification is translated to RAML.

        • HTTP API: Select this option if you do not have an API definition file you want to include for your asset.

        • SOAP API: Select this option if you have a WSDL API definition file or an external link to the file.

          Upload a WSDL file for your SOAP API or add the link to the file.
          This option is not available for Flex Gateway runtime at this time.

      3. 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.

      4. 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.

  7. Click Next.

  8. Configure the downstream configuration settings relevant to your proxy type:

    Connect to existing application (basic endpoint)
    Field Name Description Required Notes

    Instance label

    Specifies a label for the API.

    No

    If you have multiple managed instances of the same API, add a label to differentiate each instance from the others.

    Advanced Options

    Consumer endpoint

    Specifies a proxy application’s address for consumers to use for sending requests.

    No

    Client provider

    Specifies a client provider for the API.

    Yes

    Anypoint Platform acts as the client provider by default. To configure an external client provider, see Client Providers.

    Deploy a proxy application
    Field Name Description Required Notes

    Protocol

    Specifies whether to use HTTP or HTTPS for the validations.

    Yes

    If you select HTTPS, specify a TLS context for inbound traffic.

    Inbound TLS

    Specifies the TLS context to secure inbound traffic.

    No

    Only available on Mule 4+. If you can’t see a context, ensure that you have the correct permissions. To enable HTTPS in Mule 3 environment, see enable HTTPS in Mule 3x.

    Port

    Specifies the number to use if the displayed port is incorrect.

    Yes

    Base path

    Specifies the URL prefix for all API paths, relative to the host root. It must start with a leading slash /.

    Yes

    Instance label

    Specifies a label for the API.

    No

    If you have multiple managed instances of the same API, add a label to differentiate each instance from the others.

    Advanced Options

    Consumer endpoint

    Specifies a proxy application’s address for consumers to use for sending requests.

    No

    Client provider

    Specifies a client provider for the API.

    Yes

    Anypoint Platform acts as the client provider by default. To configure an external client provider, see Client Providers.

    Request timeout

    Specifies the duration after which a request times out.

    No

    Proxy Version

    Specifies the version of the proxy to use for the endpoint.

    No

    Service Name

    Name of your WSDL service.

    Yes

    Only avaliable for WSDL APIs.

    Service Port

    Port for your WSDL your service.

    Yes

    Only avaliable for WSDL APIs.

    Service Namespace

    Namespace of your WSDL service.

    Yes

    Only avaliable for WSDL APIs.

    Enable Console

    Specifies whether you can expose and test your API specification.

    No

    You can specify a different path in Console Path, for example, /spec/*. Only available if you have an attached API definition. Only available on Mule 3+.

    Validations

    Specifies whether to validate inbound requests against a provided specification.

    No

    Only available if you have an attached API definition. Only available on Mule 3+.

    Strict validations (optional)

    Specifies whether to validate inbound requests against query parameters.

    No

    Only available if you have an attached API definition. Only available on Mule 3+

    User Domain

    Specifies whether to use an API gateway domain.

    No

    If you chose Hybrid as the proxy deployment target previously in the configuration, ensure that you select this option. You must install the API gateway domain in Mule 3.8 and later.

  9. Click Next.

  10. Configure the upstream configuration settings relevant to your proxy type:

    Connect to existing application (basic endpoint)
    Field Name Description Required Notes

    Upstream URL

    The URL to access for the proxy or the API.

    No

    For example, you can use the URL of your API asset in Exchange.

    Deploy a proxy application
    Field Name Description Required Notes

    Upstream URL

    The URL to access for the proxy or the API.

    Yes

    For example, you can use the URL of your API asset in Exchange.

    Outbound TLS

    Specifies the TLS context to secure outbound traffic.

    No

    Only available on Mule 4+. If you can’t see a context, ensure that you have the correct permissions.

  11. Click Next.

  12. Review your selections and edit them if necessary.

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

Promote an API Instance from Another Environment

  1. Navigate to Anypoint Platform > API Manager.

  2. In API Administration, click Add API and select Promote API from environment.

  3. Select the Source Environment.

  4. Select the API by entering the name of the API into the search field.

  5. Select the API Version.

  6. Select the API instance label.

  7. Optionally, uncheck any of the Include in Promotion options you want to exclude.

  8. Click Promote.

  9. Review and update the Runtime & Endpoint Configuration details as needed and click Save.

Import API from Zip File

  1. Navigate to Anypoint Platform > API Manager.

  2. From API Administration, click Add API and select Import API from zip file.

  3. Click Choose file and select your API instance configuration zip file.

  4. Click Next.

  5. Review and update the API Configuration details as needed and click Save.

Notes

  • Although OpenAPI Specification (OAS) 3.0 is supported, the callback feature is not. To work around this issue, either handle the callback outside of the Mule runtime engine domain or use an OAS 3.0 specification that does not use callbacks.