APM Command Center API

An overview of RESTful APIs implemented for APM Command Center. For each available web service, we list the supported HTTP verbs and request parameters.
This section provides an overview of RESTful APIs implemented for APM Command Center. For each available web service, the supported HTTP verbs and request parameters are listed. We recommend that you also read the APM Hypermedia API section for general information about how the RESTful API is implemented in
DX APM
.
Download the Latest Package from APM Command Center
Using the Command Center API, you can download the latest packages from APM Command Center and customize the behavior of the download by defining the required properties. For example, during the download you can customize the payload and define certain properties as hidden.
The URL to download the package can be obtained from this location:
ACC,
Packages,
Package Detail Screen, P
ackage URL
The endpoints to download the packages have been extended to add a POST request. For example:
POST /acc/apm/acc/downloadpackage/uid/SsApAZq75k3G/version/latest?format=archive&layout=bootstrap_preferred&packageDownloadSecurityToken=d19a78c5a88bfe750f3a7a4bcbd92971d40aaa1522d4fbc476c2e9f6033569f9x10
In the payload, define the json list of properties in the following format:
{ "list" : [ { "propertyName" : "com.wily.introscope.agent.soapexception.analyzer.enabled", "propertyValue" : "false", }, { "propertyName" : "com.wily.introscope.agent.soapheaderinsertion.enabled", "propertyValue" : "true", "hidden" : "true" // optional attribute of boolean type - default value is false }, }, { "propertyName" : "introscope.agent.agentName", "propertyValue" : "OverriddenAgent", "bundleName" : "tomcat", // optional attribute "hidden" : "false" // optional attribute of boolean type - default value is false }, { "propertyName" : "instrument.HTTPServletTracing", "propertyValue" : "Off", "bundleName" : "servlets", // optional attribute "hidden" : "false" // optional attribute of boolean type - default value is false ], "allowOnlyExistingProperties" : "false" // optional attribute, default value is false }
Similarly, you can define additional properties in the payload.
Property Name
Description
Example / Default Value
bundleName
Optional.
Define the name of the bundle.
The list of bundles inside of the specific package with id 2 (with uid: SsApAZq75k3G) can be obtained by the endpoint:
  • GET /acc/apm/acc/package/2/bundles
propertyName
Mandatory.
Define the property name.
The list of the property names of the specified bundleName (that is, the bundle that has the id: 91) can be obtained by the endpoint:
  • /acc/apm/acc/package/2/bundles/91/profile
propertyValue
Mandatory.
Define the property value.
None
hidden
Optional.
Define a boolean value:
true
or
false
if you want the parameter to be hidden during the package download.
If you set the value as
true
, its value will be commented out in the result package archive.
Default:
false
allowOnlyExistingProperties
Optional.
Define a boolean value:
true
or
false
If you set the value as
true
, then the validations during download throw the HTTP Error 400 in case the property name specified in POST body is not contained inside of any package bundle properties.
We recommend that you set the property as
true
, if you want to override only existing properties and perform the validation check run during the rest call.
Default:
false
Validation and Troubleshooting
When the endpoint successfully completes the validation, it returns the binary package of type zip or tar, based on the given platform, that is, Windows or Unix/Linux. This package contains the overridden or new parameters with the response code 200 OK.
However, if the validation fails, the response code 400 BAD REQUEST is returned to the user with the detailed error message.
APM Command Center supports the following public RESTful web services:
The URLs of the resources are all in the following format:
https://<APMtenanthost>/apm/appmap/acc/apm/acc/<resource name>
The APM Command Center tenant host comprises the name of the Enterprise Manager Pod inside of Kuberentes and the DNS name of the Kuberentes router. For example: 10-778046.KUBERNETES-ROUTER.The first number is the tenant number. The second number differs for each tenant. KUBERNETES-ROUTER is the Kubernetes router that is installed.
The following table shows all available APM Command Center API resources and the HTTP verbs and parameters they support.
Resource
HTTP Verbs
Parameters
GET
HEAD
POST
DELETE
OPTIONS
format
projection
page
size
sort
q
agent
A list of managed agents, including their properties.
Yes
Yes
No
No
Yes
JSON, CSV
list
Yes
Yes
Yes
Yes
agentUpdateTask
Ability to modify the log level of an individual agent.
Yes
Yes
Yes
No
Yes
JSON
No
Yes
Yes
Yes
No
diagnosticReport
A list of diagnostic reports, including the ability to download the reports.
Yes
Yes
No
No
Yes
JSON, ZIP
list
Yes
Yes
Yes
Yes
diagnosticReportTask
Provides the ability to generate a new diagnostic report for an agent.
Yes
Yes
Yes
No
Yes
JSON
No
Yes
Yes
Yes
No
controller
A list of Agent Controllers connected to the Configuration Server.
Yes
Yes
No
No
Yes
JSON, CSV
No
Yes
Yes
Yes
No
agentFileOperationTask
Provides the ability to push (or delete) a file to a directory on a remote system.
Yes
Yes
Yes
No
Yes
JSON
No
Yes
Yes
Yes
No
file
A list of files stored on the Configuration Server.
Yes
Yes
Yes
Yes
Yes
JSON
No
Yes
Yes
Yes
No
auditRecord
A list of audit records associated with operations that change the environment.
Yes
Yes
No
No
Yes
JSON
list
Yes
Yes
Yes
Yes
package
A list of created agent packages.
Yes
Yes
Yes
Yes
Yes
ZIP, TAR, archive
list
Yes
Yes
Yes
Yes
agentPackageTask
Ability to push agent bundles to the agent installation directory.
Yes
Yes
Yes
No
Yes
JSON
No
Yes
Yes
Yes
No
bundle
A list of available agent bundles.
Yes
Yes
Yes
Yes
Yes
JSON, archive
No
Yes
Yes
Yes
Yes
Note that the parameters format, projection, page, size, sort, q are case sensitive and must be in lower case (for example, Format=csv will not work).
Authentication
A security token is a randomly generated text string and is roughly equivalent to a text password. This token gives the API access to the Command Center's Web Service.
You can generate as many tokens as are required. You may change a token's description or delete a token using the Edit button. Tokens may be revoked only by deleting them. Any user can delete any token.
You can also see when a token was generated and when it was used for the last time.
Follow these steps:
  1. In the
    DX APM
    UI, select the
    Security
    tab.
  2. Select
    Generate New Token
    .
  3. Select
    Public API
    .
  4. (Optional) Select when the token expires.
  5. Select
    Generate Token
    .
  6. Copy the generated token.
    Note:
    Ensure that the token is immediately securely stored for future use. You cannot display it in the
    DX APM
    UI again.
  7. Use the token in your request's authorization header. See API Authentication and Authorization for details.