# ARM Mule Agent Plugin API Manage and monitor a locally running Mule runtime instance through the Mule Agent REST API. - **Version:** 1.0.0 - **Category:** Management - **OpenAPI Spec:** [api.yaml](https://dev-portal.mulesoft.com/apis/mule-agent-plugin/api.yaml) ## Servers - `http://localhost:9999/mule` ## Operations (44) ### GET /agent **Operation ID:** `getAgent` Endpoint to validate the Mule Agent is listening. ### PUT /agent **Operation ID:** `updateAgent` <p>Upgrades the Mule Agent plugin with the provided .jar file.</p> <p>Upgrading the Agent will only install the the jar passed in the request and won't change any configuration</p> <p>Since v2.2.0 the configuration of Authentication Proxy and MCM endpoints was changed so in order to reconect the server further configuration would be needed</p> ### GET /agent/configuration **Operation ID:** `getAgentConfiguration` Returns the full configuration of the Mule Agent. ### GET /agent/components **Operation ID:** `getAgentComponents` Returns list of components that contain the ids and status of the different external message handlers, internal message handler and services in the Mule Agent. ### GET /agent/{componentId} **Operation ID:** `getAgentByComponentid` Returns a JSON representing the component's configuration. **Parameters:** | `componentId` | query | The component ID to identify the target resource. | required | ### PUT /agent/{componentId} **Operation ID:** `updateAgentByComponentid` Changes the configuration of the component by overriding the full configuration with the one passed in the JSON. **Parameters:** | `componentId` | query | The component ID to identify the target resource. | required | ### PATCH /agent/{componentId} **Operation ID:** `patchAgentByComponentid` Changes the configuration of the component by overriding the values of the properties passed in the JSON. **Parameters:** | `componentId` | query | The component ID to identify the target resource. | required | ### PUT /agent/{componentId}/enable **Operation ID:** `updateAgentByComponentidEnable` Enables a service. **Parameters:** | `componentId` | query | The component ID to identify the target resource. | required | ### PUT /agent/{componentId}/disable **Operation ID:** `updateAgentByComponentidDisable` Disables a service. **Parameters:** | `componentId` | query | The component ID to identify the target resource. | required | ### PUT /agent/{componentId}/{applicationName} **Operation ID:** `updateAgentByComponentidByApplicationname` Completely changes the configuration of the service by overriding the configuration provided in the agent descriptor with the properties passed in the JSON. If the body is not sent in the request the service will respond with the current information. **Parameters:** | `componentId` | query | The component ID to identify the target resource. | required | | `applicationName` | query | The applicationName to identify the target resource. | required | ### PATCH /agent/{componentId}/{applicationName} **Operation ID:** `patchAgentByComponentidByApplicationname` Partially changes the configuration of the service for a given application by overriding the configuration provided in the agent descriptor with the properties passed in the JSON. If the body is not sent in the request the service will respond with the current information. **Parameters:** | `componentId` | query | The component ID to identify the target resource. | required | | `applicationName` | query | The applicationName to identify the target resource. | required | ### PUT /actions **Operation ID:** `updateActions` Performs the action described by the request on the Runtime where the Mule Agent is running on. ### GET /domains **Operation ID:** `getDomains` Returns all existing domains in Mule. ### GET /domains/{domainName} **Operation ID:** `getDomainsByDomainname` Returns all the details of the domain requested. **Parameters:** | `domainName` | query | The domainName to identify the target resource. | required | ### PUT /domains/{domainName} **Operation ID:** `updateDomainsByDomainname` Deploys or redeploys a domain in Mule **Parameters:** | `domainName` | query | The domainName to identify the target resource. | required | ### DELETE /domains/{domainName} **Operation ID:** `deleteDomainsByDomainname` Undeploys a domain from Mule. **Parameters:** | `domainName` | query | The domainName to identify the target resource. | required | ### PUT /domains/{domainName}/restart **Operation ID:** `updateDomainsByDomainnameRestart` Restarts a domain from Mule. **Parameters:** | `domainName` | query | The domainName to identify the target resource. | required | ### GET /applications **Operation ID:** `getApplications` Returns all existing applications in Mule. ### GET /applications/{applicationName} **Operation ID:** `getApplicationsByApplicationname` Gets a particular application. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | ### PUT /applications/{applicationName} **Operation ID:** `updateApplicationsByApplicationname` Redeploys/creates an application to Mule using the name and file passed in the POST body. For application/json and multipart/form-data request configures the application properties in the ${mule_home}/conf/${application-name}.yml file. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | ### DELETE /applications/{applicationName} **Operation ID:** `deleteApplicationsByApplicationname` Undeploys an application from Mule. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | ### PUT /applications/{applicationName}/stop **Operation ID:** `updateApplicationsByApplicationnameStop` Stops an application. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | ### PUT /applications/{applicationName}/start **Operation ID:** `updateApplicationsByApplicationnameStart` Starts an application. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | ### PUT /applications/{applicationName}/restart **Operation ID:** `updateApplicationsByApplicationnameRestart` Retarts an application. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | ### GET /applications/{applicationName}/flows **Operation ID:** `getApplicationsByApplicationnameFlows` Gets application flows. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | ### PUT /applications/{applicationName}/flows/{flowName}/stop **Operation ID:** `updateApplicationsByApplicationnameFlowsByFlownameStop` Stop an application flow. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | | `flowName` | query | The flowName to identify the target resource. | required | ### PUT /applications/{applicationName}/flows/{flowName}/start **Operation ID:** `updateApplicationsByApplicationnameFlowsByFlownameStart` Start an application flow. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | | `flowName` | query | The flowName to identify the target resource. | required | ### GET /clusters **Operation ID:** `getClusters` Retrieves the clustering information of this Mule instance. ### POST /clusters **Operation ID:** `createClusters` Adds this Mule instance to a cluster with the information provided in the request. ### DELETE /clusters **Operation ID:** `deleteClusters` Removes this Mule instance from the cluster it belongs to. ### GET /clusters/members **Operation ID:** `getClustersMembers` Retrieves the members of the cluster this Mule instance belongs to. ### GET /healthcheck/applications/{applicationName}/ready **Operation ID:** `getHealthcheckApplicationsByApplicationnameReady` Health Check Endpoint to validate if an application is running or not. **Parameters:** | `applicationName` | query | The applicationName to identify the target resource. | required | ### GET /logging/domains/{domainName}/{scope} **Operation ID:** `getLoggingDomainsByDomainnameByScope` Retrieves the current log level that has the domain for a package scope. **Parameters:** | `domainName` | query | The domainName to identify the target resource. | required | | `scope` | query | The scope to identify the target resource. | required | ### POST /logging/domains/{domainName}/{scope} **Operation ID:** `createLoggingDomainsByDomainnameByScope` Sets the log level on a package scope for the domain passed on the request. **Parameters:** | `domainName` | query | The domainName to identify the target resource. | required | | `scope` | query | The scope to identify the target resource. | required | ### GET /logging/applications/{appName}/{packageScope} **Operation ID:** `getLoggingApplicationsByAppnameByPackagescope` Retrieves the current log level of a package scope in an application. **Parameters:** | `appName` | query | The appName to identify the target resource. | required | | `packageScope` | query | The packageScope to identify the target resource. | required | ### POST /logging/applications/{appName}/{packageScope} **Operation ID:** `createLoggingApplicationsByAppnameByPackagescope` Sets the log level on a package scope for the application passed on the request. **Parameters:** | `appName` | query | The appName to identify the target resource. | required | | `packageScope` | query | The packageScope to identify the target resource. | required | ### GET /monitoring **Operation ID:** `getMonitoring` Retrieves all the beans currently being tracked by the monitoring service. Not available on PCE. ### POST /monitoring **Operation ID:** `createMonitoring` Adds a list of beans to those currently being tracked the monitoring service. Not available on PCE. ### DELETE /monitoring **Operation ID:** `deleteMonitoring` Removes a list of beans of those currently being tracked the monitoring service. The beans to delete that are send in the json body must be identicaly the same as the registered ones. Not available on PCE. ### GET /properties **Operation ID:** `getProperties` Retrieves the server properties that are currently being set by the Mule Agent server properties. ### POST /properties **Operation ID:** `createProperties` Sets the given properties in the ${mule_home}/conf/wrapper.conf file. If override is send then it also sets Mule override value for those properties. **Parameters:** | `override` | query | Whether to set a Mule override for the given properties. | optional | ### GET /properties/{propertyName} **Operation ID:** `getPropertiesByPropertyname` Retrieves the property with the given name from the ${mule_home}/conf/wrapper.conf file. **Parameters:** | `propertyName` | query | The propertyName to identify the target resource. | required | ### PUT /properties/{propertyName} **Operation ID:** `updatePropertiesByPropertyname` Sets the given property in ${mule_home}/conf/wrapper.conf file. If override is send then it also sets mule overrides for that property. **Parameters:** | `propertyName` | query | The propertyName to identify the target resource. | required | ### DELETE /properties/{propertyName} **Operation ID:** `deletePropertiesByPropertyname` Removes the property located in ${mule_home}/conf/wrapper.conf file. **Parameters:** | `propertyName` | query | The propertyName to identify the target resource. | required |