The applications API lets you retrieve information about the monitored environment as modeled in AppDynamics. This information includes, for example, the names and IDs of the business applications, business transactions, tiers, and nodes in the modeled environment.  

Retrieve All Business Applications

The applications API method returns the business applications names and internal numeric identifier. Many of the operations in the Controller APIs occur in the context of a business application, so you can use this method to discover the application names or IDs to use before invoking other methods.   

Format

GET /controller/rest/applications 

Input parameters

Parameter Name

Parameter Type

Value

Mandatory

output

Query

HTTP Request parameter included as part of the URL to change the output format. Valid values are "XML" (default) or "JSON".

No

timeRangeTimeTime parameter to filter data based on time range options (timeRange, startTime, endTime). If the timeRange option is provided, the query returns alive applications in the provided time range only, otherwise, the query returns all applications. For more information on using time ranges, see Metric and Snapshot API.No

An alive application is an application with at least one node that submits at least one metric to the Controller in the provided time range.

Example

curl --user user1@customer1:your_password http://demo.appdynamics.com/controller/rest/applications
 
<applications>
   <application>
     <id>5</id>
     <name>ECommerce_E2E</name>
   </application>
   <application>
     <id>8</id>
     <name>ECommerce_E2E-Fulfillment</name>
   </application>
   <application>
     <id>11</id>
     <name>jimix12110919</name>
     <description></description>
     <accountGuid>429c7884-3f36-4b5a-9412-fdf827e6c86e</accountGuid>
   </application>
</applications>

Retrieve All Business Transactions in a Business Application

Format

GET /controller/rest/applications/application_name/business-transactions

Input parameters

Parameter Name

Parameter Type

Value

Mandatory

application_name

URI

The application name or application ID.

Yes

exclude

Query

If false, the query retrieves only the business transactions that are included for monitoring. If true, the query retrieves only the excluded business transactions. Excluded business transactions are those that have been configured to be excluded from monitoring either from the UI or through the REST interface. The default is false.

No

output

Query

HTTP Request parameter included as part of the URL to change the output format. Valid values are "XML" (default) or "JSON".

No

timeRangeTimeTime parameter to filter data based on time range options (timeRange, startTime, endTime). If the timeRange option is provided, the query returns alive business transactions in the provided time range only, otherwise, the query returns all business transactions. For more information on using time ranges, see Metric and Snapshot API.No

An alive business transaction is a transaction that submits at least one metric to the Controller in the provided time range.

Example

curl --user user1@customer1:your_password http://demo.appdynamics.com/controller/rest/applications/5/business-transactions

<business-transactions>
   <business-transaction>
     <id>92</id>
     <name>/user/.POST</name>
     <entryPointType>WEB_SERVICE</entryPointType>
     <internalName>/user/.POST</internalName>
     <tierId>9</tierId>
     <tierName>ECommerce-Services</tierName>
     <background>false</background>
   </business-transaction>
   ...
   <business-transaction>
     <id>184</id>
     <name>OrderServiceImplService.createOrder</name>
     <entryPointType>WEB_SERVICE</entryPointType>
     <internalName>OrderServiceImplService.createOrder</internalName>
     <tierId>12</tierId>
     <tierName>Inventory-Services</tierName>
     <background>false</background>
   </business-transaction>
</business-transactions>

Retrieve All Tiers in a Business Application

Format

GET /controller/rest/applications/application_name/tiers

Input parameters

Parameter Name

Parameter Type

Value

Mandatory

application_name

URI

The application name or application ID.

Yes

output

Query

HTTP Request parameter included as part of the URL to change the output format. Valid values are "XML" (default) or "JSON".

No

timeRangeTimeTime parameter to filter data based on time range options (timeRange, startTime, endTime). If the timeRange option is provided, the query returns alive tiers in the provided time range only, otherwise, the query returns all tiers. For more information on using time ranges, see Metric and Snapshot API.No

An alive tier is a tier with at least one node in this tier that submits at least one metric to Controller in the provided time range.

Example

curl --user user1@customer1:your_password http://demo.appdynamics.com/controller/rest/applications/5/tiers

<tiers>
<tier>
  <id>8</id>
  <name>Address-Services</name>
  <type>Application Server</type>
  <agentType>APP_AGENT</agentType>
  <numberOfNodes>1</numberOfNodes>
</tier>
<tier>
  <id>16</id>
  <name>Customer-Survey-Services</name>
  <type>Application Server</type>
  <agentType>APP_AGENT</agentType>
  <numberOfNodes>1</numberOfNodes>
</tier>
<tier>
  <id>9</id>
  <name>ECommerce-Services</name>
  <type>Application Server</type>
  <agentType>APP_AGENT</agentType>
  <numberOfNodes>2</numberOfNodes>
</tier>
<tier>
  <id>12</id>
  <name>Inventory-Services</name>
  <type>Application Server</type>
  <agentType>APP_AGENT</agentType>
  <numberOfNodes>1</numberOfNodes>
</tier>
<tier>
  <id>17</id>
  <name>Order-Processing-Services</name>
  <type>Application Server</type>
  <agentType>APP_AGENT</agentType>
  <numberOfNodes>1</numberOfNodes>
</tier>
<tier>
  <id>18</id>
  <name>Web-Tier-Services</name>
  <type>Web Server</type>
  <agentType>NATIVE_WEB_SERVER</agentType>
  <numberOfNodes>1</numberOfNodes>
</tier>
</tiers>

Retrieve All Registered Backends in a Business Application With Their Properties

Format

GET /controller/rest/applications/application_name/backends

Input parameters

Parameter Name

Parameter Type

Value

Mandatory

application_name

URI

Provide either the application name or application id.

Yes

output

Query

HTTP Request parameter included as part of the URL to change the output format. Valid values are "XML" (default) or "JSON".

No

Example

curl --user user1@customer1:your_password http://demo.appdynamics.com/controller/rest/applications/5/backends

<backends><backend>
  <id>10</id>
  <name>INVENTORY-MySQL DB-DB</name>
  <exitPointType>JDBC</exitPointType>
  <properties>
    <name-value>
      <id>0</id>
      <name>HOST</name>
      <value>DB</value>
    </name-value>
    <name-value>
      <id>0</id>
      <name>MAJOR_VERSION</name>
      <value>5.5.44-0ubuntu0.14.04.1</value>
    </name-value>
    <name-value>
      <id>0</id>
      <name>PORT</name>
      <value>3306</value>
    </name-value>
    <name-value>
      <id>0</id>
      <name>SCHEMA</name>
      <value>INVENTORY</value>
    </name-value>
    <name-value>
      <id>0</id>
      <name>URL</name>
      <value>jdbc:mysql://db:3306/inventory?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true</value>
    </name-value>
    <name-value>
      <id>0</id>
      <name>VENDOR</name>
      <value>MySQL DB</value>
    </name-value>
  </properties>
  <applicationComponentNodeId>0</applicationComponentNodeId>
  <tierId>0</tierId>
</backend>
 ...
<backend>
  <id>14</id>
  <name>Active MQ-OrderQueue</name>
  <exitPointType>JMS</exitPointType>
  <properties>
    <name-value>
      <id>0</id>
      <name>DESTINATION_NAME</name>
      <value>OrderQueue</value>
    </name-value>
    <name-value>
      <id>0</id>
      <name>DESTINATION_TYPE</name>
      <value>QUEUE</value>
    </name-value>
    <name-value>
      <id>0</id>
      <name>VENDOR</name>
      <value>Active MQ</value>
    </name-value>
  </properties>
  <applicationComponentNodeId>0</applicationComponentNodeId>
  <tierId>0</tierId>
</backend>
</backends>

Retrieve Node Information for All Nodes in a Business Application

Format

GET /controller/rest/applications/application_name/nodes

Input parameters

Parameter Name

Parameter Type

Value

Mandatory

application_name

URI

Provide either the application name or application id.

Yes

output

Query

HTTP Request parameter included as part of the URL to change the output format. Valid values are "XML" (default) or "JSON".

No

timeRangeTimeTime parameter to filter data based on time range options (timeRange, startTime, endTime). If the timeRange option is provided, the query returns alive nodes in the provided time range only, otherwise, the query returns all nodes. For more information on using time ranges, see Metric and Snapshot API.No

An alive node is a node which submits at least one metric to Controller in the provided time range.

Example

curl --user user1@customer1:welcome http://demo.appdynamics.com:8090/controller/rest/applications/5/nodes


<nodes><node>
  <id>7</id>
  <name>Node_8000</name>
  <type>Tomcat 5.x</type>
  <tierId>12</tierId>
  <tierName>ECommerce Server</tierName>
  <machineId>3</machineId>
  <machineName>TIER1TOMCAT</machineName>
  <machineOSType>Linux</machineOSType>
  <machineAgentPresent>true</machineAgentPresent>
  <machineAgentVersion>Machine Agent v4.2.0.0 GA Build Date 2015-12-18 18:47:15</machineAgentVersion>
  <appAgentPresent>true</appAgentPresent>
  <appAgentVersion>Server Agent v4.2.0.0 GA #10145 r514d60d3122bd992e7152820d2ca5fb5ff4e45c1 8409-master-build</appAgentVersion>
  <agentType>APP_AGENT</agentType>
</node>
...
<node>
  <id>10</id>
  <name>Node_8002</name>
  <type>Tomcat 5.x</type>
  <tierId>14</tierId>
  <tierName>Inventory Server</tierName>
  <machineId>6</machineId>
  <machineName>TIER3TOMCAT</machineName>
  <machineOSType>Linux</machineOSType>
  <machineAgentPresent>true</machineAgentPresent>
  <machineAgentVersion>Machine Agent v4.2.0.0 GA Build Date 2015-12-18 18:47:15</machineAgentVersion>
  <appAgentPresent>true</appAgentPresent>
  <appAgentVersion>Server Agent v4.2.0.0 GA #10145 r514d60d3122bd992e7152820d2ca5fb5ff4e45c1 8409-master-build</appAgentVersion>
  <agentType>APP_AGENT</agentType>
</node>
</nodes>

Retrieve Node Information by Node Name

Format 

GET /controller/rest/applications/application_name/nodes/node_name

Input parameters

Parameter Name

Parameter Type

Value

Mandatory

application_name

URI

The application name or application ID.

Yes

node_name

URI

The node name or ID

Yes

output

Query

HTTP Request parameter included as part of the URL to change the output format. Valid values are "XML" (default) or "JSON".

No

Example

curl --user user1@customer1:welcome http://demo.appdynamics.com:8090/controller/rest/applications/5/nodes/10

<nodes><node>
  <id>10</id>
  <name>Node_8002</name>
  <type>Tomcat 5.x</type>
  <tierId>14</tierId>
  <tierName>Inventory Server</tierName>
  <machineId>6</machineId>
  <machineName>TIER3TOMCAT</machineName>
  <machineOSType>Linux</machineOSType>
  <machineAgentPresent>true</machineAgentPresent>
  <machineAgentVersion>Machine Agent v4.2.0.0 GA Build Date 2015-12-18 18:47:15</machineAgentVersion>
  <appAgentPresent>true</appAgentPresent>
  <appAgentVersion>Server Agent v4.2.0.0 GA #10145 r514d60d3122bd992e7152820d2ca5fb5ff4e45c1 8409-master-build</appAgentVersion>
  <ipAddresses>
    <ipAddress>10.0.32.138</ipAddress>
  </ipAddresses>
  <agentType>APP_AGENT</agentType>
</node>
</nodes>

Retrieve Node Information for All Nodes in a Tier

Format 

GET /controller/rest/applications/application_name/tiers/tier_name/nodes

Input parameters

Parameter Name

Parameter Type

Value

Mandatory

application_name

URI

The application name or application ID.

Yes

tier_name

URI

The tier name or ID.

Yes

output

Query

HTTP Request parameter included as part of the URL to change the output format. Valid values are "XML" (default) or "JSON".

No

timeRangeTimeTime parameter to filter data based on time range options (timeRange, startTime, endTime). If timeRange option is provided, the query returns alive nodes in the provided time range only, otherwise, the query returns all nodes For more information on using time ranges, see Metric and Snapshot API.No

Example

curl --user user1@customer1:welcome http://demo.appdynamics.com:8090/controller/rest/applications/25/tiers/70/nodes

<nodes><node>
  <id>81</id>
  <name>PHP_Node</name>
  <type>Other</type>
  <tierId>70</tierId>
  <tierName>PHP_Tier</tierName>
  <machineId>65</machineId>
  <machineName>232fe50b8f9c</machineName>
  <machineOSType>Linux</machineOSType>
  <machineAgentPresent>false</machineAgentPresent>
  <appAgentPresent>true</appAgentPresent>
  <appAgentVersion>Proxy v4.2.0.0 GA SHA-1:.c86ec090f4ff77195df065fe56dade4dfc3913aa #9909 8869-master-build</appAgentVersion>
  <ipAddresses>
    <ipAddress>fe80:0:0:0:42:acff:fe11:2%eth0</ipAddress>
    <ipAddress>172.17.0.2</ipAddress>
  </ipAddresses>
  <agentType>PHP_APP_AGENT</agentType>
</node>
</nodes>

Retrieve Tier Information by Tier Name

Format 

GET /controller/rest/applications/application_name/tiers/tier_name 

Input parameters

Parameter Name

Parameter Type

Value

Mandatory

application_name

URI

The application name or application ID.

Yes

tier_name

URI

Tier name or ID.

Yes

output

Query

HTTP Request parameter included as part of the URL to change the output format. Valid values are "XML" (default) or "JSON".

No

Example

curl --user user1@customer1:welcome http://demo.appdynamics.com:8090/controller/rest/applications/5/tiers/14

<tiers><tier>
  <id>14</id>
  <name>Inventory Server</name>
  <type>Application Server</type>
  <agentType>APP_AGENT</agentType>
  <numberOfNodes>1</numberOfNodes>
</tier>
</tiers>