This page describes API usage information. The Controller APIs are served by the Controller instance, rather than by the Events Service or an agent component. They include:

  • Accounts API
  • Application Model API
  • Metric and Snapshot API
  • Alert and Respond API
  • Configuration API
  • Configuration Import and Export APIs
  • Analytics Events API

Controller API Base URI

Except as indicated in the format listing for a particular method, URIs in the Controller API use the following base URI:

http://<controller_host>:<controller_port>/controller/rest/<REST_URI>

The port that serves the API is the same primary port for the Controller used by Controller UI and agents.

Retrieving Data in JSON Format

The AppDynamics Controller APIs return data in eXtensible Markup Language (XML) or JavaScript Object Notation (JSON). The default output format is XML.

Any Controller API with a URI in the /controller/rest/ format shown in Controller API Base URI can return data in JSON format. 

To retrieve data in JSON, call the API with the output query parameter set to JSON, as follows:  

curl --user user1@customer1:secret http://demo.appdynamics.com/controller/rest/applications?output=JSON
[
    {
    "description": "",
    "id": 5,
    "name": "ECommerce_E2E"
  },
    {
    "description": "",
    "id": 8,
    "name": "ECommerce_E2E-Fulfillment"
  },
]

You can specify JSON output format for any of the Controller APIs.

When a client uses HTTP 1.1 and accepts gzip content-encoding, the Controller returns JSON responses using gzip compression.

Authentication

You can use OAuth identity types for authentication. See API Clients.

To invoke the REST APIs using basic HTTP authentication, you must provide the authentication credentials as well as your account information. These are:

  • Account: the AppDynamics tenant account name
  • Username: a user in that account
  • Password: the password for that account

Pass the credentials in the following form:  

<your_username>@<your_accountname>:<your_password>

Most on-premises Controllers are single-tenant Controllers that use customer1 as the primary default account name. The account name should be left as default. For example:

<your_username>@customer1:<your_password>


Most SaaS Controllers are multi-tenant Controllers and allow you to replace customer1 with your own, instance-specific account name. See Observe License Usage.

Invalid Characters for Usernames and Passwords

REST API calls will not authenticate usernames and passwords that contain these characters:

\ / " [ ] : | < > + = ; , ? * , ' % tab space @

If you have already created user credentials that contain any of the disallowed characters, such as "user:customer66", create new credentials without the disallowed character for the purpose of accessing the REST APIs.

For usernames or passwords containing the "@" symbol, URL encode the "@" character as %40.

Copying a Metric URL in the Metric Browser

  1. Right-click a metric in the Metric Browser.
  2. Copy the full REST URL of the metric. 
  3. Paste the REST URL into your code or onto the command line.

For security reasons, AppDynamics only supports making API calls programmatically or at the command line. Do not attempt to paste the REST URL into a browser.