AppDynamics Agent Installer Platform Service API is currently beta and is subject to change. If you adopt a beta API, the future versions may not be fully compatible with it. As of version 21.11, ansible script is available.

Navigate to Agent Installer Platform Service API to access API Reference details residing on Cisco's DevNet.

The Agent Installer Platform Service API is a collection of public REST endpoints that support the installation and monitoring use cases currently provided through the UI. The Agent Installer supports upgrade and rollback use cases, which is currently supported in the APIs. 

You can use simple APIs as building blocks for more sophisticated orchestration scenarios. The AppDynamics Agent Installer streamlines the instrumentation of your applications with AppDynamics monitoring agents.

The Agent Installer:

  • Deploys Java and Machine Agents, and is compatible with Linux 

  • Automatically instruments applications 
  • Assigns unique names to detected tiers and nodes
  • Upgrades and rollbacks the agents

You can deploy other agents using the Getting Started Wizard. See Agent Installer for details. 

Getting Started

AppDynamics exposes various APIs for customizing and extending its features.

Base URI

Every API request begins with this Base URI (template for all production deployments of zero service):

Servers

https://{tenantName}.saas.appdynamics.com/zero/v1beta
CODE

Computed URL

https://sampletenant.saas.appdynamics.com/zero/v1beta
CODE

Server Variables

tenantName: sampletenant
CODE

Authorization

You can create and use the identity type, API Clients, to provide secure access to AppDynamics using REST API calls. These calls use Open Authorization (OAuth) token-based authentication. You can create new API Client identity types that can be used to generate OAuth tokens. No roles are required at this time. 

To create the OAuth token, use the following API and note the created "Client Name" and "Client Secret":

You must use this API to generate the OAuth token. The token generation method described on the API Clients page does not work with the Agent Installer Platform Service APIs.

Templated URL

curl --location --request POST
'https://{tenantName}.saas.appdynamics.com/auth/v1/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id={apiClientName}@{accountName}' \
--data-urlencode 'client_secret={apiClientSecret}' 

Template Variables
tenantName      : sampleTenantName 
apiClientName   : sampleApiClientName 
apiClientSecret : sampleApiClientSecret 
accountName     : sampleAccountName
CODE

Computed URL

curl --location --request POST
'https://sampleTenantName.saas.appdynamics.com/auth/v1/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=sampleApiClientName@sampleAccountName' \
--data-urlencode 'client_secret=sampleApiClientSecret' 
CODE

Example Output

{
    "token_type": "bearer",
    "access_token": "eyJraWQiOiJlY2VhYTgwMC01M2NkLTQyNWYtOWYzNS0yZWFhNmU3ZmIzMjQiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJBcHBEeW5hbWljcyIsImF1ZCI6IkFwcERfQVBJcyIsImp0aSI6InhodWQzaXhYY0k2R1I1NVZMUWJIM1EiLCJzdWIiOiJ6ZmktZnVzaW9uLWNsaWVudCIsImlkVHlwZSI6IkFQSV9DTElFTlQiLCJpZCI6ImUxNWEyODhiLTEyYTUtNGYzMC04OWQ4LWMxNTQwZmNiOGZlYyIsImFjY3RJZCI6ImZiOGQ1YzAxLTVlYzItNGI4ZS1hMmJiLTdhMDRmODA5ZTgyYiIsInRudElkIjoiZmI4ZDVjMDEtNWVjMi00YjhlLWEyYmItN2EwNGY4MDllODJiIiwiYWNjdE5hbWUiOiJwcm9qZWN0LXplcm8tMSIsInRlbmFudE5hbWUiOiJwcm9qZWN0LXplcm8tMSIsImZtbVRudElkIjo1LCJhY2N0UGVybSI6W10sInJvbGVJZHMiOltdLCJpYXQiOjE2Mjc0ODk5MDIsIm5iZiI6MTYyNzQ4OTc4MiwiZXhwIjoxNjI3NDkwMjAyLCJ0b2tlblR5cGUiOiJBQ0NFU1MifQ.bz0CQrhyC1l92QSv7dibmqHNkJXrfL_DkXxk-4qSLAUj5xjj_NloETj8c0Es7PKopeZxrsBVgn_NJHDNM4YFSggW9DmXSBGZbRnQ8EBZhIy2w5821Pg0EErMpEQscSQY459m82kgvXOzDF4SO29pYW2bkO4JAMlEOUPjMlPXjkB2acsi9wcToWitVEwuE1sSm4QZ6BvUz84XF1y8_z_LyhakCIFwOdOZOOG3QO6nKvnJhVtI8kfCKim6LVkE93HirG8j4AxB79L_bPeKm7ZLqKapzE_9qhn1GvE4SQZ345ixpnQchJeFxrHILvHj06oKt65PvoAbxKLDxFPeViKtQl4svZeYGF6ujCUAb1SxSs3jgz4YKab8njVf_FeTS3dpsiw4UtkN_00QRv6QNfyjndk9_iMh46BpHDc0E6kvYRVW6rSXuYU7c8ulvU3SKeHoIl0PMjLpotYwHSlved4YUg_GmxstTBNpXeLP7xMxn7vReoM-eIw4IWXuRAt64bWj",
    "refresh_token": "eyJraWQiOiJlY2VhYTgwMC01M2NkLTQyNWYtOWYzNS0yZWFhNmU3ZmIzMjQiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJBcHBEeW5hbWljcyIsImF1ZCI6IkFwcERfQVBJcyIsImp0aSI6InN6Z240cGVRb1M3UEdoTzh3Z0dMV0EiLCJzdWIiOiJ6ZmktZnVzaW9uLWNsaWVudCIsImlkVHlwZSI6IkFQSV9DTElFTlQiLCJpZCI6ImUxNWEyODhiLTEyYTUtNGYzMC04OWQ4LWMxNTQwZmNiOGZlYyIsImFjY3RJZCI6ImZiOGQ1YzAxLTVlYzItNGI4ZS1hMmJiLTdhMDRmODA5ZTgyYiIsInRudElkIjoiZmI4ZDVjMDEtNWVjMi00YjhlLWEyYmItN2EwNGY4MDllODJiIiwiYWNjdE5hbWUiOiJwcm9qZWN0LXplcm8tMSIsInRlbmFudE5hbWUiOiJwcm9qZWN0LXplcm8tMSIsImZtbVRudElkIjo1LCJhY2N0UGVybSI6W10sInJvbGVJZHMiOltdLCJpYXQiOjE2Mjc0ODk5MDIsIm5iZiI6MTYyNzQ4OTc4MiwiZXhwIjoxNjI3NDkwMjAyLCJ0b2tlblR5cGUiOiJSRUZSRVNIIn0.GF1H-2VEel1UsloQOsK3Q4t1cxKHQh-OOKW2Sn44eaDsgGvx8HkBogn9lum8MaH6zW4YDgf5Hv-ZE0U9l11OyuzhlhPN8O5fdSYAgG2w6UzZOfsUC63cRix95N11iCJsiYr2-AViv7SNdvNUz3SQW9iXgt_wAldzeqSVSvYK8jNgoUuCvw54qfKQDAsL7wy3HH0JVAnlkHiYYKa8QzciI6RLooT5ZPuavcwbg6Lansf_rXxJ5yFTdwoCjgJEnA3ZxmJNwFFPfmxf_uvnDXpjNEUiy3Wux4KreK5xadzoNQMgafjYPAx3QzmCFmCnKGdVz8lI_f21nqmS_tn89Jl-bqh0raJnQEJzcVr7aO1g3x6o1Ef3tp8mrx414ruU3vO-IsoOjIWp2ns9U43iFkjNmcl5FCCDGANc_HQU3aqr9gr8MbdpV2zAESbmZqmW9Q4v2OmTfENI5fflooeKGv19eDAmYIIcKLKYFcSY2SmUGyQEPrp2XOZumy1peZ3DsCuX",
    "expires_in": 300
}
CODE

You must use the access token for authentication; do not use the refresh token.