# mulesoft API Visualizer - Full Documentation
---
product: API Visualizer
---
# Anypoint Visualizer Release Notes
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
Anypoint Visualizer provides an interactive, graphical representation of your application network.
The following pages contain new features and enhancements, known limitations, issues, and fixes for
Anypoint Visualizer.
- [Anypoint Visualizer Release Notes - 2022 and Later](https://docs.mulesoft.com/release-notes/visualizer/anypoint-visualizer-release-notes-2022)
- [Anypoint Visualizer Release Notes - 2020](https://docs.mulesoft.com/release-notes/visualizer/anypoint-visualizer-release-notes-2020)
- [Anypoint Visualizer Release Notes - 2019](https://docs.mulesoft.com/release-notes/visualizer/anypoint-visualizer-release-notes-2019)
- [Anypoint Visualizer Release Notes - 2018](https://docs.mulesoft.com/release-notes/visualizer/anypoint-visualizer-release-notes-2018)
See [Anypoint Visualizer](https://docs.mulesoft.com/visualizer/) documentation for more information.
## See Also
- [Known Issues](https://help.salesforce.com/s/issues)
---
product: API Visualizer
---
# API Visualizer Architecture Visualization
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
The Architecture visualization shows the topology of your application network. Use it to document
and share your network structure without exposing metrics. You can change display names, add tags,
and assign nodes to layers directly in the canvas.
## Access API Visualizer
1. Sign in to Anypoint Platform using an account that has the Visualizer Editor permission.
2. Select **API Visualizer** from **Management Center**.
## View Information About One Service in Your Network
When you select a node within the canvas, the node and its dependency stack are highlighted and all
unconnected nodes are unavailable. API Visualizer displays information about the node in a card.
This card is divided into the following tabs:
- **Details** Provides information about the node.
- **Customization** Provides information about the layer to which the node is assigned and the tags
assigned to the node. You can [edit the node’s display name](https://docs.mulesoft.com/visualizer/customize-your-canvas#display-name)
or [change the layer](https://docs.mulesoft.com/visualizer/layers#set-a-layer-ui) and [tags](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer#set-tag-ui) from
this section.
## Filter Your View
When you select a node (service) that has dependents and dependencies, you have the option to also
select all nodes related to the service you selected. If the node you select does not have
dependents and dependencies, this option is not offered.
You can hide nodes through what you select in the canvas:
- To hide a single node, select it, and then click **Hide selected service**.
- To hide multiple nodes, multiselect them, and then click **Hide selected services**.
- To hide all of the services other than the selected nodes, click **Hide other services**. If you
want to hide everything that is not related to a given dependency stack, select a node and then
click **Select dependents and dependencies**, which selects all nodes related to the service which
you selected. Then, click **Hide other services**.
You can search for a node (service) in the **Search services** text field. Services containing your
search in any part of their name are highlighted, while others fade.
## Export Your Network View
You can export the view of your network showing on your canvas to a PNG file by clicking the
**Export as Image** button next to the zoom controls in the bottom right.
If you customized your view, the customized network topology is exported.
## See More
- [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view)
- [Using Tags in API Visualizer](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer)
- [Using Layers in API Visualizer](https://docs.mulesoft.com/visualizer/layers)
---
product: API Visualizer
---
# API Visualizer Overview
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
API Visualizer (formerly Anypoint Visualizer) gives you a real-time, graphical view of your entire
application network, including APIs, Mule applications, and the third-party systems they invoke. The
graph updates automatically and requires no prior configuration. Use it to explore dependencies,
assess architecture, troubleshoot performance issues, and verify that APIs comply with your
organization’s policies.
This image shows a typical application network in API Visualizer.

The connections between nodes are based on traffic between applications or APIs that occurred in the
last seven days. If an application appears in multiple workers, the application appears as two
distinct nodes in the graph.
API Visualizer collects data from Mule applications, APIs, and proxies deployed to CloudHub; from
standalone Mule runtime engines (Mule instances); or from Runtime Fabric, to discover all incoming
and outgoing connections through an embedded plugin. As long as the application, API, or proxy is
running on a supported Mule instance, it’s discovered along with any associated dependencies. See
[How API Visualizer Collects Application Data](https://docs.mulesoft.com/visualizer/manage-performance) for more information about how
API Visualizer collects data displayed in the graph.
Understanding these dependencies helps you make better decisions, especially when you overlay data
about these apps onto the network diagram. The visualizations tailored for Architecture,
Troubleshooting, and Policies help you understand this data in the context of your application
network. From API Visualizer, you can inspect performance metrics or policy information, define
views, arrange applications in layers, and customize the labels displayed for nodes and connections.
For more information, see [Customize the Canvas](https://docs.mulesoft.com/visualizer/customize-your-canvas).
## Use Cases
API Visualizer supports several common use cases.
- Discussing the Current Design State
Enterprise architect Kara developed a plan for how the architecture she’s responsible for will
accommodate a new product. She needs to capture its current state so she can plan the transition
and get buy-in from stakeholders on her proposal. She uses the Architecture visualization to
assess the structure of her network and export a diagram to share with her audience.
- Implementing API-Led Connectivity
Site reliability engineer Tom is tired of maintaining several separate connections to Salesforce.
He wants to identify redundant point-to-point connections so he can come up with requirements for
a new process API. Tom views the network topology using the Architecture visualization to see if
there are redundant connections.
- Exploring the Application Network
API Visualizer provides a real-time view of the application network. Architects and product owners
can see how the application network evolves, explore the application network to discover and plan
how to unlock data, and break down siloed systems, all while knowing that the visualization is
always up-to-date. They can use the Architecture visualization to plan how to connect systems more
efficiently.
- Defining API-Led Connectivity Classifications
API Visualizer enables you to assign the nodes of the graph to layers. Layers help you quickly
determine if the APIs are correctly categorized, and if the architectural principles of API-led
connectivity are being followed. The Architecture visualization enables you to organize the nodes
efficiently so that API-led connectivity is easy to interpret.
- Accelerating Time-to-Production
Architect Kara sees how projects are built from the development environment, throughout testing,
staging, and production phases. Kara reviews the architecture as the code is deployed and raises
any concerns to make sure that best practices and agreed-upon architecture are followed without
waiting for the documentation to be generated. Using the Architecture visualization, Kara monitors
the deployment and organization of assets in real time. Using the Policy visualization, she makes
sure all APIs are compliant with InfoSec rules before promoting a project to production.
- Resolving Production Issues Faster
API Visualizer enables you to understand the behavior of all your APIs and their dependencies in a
single view, which reduces the time needed to pinpoint the root cause of an error or understand
the performance impact of a particular API on your clients. The Troubleshooting visualization
provides insight into performance issues, enabling you to identify errors and quickly navigate to
information provided by Anypoint Monitoring.
- Ensuring Policy Compliance
Lead API Architect Ayesha needs to understand which APIs comply or don’t comply with policies
mandated by InfoSec. With the Policy visualization, she selects a set of policies, sees which APIs
have none, one, or all of these policies applied, and verifies adherence to company standards
before promoting an API or project to production.
## API Visualizer Features by Control Plane
API Visualizer feature availability depends on the control plane of your Anypoint Platform instance.
Data isn’t shared across separate instances.
All API Visualizer features are available on [US Cloud](https://anypoint.mulesoft.com/),
[EU Cloud](https://eu1.anypoint.mulesoft.com/), Government Cloud, and Private Cloud (3.x).
This table shows feature availability for Hyperforce clouds.
| API Visualizer Feature | Americas | Europe | Asia Pacific |
|---|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
For more information about MuleSoft Government Cloud and Anypoint Platform Private Cloud Edition
(Anypoint Platform PCE), see
[Control Plane Hosting Options](https://docs.mulesoft.com/hosting-home/#control-plane-hosting-options).
### See Also
- [Set up API Visualizer](https://docs.mulesoft.com/visualizer/setup)
- [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view)
---
product: API Visualizer
---
# CloudHub Setup in API Visualizer
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
API Visualizer only includes activity from applications deployed to a supported version of Mule
runtime engine (Mule). When deploying a Mule app or API, make sure that you are using a supported
version of Mule as the deployment target.
> [!NOTE] If your version of Mule was released before June 30th 2018, to ensure you have the correct
> API Visualizer agent, upgrade your version of Mule to any of the supported versions listed in this
> section. You can do this update with zero downtime for CloudHub applications, APIs, and proxies.
> These versions are listed in Runtime Manager > Runtime Version. Expand the Show old patch releases
> section in the runtime versions drop-down.
## Verify Supported Mule Runtime Engine (Mule) Versions for Metrics
The metrics that API Visualizer displays come from Anypoint Monitoring. As a result, metrics are
shown in API Visualizer only for applications running on Mule versions that are also supported for
Anypoint Monitoring.
To see your app, its connections, and the related metrics in API Visualizer, enable the Anypoint
Monitoring agent after you upgrade.
> [!NOTE] If you currently have Anypoint Monitoring enabled for applications running on 4.x-AM,
> app-level monitoring continues to work for those apps. However, metrics at the connection level do
> not appear. Update your applications to run on non-AM Mule versions for better functionality and
> the latest patch updates as soon as they are available.
## Enable the Monitoring Agent
For your app to appear in API Visualizer and for metrics to be displayed, manually enable the
Anypoint Monitoring agent for the following Mule versions:
- Mule Version 4.1 patch releases available after March 22, 2019
- Mule Version 4.2
To enable the Anypoint Monitoring agent:
1. Log in to Anypoint Platform using an account that has the Anypoint Monitoring User permission.
2. In the navigation bar or the main Anypoint Platform screen, click **Monitoring**.
3. In the Anypoint Monitoring navigation menu, click **Settings**.
4. Select **CloudHub**.
5. From the **Environment** drop-down list, choose an environment.
6. In **List of resources in **, search for an app to visualize.
7. Next to the app, click **Enable & Apply** to enable visualization and monitoring for the app.
For more information about Anypoint Monitoring, see
[Enable Monitoring Using the UI](https://docs.mulesoft.com/monitoring/configure-monitoring-cloudhub).
## Verify Supported Mule Versions for Policies
The APIs and policies that API Visualizer displays in the Policy visualization come from an update
to the agent in Mule runtime engine (Mule). As a result, API Visualizer shows policies only for apps
running on supported Mule versions released on December 12, 2019 or later.
## Manage Performance and Data Collection
The agent that API Visualizer uses to collect metadata sometimes has a performance impact.
For more information about data collection and performance, see
[Manage Performance and Data Collection](https://docs.mulesoft.com/visualizer/manage-performance).
---
product: API Visualizer
---
# Customize the API Visualizer Canvas
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
You can choose what appears in your API Visualizer canvas by applying filters for environments,
tags, and services. This enables you to hide the nodes that you do not want to see in the
application graph. Filters have a cascading design, so all nodes that don’t belong to the checked
environments or tags are automatically hidden from the list of services.
You can toggle **Show dependents and dependencies** to see the services and dependencies of the
nodes and services which have the selected tags. The **View** card and the canvas are updated to
display the current selection.
Users who have the Visualizer Editor permission can save defined views so that any API Visualizer
user can access them. When you close API Visualizer and reload the canvas later, the views you last
accessed are displayed.
You can customize layers, tags, and display names in the Architecture visualization UI or by setting
a runtime property. If you are using a Mule runtime patch that was released after December 12, 2019,
you can use all unicode characters with UTF-8 encoding (such as international letters, symbols, and
numbers).
> [!NOTE] You can’t customize layers, tags, and display names using the runtime properties in
> Runtime Manager Canada and Japan control plane deployments.
## Layers
You can use one of the default layers provided by API Visualizer, or add a custom layer to create a
visual representation of the apps in your network. You can use layers across API Visualizer, but
note that you can only define layers in the
[API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization).
To automate the classification of nodes into layers, configure the property
`anypoint.platform.visualizer.layer=`.
For more information, see [Using Layers in API Visualizer](https://docs.mulesoft.com/visualizer/layers).
## Tags
You can add tags to API, application, proxy, or other services, so you can use the tags as filters
to adjust your view. You can use tags across API Visualizer, but note that you can only define tags
in the [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization).
To automate adding tags to a node, use the property
`anypoint.platform.visualizer.tags=, `.
For more information, see [Using Tags in API Visualizer](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer).
## Display Name
You can edit the display name of a service to provide a more readable, explanatory title. You can
use display names across API Visualizer, but note that you can define display names only in the
[API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization).
To automate adding a display name to the node, configure the property
`anypoint.platform.visualizer.displayName=`.
---
product: API Visualizer
---
# Defining a View in API Visualizer
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
Users with the **Visualizer Editor** permission can create auto-discoverable views that provide a
single source of truth and are accessible to their team members across environments.
Views display your saved filter selection, including:
- Selected environments
- Selected tags
- Selected nodes in the list of services
- New services deployed that match the selected environments and tags
- If the **Show dependents and dependencies** option is selected and the a service is deployed and
related to a selected service
Views that you have access to appear in a list in the **View** card (click the drop-down arrow to
see the list). This gives you easy access to all the views that are available to you, and saves you
time because no readjusting of filters is needed every time you access API Visualizer to get the
view that is relevant to you.
## Defined Views
If you have the Visualizer Editor permission, you can create views that provide a consistent and
high-quality source of truth for the architecture of each of your organization’s projects. Any API
Visualizer user who has permission for the included environments can see these auto-discoverable
views in a drop-down list in the **View** card. Only editors can create, rename, and edit defined
views.
These views provide team members with a topological view of the apps that are specific to the areas
they are responsible for. Providing a dynamic view for team members ensures their ability to
troubleshoot their projects more quickly and easily, and promotes architectural consistency.
## Create a Defined View
Only users with the Visualizer Editor permission can create defined views.
1. In the top navigation bar, on the right of the view name, click the drop-down arrow.
2. Click **+New**.
3. In the **New view** dialog, enter a **Name** for the view, and click **Save**.
4. Configure the view by selecting which environments, [tags](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer), and services
to include.
5. Hide the nodes which you have selected in the canvas using the **Hide selected services**
option.
6. Hide the services other than the nodes which you have selected using the **Hide other services**
option.
7. Click **Save**.
You can also create a new view by selecting **Save as** from the drop-down menu to save your current
filter selection updates as a new view and preserve the original view.
> [!NOTE] When you save a view, it saves both your **Production** and **Sandbox** configurations.
Once you save the view, it becomes accessible to other users, meaning that any user who has access
to the apps in the environment sees the view in their list of views.
## Edit a View
Users can make changes to their private view’s filters, and save them. However, only users with the
Visualizer Editor permission can edit defined views.
1. Make the changes to the current filters.
An asterisk appears next to the view name until you click **Save** in the **View** card.
2. Click **Save**.
3. (Visualizer editor only) Click **Save as** to save your updates as a new view and preserve the
original view.

## Rename a View
Users can rename their private view, but only users with Visualizer Editor permission can rename
defined views.
1. Click the drop-down arrow next to **Save**, and click **Rename**.

2. In the **Rename view** dialog, enter a new **Name**, and click **Save**.
## Share a View
Sharing a defined view is automatic in the sense that when a new view is created and saved, it is
visible in the view list of users who have access to the environment and apps in the view.
You can also click **Copy Sharing URL** from the drop-down arrow next to **Save** and send it to the
user with whom you want to share the view.

## Delete a View
Only users with the Visualizer Editor permission can delete views.
1. Click the drop-down arrow next to **Save**, and select **Delete**.
2. Click **Delete** again.
## Private View
When you access API Visualizer for the first time, your private view is displayed. Each subsequent
time you access API Visualizer, you are returned to the view you last accessed. Your private view
includes defined views, providing a complete picture of the projects to which you have access. In
your private view, you can:
- Edit and save which apps are included in your private view
- Rename your private view
- Discard changes you made to your private view
- Export your private view as a PNG file
You can’t delete a private view.
---
product: API Visualizer
---
# Managing Performance and Data Collection
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
API Visualizer collects runtime information from running applications, APIs, and proxies to detect
all of its dependencies. The information collected includes IP address and URL (without parameters)
of the incoming request, as well as URL (without parameters), and some header values of outgoing
requests. This information is encrypted and stored in a database.
| Metadata | Description |
|---|
node_info | General information about the node. |
org_id | The organization where the node is deployed. |
ip | The IP address of the node. |
type | Specifies whether the node is an API or Mule application. |
deployment_id | An internal ID that specifies the hash of the application or API. |
app_name | The name of the application. |
url | The fully qualified domain of the application. |
The agent that API Visualizer uses to collect metadata may have a performance impact.
## Reduce Potential Performance Impact for CloudHub
To reduce any potential performance impact for an application running in CloudHub, you can disable
data collection and the Anypoint Monitoring agent.
### Disable Data Collection in CloudHub
If you’re using this Mule version, you can disable data collection by setting an application
property:
- Mule Version 4 Released Before March 22, 2019
1. Set the application property `anypoint.platform.config.visualizer.agent.enabled=false`.
2. Redeploy the application.
### Disable the Anypoint Monitoring agent in CloudHub
If you’re using this Mule version, you can disable the Anypoint Monitoring agent:
- Mule Version 4 Released on March 22, 2019 or Later
1. Log in to Anypoint Platform using an account that has the Anypoint Monitoring User permission.
2. In the navigation bar or the main Anypoint Platform screen, click **API Visualizer**.
3. Click **Settings**.
4. Select **CloudHub**.
5. From the **Environment** drop-down list, choose an environment.
6. In **List of resources in **, search for an application whose metrics you
want to see.
7. Next to application, click **Disable & Apply** to disable monitoring for the application.
## Reduce Potential Performance Impact for Standalone Mule
API Visualizer requires an additional header injection to work for standalone Mule deployments.
To disable the additional header injection, set the following property:
anypoint.platform.config.analytics.agent.header\_injection.disabled=true
Additionally, to reduce potential performance impact for applications running in a standalone
instance of Mule, you can do one of the following:
- Deploy the application to a server without the Anypoint Monitoring agent installed.
- Disable data collection for a specific server. To disable data collection for a server and all the
applications deployed to that server, set the following property at the server level (not the
application level):
anypoint.platform.config.analytics.agent.disabled=true
> [!NOTE] This disables monitoring for applications on the server as well.
## Reduce Potential Performance Impact for Runtime Fabric
API Visualizer requires an additional header injection to work for Runtime Fabric deployments.
To disable the additional header injection, set the following property:
anypoint.platform.config.analytics.agent.header\_injection.disabled=true
---
product: API Visualizer
---
# Runtime Fabric Setup
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
Follow the instructions for
[setting up Runtime Fabric](https://docs.mulesoft.com/runtime-fabric/latest/setting-up-runtime-fabric). After you install
Runtime Fabric, API Visualizer can display applications that are running and deployed to Runtime
Fabric.
API Visualizer relies on a header injection to display connections between services correctly.
## Enable Header Injection
API Visualizer requires an additional header injection for Anypoint Runtime Fabric deployments.
However, due to potential performance impact, header injection is disabled by default in Mule
version 4.x released before April 7, 2020. For Runtime Fabric, enable the header injection at the
app level:
1. Navigate to the **Properties** tab and take one of the following actions:
- If you have already deployed apps to Runtime Fabric:
1. Click **Applications** in the menu on the left of Runtime Manager.
2. Select the app for which to enable the header injection, and click **Manage Application**.
- If you are deploying an app for the first time, navigate to the deployment page and click
**Deploy application**.
2. In the **Properties** tab, set the following property in the app:
`anypoint.platform.config.analytics.agent.header_injection.disabled=false`
Additionally, use version 1.5.12 or later of the HTTP Connector in your Mule 4 applications.
## Verify Supported Mule Runtime Engine (Mule) Versions for Policies
The APIs and policies that API Visualizer displays in the Policy visualization come from an update
to the agent in Mule runtime engine (Mule). As a result, API Visualizer shows policies only for apps
running on supported Mule versions released on December 12, 2019 or later.
## Known Limitations
- If a Mule 4 CloudHub app calls a Runtime Fabric ingress endpoint, there will be and extra edge
from the CloudHub app to a node with the IP address for the controller. You can use your filters
within API Visualizer to hide this node.
- If a Runtime Fabric Mule app calls a Mule 4 CloudHub Mule app using its DNS, the correct
connection is drawn, but there will be an additional edge from the External Traffic node to the
CloudHub app.
- If you have an app in two different clusters with the same name, these applications are drawn as
one node on the canvas. Rename one app.
- In the Troubleshooting visualization, **View Logs** and **View Dashboard** links are not currently
supported.
## Manage Performance and Data Collection
The agent that API Visualizer uses to collect metadata sometimes has a performance impact.
For more information about data collection and performance, see
[Managing Performance and Data Collection](https://docs.mulesoft.com/visualizer/manage-performance).
---
product: API Visualizer
---
# Set up API Visualizer
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
Configure the roles and permissions required to use API Visualizer and understand what to consider
when deploying applications.
## Configure Permissions
To view content in API Visualizer, be assigned a role that has one of the following permissions:
- **Runtime Manager > Read Applications** Enables a user to view the graph of an app network, but
does not allow them to make changes.
- **API Manager > View Policies or Manage Policies** Enables a user to view the APIs linked to their
Mule applications and the policies applied to those APIs. Only relevant for the Policy
Visualization.
- **Visualizer > Visualizer Editor** Enables a user to manage and customize certain aspects of the
visualization of an application network. You can create a
[custom role](https://docs.mulesoft.com/access-management/roles#custom-roles) and assign the Visualizer Editor permission
to it.
> [!NOTE] The **Visualizer Editor** permission can be assigned only within the root organization.
## Select a Deployment Type
API Visualizer supports the following deployment types:
- [CloudHub](https://docs.mulesoft.com/visualizer/cloudhub-setup)
- [Standalone Mule](https://docs.mulesoft.com/visualizer/standalone-mule-setup)
- [Runtime Fabric](https://docs.mulesoft.com/visualizer/runtime-fabric-setup)
The set up process and supported Mule runtimes differ depending on deployment type. Further details
are included in each section.
## Deploy an App
When you deploy an app you want to view in API Visualizer, make sure that you select a supported
version of Mule as the deployment target. See [Runtime Manager](https://docs.mulesoft.com/runtime-manager/) for more
information.
After redeploying an app, all metadata collected by API Visualizer is removed for that app. The
number of inbound connections for the app node is reset.
## Verify Supported Connectors
API Visualizer can monitor activity for outbound connections for these connectors:
- Salesforce
- HTTP/HTTPS
- Database
- Mule 4 Extension Connectors
### Manage Performance and Data Collection
The agent that API Visualizer uses to collect metadata sometimes has a performance impact.
For more information about data collection and performance, see
[Managing Performance and Data Collection](https://docs.mulesoft.com/visualizer/manage-performance).
---
product: API Visualizer
---
# Standalone Mule Setup
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
Set up API Visualizer for standalone Mule by installing the Anypoint Monitoring agent, ensuring
supported Mule versions, and enabling header injection so connections render correctly. Configure
server properties as required, use the correct HTTP Connector version, and review performance
guidance for data collection to balance visibility and overhead.
## Install Agent
To support API Visualizer for standalone Mule deployments, install the
[Anypoint Monitoring agent](https://docs.mulesoft.com/monitoring/am-installing).
> [!NOTE] The APIs and policies that API Visualizer displays in the Policy visualization come from
> an update to the agent. As a result, policies are shown in API Visualizer only if your deployments
> use an agent from December 19, 2019 or later.
## Enable Header Injection
API Visualizer requires header injection for standalone Mule deployments so that the deployments
display the correct connections. However, due to a potential performance impact, header injection is
disabled by default for Mule version 4.x with Anypoint Monitoring Agent released before April
6, 2020. Enable header injection at the server (not app) level. This affects all applications
running on the server.
1. To enable header injection for apps deployed to a standalone Mule instance, click **Server** in
the menu on the left of **Runtime Manager**.
2. Select the server for which to enable header injection and click **Manage Server**.
3. Click the Properties tab and set the following property in the server:
`anypoint.platform.config.analytics.agent.header_injection.disabled=false` Set the property to
`false`, as shown in the example to enable header injection, because the property is disabled by
default.
Additionally, use version 1.5.12 or later of the HTTP Connector in your Mule 4 applications.
### Manage Performance and Data Collection
The agent that API Visualizer uses to collect metadata sometimes has a performance impact.
For more information about data collection and performance, see
[Managing Performance and Data Collection](https://docs.mulesoft.com/visualizer/manage-performance).
---
product: API Visualizer
---
# Supported Connection-Level Metrics in API Visualizer
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
Connection-level metrics, or _edge metrics_, are available for many of your connections in the API
Visualizer canvas. Depending on your deployment type (CloudHub, standalone Mule, or Runtime Fabric),
some inbound or outbound metrics do not appear at the connection level. You can use this guide to
determine why metrics are absent from your canvas.
Metric is Not Available
Connections appear if there has been traffic between those services in the past 7 days. If there was
no traffic for a particular edge in the time range selected on the **Metric** card, however, metrics
will not appear on that edge. This message might appear in the card:
`Inbound/Outbound metrics are not available for this connection. Learn more.`
> [!NOTE] You may also see the same message if you are using a dedicated load balancer. See below.
Metric is Not Applicable
If support for a type of metric on a connection level is listed as _not applicable_, API Visualizer
does not have access to the data associated with this connection type. For example, you have
selected inbound average response time and have a Mule app calling Salesforce. This metric refers to
the average time that Salesforce took to respond to the inbound call. This is not data that API
Visualizer currently registers. In this case, the following message appears:
`Inbound/Outbound metrics are not applicable for this type of connection.`
## CloudHub
The following connection types and directions support or do not support connection-level metrics,
depending on the specified requirements and restrictions.
| Connection Type | Supported | Requirements and Restrictions |
|---|
Inbound Metrics |
Client App Group to a Mule App | Yes | None |
External Traffic to a Mule App | Yes | None |
Mule App to a Mule App | Yes | If there has not been traffic in the selected time range, the following message appears: Inbound metrics are not available for this connection. Learn more. |
Mule App to a Non-Mule Node | Not applicable | None |
Outbound Metrics |
Client App Group to a Mule App | Not applicable | None |
External Traffic to a Mule App | Not applicable | None |
Mule App to a Mule App | Yes | Outbound metrics are not available for this connection. Update the runtime version of the destination Mule app.
Outbound metrics are not available for this connection. Learn more.
|
Mule App to a Non-Mule Node | Yes | None |
## Standalone Mule
The following connection types and directions support or do not support connection-level metrics,
depending on the specified requirements and restrictions.
| Connection Type | Supported | Requirements and Restrictions |
|---|
Inbound Metrics |
Client App Group to a Mule App | Yes | None |
External Traffic to a Mule App | Yes | If there is a connection from external traffic to a Mule app and also a connection from a Mule app using Mule 4.x to the same app, then the Mule-app-to-Mule-app edge metric does not appear; rather, it is averaged into the value shown on the edge from external traffic. |
Mule App to a Mule App | Yes | If there has not been traffic in the selected time range, the following message appears: Inbound metrics are not available for this connection. Learn more. |
Mule App to a Non-Mule Node | Not applicable | None |
Outbound Metrics |
Client App Group to a Mule App | Not applicable | None |
External Traffic to a Mule App | Not applicable | None |
Mule App to a Mule App | Yes | If the dedicated load balancer (DLB) modifies the URL, then metrics are not available for any of the connections passing through the DLB and the following message appears: Outbound metrics are not available for this connection. Learn more.
This message also appears if there has not been traffic in the selected time range. |
Mule App to a Non-Mule Node | Yes | None |
## Runtime Fabric
The following connection types and directions support or do not support connection-level metrics,
depending on the specified requirements and restrictions.
| Connection Type | Supported | Requirements and Restrictions |
|---|
Inbound Metrics |
Client App Group to a Mule App | Yes | None |
External Traffic to a Mule App | Yes | None |
Mule App to a Mule App | Yes | If there has not been traffic in the selected time range, the following message appears: Inbound metrics are not available for this connection. Learn more. |
Mule App to a Non-Mule Node | Not applicable | None |
Outbound Metrics |
Client App Group to a Mule App | Not applicable | None |
External Traffic to a Mule App | Not applicable | None |
Mule App to a Mule App | Yes | If the dedicated load balancer (DLB) modifies the URL, then metrics are not available for any of the connections passing through the DLB and the following message appears: Outbound metrics are not available for this connection. Learn more.
This message also appears if there has not been traffic in the selected time range. |
Mule App to a Non-Mule Node | Yes | None |
---
product: API Visualizer
---
# Troubleshooting API Visualizer
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
If you encounter an error or an issue while using API Visualizer, you can try these solutions.
## Why are no applications loading?
| Error Message | Cause | Solution |
|---|
You don’t have access to any ${environment_type} environments. You can request access from your org admin.
| Either the organization or business group does not have the specified environment configured, or you do not have the necessary permissions. | Learn more about role permissions or request the CloudHub Network Viewer permission in Anypoint Runtime Manager from your org administrator. |
There are no services to show in the selected environments. Update the applications' runtime versions so they can appear in API Visualizer.
| API Visualizer currently supports only applications deployed to CloudHub and standalone Mule runtime engines (Mule) with specific runtimes. | If you know that you have applications deployed in a supported environment, but are not seeing them in the API Visualizer canvas, update your applications to use the supported Mule version. View a list of supported Mule runtime engines. |
Apps aren’t appearing (and you aren’t getting a specific error message). | API Visualizer only supports specific Mule versions (runtimes). | If you are not seeing some of your applications in the API Visualizer canvas or in the services list, check your filters. If the filters are not the issue, update your applications to use a different supported Mule version for the applications to appear on the canvas. If you have upgraded to a version of Mule 4 that was released after March 22, 2019, enable monitoring before the applications and metrics can appear. |
## Why can’t I see metrics for my applications?
| Error Message | Cause | Solution |
|---|
You cannot view metrics because you do not have Anypoint Monitoring for this account. Learn more
| While all users have access at no additional cost to API Visualizer and Anypoint Monitoring, your account is first enabled. | File a support ticket or contact your Customer Success representative and ask for your account to be enabled. |
Metrics aren’t available for this app. Update the runtime version.
| The application is not using a Mule version that supports Anypoint Monitoring metrics. | For CloudHub applications, use an -AM Mule to support Anypoint Monitoring, or upgrade to a Mule 4 version available after March 22, 2019, and then enable the Monitoring agent. View a list of supported Mule versions. |
## Why can’t I see metrics for my connections?
Metrics at the connection level are only available for certain types of connections. For more
information on edge metrics compatibility, see
[Supported Connection-Level Metrics](https://docs.mulesoft.com/visualizer/connection-metrics-compatibility).
## I seem to have permissions issues
| Error Message | Cause | Solution |
|---|
You don’t have permissions to edit this node. Learn more.
| You need the Visualizer Editor permission to edit in API Visualizer. | Learn more about the different permissions in API Visualizer and how to configure custom roles. |
Metrics are hidden for this app because you don’t have the Runtime Manager "Read Application" permission for its environment. Learn more.
| You have selected an application that belongs to an environment for which you do not have the Read Application permission. The node is showing only because it is a dependency of another node. | |
You cannot customize this service because you don’t have the Runtime Manager "Read Application" permission for its environment.
| The node you selected belongs to an environment for which you do not have the Read Application permission. This node is displayed only because it is a dependency of another node. | |
## Limitations
### Why can’t I see the source of traffic from Anypoint Connector for Database (Database Connector)?
When you use Database Connector, API Visualizer does not indicate the type of database, such as
Postgres or Oracle, from which the traffic originates. Additionally, API Visualizer cannot
differentiate between instances of a database.
### Why do some Mule apps and APIs deployed on premises show incorrect or incomplete metrics and connection information?
Apps and APIs that are associated with a Mule domain appear in the API Visualizer application
network, but metrics and connection information related to these apps and APIs might be inaccurate.
### Why don’t I see metadata from an HTTP requester?
To avoid high graph cardinality, API Visualizer does not show outbound traffic to IP addresses or
localhost.
### Why don’t I see edges on the canvas for my hybrid apps?
Visualizer uses the host header and port number to identify a Mule app when generating edges.
In a hybrid deployment, if multiple Mule apps have the same host header and port number, Visualizer
can’t identify which Mule app is the caller and can’t draw the edge.
## See Also
- [Known Issues](https://help.salesforce.com/s/issues)
---
product: API Visualizer
---
# Troubleshooting App Visualization
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
The Troubleshooting visualization shows you the current and past health of your Mule apps. It
enables you to quickly visualize where your network is slow, receiving heavy traffic, or failing.
From this visualization, you can drill down directly into Anypoint Monitoring dashboards or logs to
continue to troubleshoot the performance of your systems.
> [!NOTE] The Troubleshooting visualization isn’t available on Canada and Japan control plane
> deployments.
## Choosing Your Metric
On the **Monitoring** tab, select options in the **Metric** card to show metrics for all the nodes
in your application network. For applicable metrics, these values also appear on the connection, or
_edge_.
In the **Metrics** section, you can select one from these metrics:
- **Avg response time**
- **Avg throughput**
- **Failure rate**
- **Avg CPU utilization**
- **Avg memory utilization**
For the selected time range, _failure rate_ is equal to the total number of failures divided by the
total number of requests.
For average response time, average throughput, and failure rate, you can select **Inbound** or
**Outbound** metrics. If you select inbound, the value that appears on the application is the
weighted average of that particular metric for all inbound connections to that node. If you select
outbound, the value is the weighted average of that metric for all outbound connections.
In the **Time Range** section, you can select the time window used to calculate the average values
of the selected metric.
### Metrics Notation
To avoid long numbers, API Visualizer uses unit prefixes to simplify your view:
Avg throughput | 66.7m TPM | 66.7 milli transactions per minute | 0.0667 TPM |
[Here is a quick review of metric prefixes](https://en.wikipedia.org/wiki/Metric_prefix).
## View Metrics for One Service in Your Network
When you select a node within the graph, the node and its dependency stack are highlighted and all
unconnected nodes are unavailable. API Visualizer displays information about the node in a card.
This card is divided into the following tabs:
The **Details** tab contains the **Details** section, which provides information about the node.
The **Monitoring** tab contains:
Metrics summary
Provides monitoring metrics for the selected node, including average response time, average
throughput, failure rate, average CPU utilization, and average memory utilization. This shows either
inbound or outbound values for average response time, average throughput, and failure rate,
depending on what you’ve selected in the **Metric** card.
Metrics chart
Shows the time-series chart of the selected metric in the **Metric** card.
Within the **Monitoring** tab, you can also select **View logs** or **View dashboard** to navigate
to the associated logs or dashboard in Anypoint Monitoring.
> [!NOTE] The **View logs** and **View dashboard** buttons aren’t available for apps that are
> deployed to CloudHub 2.0.
## View Metrics for a Connection in Your Network
If the selected metric is compatible, the canvas also displays metrics on the connections, or
_edges_. When you select a connection within the graph, API Visualizer displays the edge’s metrics
details in a card. For more information about which connections support this feature, see
[Supported Connection-Level Metrics](https://docs.mulesoft.com/visualizer/connection-metrics-compatibility).
> [!NOTE] Edges displayed between services are active, meaning that there has been traffic in the
> past seven days. Nonactive app edges do not appear on the canvas.
## Filtering your View
When you select a node, you can click **Select dependents and dependencies**, which selects all
nodes related to the service you selected. If a single node is selected and does not have any
dependents or dependencies, this option is hidden.
You can hide nodes through what you select in the canvas.
- To hide a single node, select it, and then click **Hide selected service**.
- To hide multiple nodes, multiselect them, and then click **Hide selected services**.
- To hide all of the services other than the selected nodes, you can click **Hide other services**.
If you want to hide everything that is not related to a given dependency stack, select a node and
then click **Select dependents and dependencies**, which selects all nodes related to the service
which you selected. Then, click **Hide other services**.
You can search for a node (service) in the **Search services** text field. Services containing your
search in any part of their name are highlighted, while others fade.
## Export Your Network View
You can export the view of your network showing on your canvas to a PNG file by clicking the
**Export as Image** button next to the zoom controls in the bottom right.
- If you customized your view with filters, the customized network topology is exported.
- If you selected metrics or durations, these settings are reflected in the export.
## See Also
- [Known Issues](https://help.salesforce.com/s/issues)
---
product: API Visualizer
---
# Use-Case Specific Visualizations
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
Use API Visualizer to view a graph of your application network. The _base unit_ is a Mule
application that is deployed and running on a supported instance of Mule.
To maximize visualization readability, consumer nodes (nodes that have only outbound connections)
are shown at the top. Backend systems (nodes that have only inbound connections) are shown at the
bottom.
When the `ClientId` category is detected for a consumer node, the nodes are grouped by `ClientId`;
otherwise, they are grouped under the **External Traffic** node. The target specified by
`application/API/proxy` must have the `ClientId` enforcement policy to detect the `ClientId` value.
For usability purposes, client app names replace `ClientIds` values in the canvas. All client apps
that call the same Mule app are grouped into a single client app group node. The number of client
apps in the group is specified in the display name.
When viewing or modifying a graph, API Visualizer provides the following functionality:
- Zoom control: Use the zoom in, zoom out, and zoom fit buttons on the bottom right corner of the
canvas to control the zoom. You can also use scroll to zoom in and out.
- Pan the visualization: Click and drag on the canvas to pan the visualization.
- Search: Search for the name of a service on the canvas and the nodes that contain your search will
be highlighted.
## Select Your Use Case
API Visualizer has three use cases, or _visualizations_: Architecture, Troubleshooting, and
Policies. By identifying your use case, you can select the visualization that suits your needs.
The [_Architecture visualization_](https://docs.mulesoft.com/visualizer/architecture-visualization) shows the topology of your apps and
APIs. This visualization is the most useful for understanding your system architecture. You can view
and modify the names of your services, give them specific tags, and assign them to layers.
The [_Troubleshooting visualization_](https://docs.mulesoft.com/visualizer/troubleshooting-visualization) enables you to view the health
of the system and evaluate performance-based metrics. This visualization helps you identify issues
or unusual behavior across your apps and APIs.
The [_Policy visualization_](https://docs.mulesoft.com/visualizer/policy-visualization) enables you to see the policy landscape of your
application network at a glance. You can view which components are compliant with policies you
select, and you can determine where lapses in security or policy application may have occurred.
## View an Application Network in an Organization
1. Log in to Anypoint Platform.
2. In the navigation bar or the main Anypoint Platform screen, click **API Visualizer**.
If API Visualizer is not available, contact your Salesforce admin to make sure that you have the
correct permissions to access the application.
3. In the list in the canvas, select the visualization you want to use.
4. In the environment filters in the **View** card, select an environment.
API Visualizer displays only the environments you have permissions to view.
5. Click the checkboxes for the business groups you want to view.
After selecting the organization and environment group, API Visualizer displays a graph of your
application network.
## Views
Users with the Visualizer Editor permission can define views based on filtered environments and
tags. These defined views are auto-discoverable and are available to all API Visualizer users who
have permission for the included environments. These views can be opened in any of the
use-case-specific visualizations.
For more information, see [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view).
## See Also
- [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization)
- [Troubleshooting App Visualization](https://docs.mulesoft.com/visualizer/troubleshooting-visualization)
- [Viewing Policies in API Visualizer](https://docs.mulesoft.com/visualizer/policy-visualization)
- [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view)
---
product: API Visualizer
---
# Using Layers in API Visualizer
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
When you associate a node with a layer, you create a visual representation of the applications in
your network. Use one of the default layers provided by API Visualizer, or create a custom layer.
> [!NOTE] The application appears in its assigned layer in every defined view in which it’s
> included. It also appears in the correct layer across all visualization types.
## Add a Service to a Layer
Map a node to a layer in the application’s properties file, or using the UI in the Architecture
visualization.
### Set a Layer with Properties
Use the `anypoint.platform.visualizer.layer=` property to automate adding nodes to a layer
either by adding it to application’s properties at deployment time through the Runtime Manager UI,
CI/CD (Maven), or API.
This property is an application property, not a server property. When you use this property, nodes
automatically appear in the specified layer and, if that layer doesn’t exist, it’s automatically
created.
You can’t reassign a node layer using the API Visualizer UI if you assign it using an application
property.
## Set a Layer with the Architecture Visualization UI
If a node wasn’t assigned to a layer at deployment time using the Runtime Manager UI or API, by
default, the node isn’t assigned to a layer in API Visualizer. Use the API Visualizer UI to:
- Assign a node to an existing layer or, if the node does not have a layer set via properties,
change the assigned layer.
- Create a new layer.
### Assign a Layer to a Node
1. Within the Architecture visualization, select the application node to add to a layer.
Hold the shift key to select multiple nodes to apply layers to all the selected nodes at once.
The **Customization** section for the node appears in the **Customization** tab of the node’s
card:

2. In the **Customization** section, expand the drop-down list next to **Layer** as shown in this
image:

3. Select the layer from the drop-down list.
The node you selected appears within the layer as shown in this image:

### Create a New Layer
In addition to the default layers provided by API Visualizer, you can create new layers to customize
the view of your application network.
1. Select the node to add to a new layer.
2. From the drop-down list in the **Customization** section, select **New Layer**.
3. Enter a name for your layer in the dialog box, then select **Create Layer**.
The node appears in the new layer. You can add more nodes to the new layer as necessary.
## Delete a Layer
If a layer has no services assigned to it, API Visualizer deletes the layer automatically:
- If the layer is a default layer, it disappears from the canvas but is still available in the
dropdown.
- If the layer is a custom layer, it disappears from the canvas and the dropdown.
API Visualizer also automatically adjusts the network display.
## Reorder Layers
In the canvas of the Architecture visualization, use the arrows to move it up or down relative to
the other layers.
## Minimize and Maximize Layers
Use the minus sign (**\-**) to minimize a layer. When a layer is minimized, the apps and app details
are hidden.
Use the plus sign (**+**) to maximize a layer to show all the apps.
## See Also
- [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view)
- [Using Tags in API Visualizer](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer)
- [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization)
---
product: API Visualizer
---
# Using Tags in API Visualizer
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
You can add tags to an application, proxy, or other service. Similar to layers, there are two ways
of assigning a tag to a node: by using properties or through the API Visualizer UI.
If a tag is assigned to an application, the application will appear in every view in which the tags
are selected.
## Set the Tag Using Properties
You can automate adding tags to nodes by using `anypoint.platform.visualizer.tags=, `,
either in the application’s properties file or at deployment time through the Runtime Manager UI or
API. Note that this is an application property, not a server property.
When you use this property, the nodes automatically show the assigned tags in the **View** card of
API Visualizer. You can add but cannot override tags in the UI. Additionally, you can modify the
tags only in properties.
In the following example, the tag `demo` was added through properties. Therefore, you cannot modify
the `demo` tag on the canvas. However, `project-a` and `project-b` were created using the UI, so you
can modify them.

## Set Tags Using the UI
By default, when you first view a node using API Visualizer, it does not have any tags assigned. You
can assign a tag to an existing node using the UI if it does not already have the same tag applied
through properties.
1. In the Architecture visualization, select the application node to tag.
You can hold the shift key to select multiple nodes to apply tags to all the selected nodes at
once.
_Result:_ The **Customization** section for the node appears in the **Details** tab of the
node’s card as shown in the following image:

2. In the **Customization** section, click **\+ Add tag** as shown in the following image:

3. Type the name of the tag to apply. Existing tags appear in a drop-down list as you begin to
type.
You can either:
- Select an existing tag, or
- Enter a name for a new tag, and click **Create tag **, or
- Enter a name for the new tag, and press enter.
> [!NOTE] You cannot apply the same tag to one node multiple times.

_Result:_ The tags that you added to a node are listed in the **Customization** section. This
node is included in the list of services if you [filter by this tag](https://docs.mulesoft.com/visualizer/view#customize-view).
## Delete a Tag
You can delete tags from API Visualizer. Deleting a tag does not delete the associated nodes.
To delete a tag assigned using the `anypoint.platform.visualizer.tags=` property, return to
the application’s properties file and delete the assignment
`anypoint.platform.visualizer.tags=`.
To delete a tag that was configured in the UI:
1. In the Architecture visualization, select a node with the tag you want to delete.
2. Locate the tag in the **Customization** section, and click the **X** on the tag to delete.
## See Also
- [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view)
- [Filtering by Tags](https://docs.mulesoft.com/visualizer/view#customize-view)
- [Using Layers in API Visualizer](https://docs.mulesoft.com/visualizer/layers)
- [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization)
---
product: API Visualizer
---
# Viewing Policies in API Visualizer
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
When deploying a Mule app, make sure that you are using a version of Mule that supports the Policy
visualization. Learn more about which [runtimes are supported](https://docs.mulesoft.com/visualizer/setup#select-a-deployment-type). The
Policy visualization is not supported for API Manager 1.x.
The Policy visualization enables you to see the relationship between Mule app deployments and the
APIs they are implementing and which policies have been applied to those APIs. Data about which
policies have been applied to your APIs comes from API Manager.
The Policy visualization has two modes: _overview_ and _compliance_. Both modes show your deployed
APIs, but each in a different manner:
- _Overview_ mode shows you the number of policies that are applied to each API in your canvas. The
number on the API reflects this.
- _Compliance_ mode enables you to explore which APIs are compliant with policies that you select.
Compliance mode is active when you select policies from the **Policies** card; your canvas then
changes to show which of your APIs are compliant with the policies you selected. The list of
policies includes custom policies and is grouped by policy category.
When you select multiple policies, the number on the API node represents how many of the selected
policies the API is complying with. A fraction might indicate that your API is not compliant with
all of the selected policies. If an API in the canvas is compliant with all of the selected
policies, it turns green.
## View Information About One Service in Your Network
When you select a node within the graph, the node and its dependency stack are highlighted and all
unconnected nodes are unavailable.
In the Policy visualization, the top card contains information about the Mule app. If the Mule app
is an implementation of one or more APIs, cards for each of the APIs will appear below. The card
will contain the API, version, and instance names as well as a list of which policies have been
applied. The policies are listed in the order in which they are applied and are identified as either
being applied at the API level or as an automated policy.
## Filter Your View
When you select a node, you can click **Select dependents and dependencies**, which selects all
nodes related to the service you selected. If a single node is selected and does not have any
dependents or dependencies, this option is hidden.
You can hide nodes through what you select in the canvas.
- To hide a single node, select it, and then click **Hide selected service**.
- To hide multiple nodes, multiselect them, and then click **Hide selected services**.
- To hide all of the services other than the selected nodes, you can click **Hide other services**.
If you want to hide everything that is not related to a given dependency stack, select a node and
then click **Select dependents and dependencies**, which selects all nodes related to the service
which you selected. Then, click **Hide other services**.
You can search for a node, or _service_, in the **Search services** text field. Services containing
your search in any part of their name are highlighted, while others fade.
## Export Your Network View
You can export the view of your network showing on your canvas to a PNG file by clicking the
**Export as Image** button next to the zoom controls in the bottom right.
- If you customized your view with filters, the customized network topology is exported.
- If you selected specific policies, these settings are reflected in the export.