---
schema_version: "1"
id: 614c009787b6ba15a4ed181e038736ca6b6dcb5820c2d29bb3230076b771f4de
title: Application Descriptor Reference (mule-artifact.json)
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/mule-runtime/4.9/mule-artifact-json.md
canonical_url: https://docs.mulesoft.com/mule-runtime/4.9/mule-artifact-json
source_site: docs.mulesoft.com
content_type: documentation
content_hash: f2692e361e2ff0213bb8fe5e8a83f4a3b5f2ab123b1622b7ac33b89e94de176e
description: MuleSoft Documentation Site
release: "4.9"
latest: false
---
---
product: Mule Runtime
version: 4.9
---

# Application Descriptor Reference (mule-artifact.json)

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

Every Mule application, domain, and policy includes an application descriptor file,
`mule-artifact.json`, at the root of the artifact. This file declares metadata that the Mule runtime
engine uses to load, validate, and run the artifact, independent of the XML configuration described
in [Mule Configuration File](https://docs.mulesoft.com/mule-runtime/4.9/about-mule-configuration).

This page documents the fields of `mule-artifact.json` for a Mule application. Anypoint Studio and
Anypoint Code Builder generate and maintain this file automatically. You typically read or hand-edit
it only when troubleshooting a deployment issue.

## Example

Example `mule-artifact.json` file for an application

```json
{
  "name": "retail-api",
  "minMuleVersion": "4.9.0",
  "requiredProduct": "MULE_EE",
  "configs": [
    "http-api.xml",
    "jms-messaging-api.xml",
    "monitoring-tools.xml",
    "core-functionality.xml"
  ],
  "redeploymentEnabled": true,
  "secureProperties": ["secure.password"],
  "supportedJavaVersions": ["17"],
  "classLoaderModelLoaderDescriptor": {
    "id": "mule",
    "attributes": {
      "exportedResources": []
    }
  },
  "bundleDescriptorLoader": {
    "id": "mule",
    "attributes": {}
  }
}
```

## Fields

<table><colgroup><col> <col> <col></colgroup><thead><tr><th>Field</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><div><div><p><code>name</code></p></div></div></td><td><div><div><p>Yes</p></div></div></td><td><div><div><p>The name of the artifact.</p></div></div></td></tr><tr><td><div><div><p><code>minMuleVersion</code></p></div></div></td><td><div><div><p>Yes</p></div></div></td><td><div><div><p>The minimum Mule runtime feature set that the artifact requires, expressed as a full <code>major.minor.patch</code> version (for example <code>4.9.0</code>). See <a href="https://docs.mulesoft.com/mule-runtime/4.9/feature-flagging#_understanding_minmuleversion">Understanding minMuleVersion</a> for what value to use and how the runtime and other tools check it.</p></div></div></td></tr><tr><td><div><div><p><code>requiredProduct</code></p></div></div></td><td><div><div><p>Yes</p></div></div></td><td><div><div><p>The target product for the artifact. <code>MULE</code> for Mule Kernel (CE) or <code>MULE_EE</code> for Mule runtime EE.</p></div></div></td></tr><tr><td><div><div><p><code>classLoaderModelLoaderDescriptor</code></p></div></div></td><td><div><div><p>Yes</p></div></div></td><td><div><div><p>Describes how to build the class loader for the artifact. Contains an <code>id</code> (typically <code>mule</code>) and an <code>attributes</code> map, for example <code>exportedPackages</code>, <code>exportedResources</code>, <code>privilegedExportedPackages</code>, and <code>privilegedArtifactIds</code>.</p></div></div></td></tr><tr><td><div><div><p><code>bundleDescriptorLoader</code></p></div></div></td><td><div><div><p>Yes</p></div></div></td><td><div><div><p>Describes how to resolve the artifact’s bundle descriptor (its Maven coordinates). Contains an <code>id</code> (typically <code>mule</code>) and an <code>attributes</code> map.</p></div></div></td></tr><tr><td><div><div><p><code>configs</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>The list of configuration XML files that compose the artifact. See <a href="https://docs.mulesoft.com/mule-runtime/4.9/about-mule-configuration#_declaring_multiple_configurations">Declaring Multiple Configurations</a>.</p></div></div></td></tr><tr><td><div><div><p><code>redeploymentEnabled</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>Whether the artifact can be hot-redeployed. Defaults to <code>true</code>.</p></div></div></td></tr><tr><td><div><div><p><code>secureProperties</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>A list of configuration property names whose values are masked wherever the runtime would otherwise expose configuration (for example, in logs).</p></div></div></td></tr><tr><td><div><div><p><code>supportedJavaVersions</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>The JDK major versions that the artifact supports (for example, <code>["17", "21"]</code>).</p></div></div></td></tr><tr><td><div><div><p><code>logConfigFile</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>The path, relative to the artifact root, to a custom Log4j2 configuration file for the artifact.</p></div></div></td></tr><tr><td><div><div><p><code>domain</code></p></div></div></td><td><div><div><p>No, applications only</p></div></div></td><td><div><div><p>The name of the Mule domain that this application belongs to. See <a href="https://docs.mulesoft.com/mule-runtime/4.9/shared-resources">Mule Domains</a>.</p></div></div></td></tr></tbody></table>

## See Also

- [Feature Flagging Mechanism](https://docs.mulesoft.com/mule-runtime/4.9/feature-flagging)

- [Mule Configuration File](https://docs.mulesoft.com/mule-runtime/4.9/about-mule-configuration)

- [Packaging Applications](https://docs.mulesoft.com/mule-runtime/4.9/mule-app-dev)
