openapi: 3.1.0 info: title: AppDynamics Alert and Respond API description: >- The AppDynamics Alert and Respond API enables programmatic management of health rules, policies, and actions within the AppDynamics Controller. Developers can create, update, and delete health rules that define performance thresholds, configure alerting policies that determine how violations are handled, and set up automated response actions. This API is essential for automating incident response workflows and integrating AppDynamics alerting with external notification and ticketing systems. version: '23.x' contact: name: Splunk AppDynamics Support url: https://www.appdynamics.com/support termsOfService: https://www.cisco.com/c/en/us/about/legal/cloud-and-software.html externalDocs: description: Alert and Respond API Documentation url: https://docs.appdynamics.com/appd/23.x/latest/en/extend-appdynamics/appdynamics-apis/alert-and-respond-api servers: - url: https://{controller-host}/controller description: AppDynamics Controller variables: controller-host: default: example.saas.appdynamics.com description: >- The hostname of your AppDynamics Controller instance. tags: - name: Actions description: >- Manage automated response actions triggered by policies including email notifications, HTTP requests, and custom scripts. - name: Health Rules description: >- Manage health rules that define performance thresholds and violation conditions for monitored applications. - name: Policies description: >- Manage alerting policies that connect health rule violations to automated response actions. security: - bearerAuth: [] - basicAuth: [] paths: /alerting/rest/v1/applications/{applicationId}/health-rules: get: operationId: listHealthRules summary: List health rules for an application description: >- Returns all health rules configured for the specified application including their conditions, thresholds, and evaluation criteria. tags: - Health Rules parameters: - $ref: '#/components/parameters/applicationId' responses: '200': description: Successful retrieval of health rules content: application/json: schema: type: array items: $ref: '#/components/schemas/HealthRule' '401': description: Unauthorized - invalid or missing credentials '404': description: Application not found post: operationId: createHealthRule summary: Create a health rule description: >- Creates a new health rule for the specified application with the provided configuration including affected entities, evaluation criteria, and thresholds. tags: - Health Rules parameters: - $ref: '#/components/parameters/applicationId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/HealthRule' responses: '201': description: Health rule created successfully content: application/json: schema: $ref: '#/components/schemas/HealthRule' '400': description: Bad request - invalid health rule configuration '401': description: Unauthorized - invalid or missing credentials '404': description: Application not found /alerting/rest/v1/applications/{applicationId}/health-rules/{healthRuleId}: get: operationId: getHealthRule summary: Get a specific health rule description: >- Returns the full configuration for a specific health rule identified by its ID. tags: - Health Rules parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/healthRuleId' responses: '200': description: Successful retrieval of health rule content: application/json: schema: $ref: '#/components/schemas/HealthRule' '401': description: Unauthorized - invalid or missing credentials '404': description: Health rule or application not found put: operationId: updateHealthRule summary: Update a health rule description: >- Updates an existing health rule with the provided configuration. The full health rule object must be sent in the request body. tags: - Health Rules parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/healthRuleId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/HealthRule' responses: '200': description: Health rule updated successfully content: application/json: schema: $ref: '#/components/schemas/HealthRule' '400': description: Bad request - invalid health rule configuration '401': description: Unauthorized - invalid or missing credentials '404': description: Health rule or application not found delete: operationId: deleteHealthRule summary: Delete a health rule description: >- Deletes the specified health rule from the application. tags: - Health Rules parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/healthRuleId' responses: '204': description: Health rule deleted successfully '401': description: Unauthorized - invalid or missing credentials '404': description: Health rule or application not found /alerting/rest/v1/applications/{applicationId}/policies: get: operationId: listPolicies summary: List policies for an application description: >- Returns all alerting policies configured for the specified application. Policies define which events or health rule violations trigger automated actions. tags: - Policies parameters: - $ref: '#/components/parameters/applicationId' responses: '200': description: Successful retrieval of policies content: application/json: schema: type: array items: $ref: '#/components/schemas/Policy' '401': description: Unauthorized - invalid or missing credentials '404': description: Application not found post: operationId: createPolicy summary: Create a policy description: >- Creates a new alerting policy for the specified application with event triggers and associated actions. tags: - Policies parameters: - $ref: '#/components/parameters/applicationId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Policy' responses: '201': description: Policy created successfully content: application/json: schema: $ref: '#/components/schemas/Policy' '400': description: Bad request - invalid policy configuration '401': description: Unauthorized - invalid or missing credentials /alerting/rest/v1/applications/{applicationId}/policies/{policyId}: get: operationId: getPolicy summary: Get a specific policy description: >- Returns the full configuration for a specific alerting policy. tags: - Policies parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/policyId' responses: '200': description: Successful retrieval of policy content: application/json: schema: $ref: '#/components/schemas/Policy' '401': description: Unauthorized - invalid or missing credentials '404': description: Policy or application not found put: operationId: updatePolicy summary: Update a policy description: >- Updates an existing alerting policy with the provided configuration. tags: - Policies parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/policyId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Policy' responses: '200': description: Policy updated successfully content: application/json: schema: $ref: '#/components/schemas/Policy' '400': description: Bad request - invalid policy configuration '401': description: Unauthorized - invalid or missing credentials '404': description: Policy or application not found delete: operationId: deletePolicy summary: Delete a policy description: >- Deletes the specified alerting policy from the application. tags: - Policies parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/policyId' responses: '204': description: Policy deleted successfully '401': description: Unauthorized - invalid or missing credentials '404': description: Policy or application not found /alerting/rest/v1/applications/{applicationId}/actions: get: operationId: listActions summary: List actions for an application description: >- Returns all automated response actions configured for the specified application including email actions, HTTP request actions, and custom script actions. tags: - Actions parameters: - $ref: '#/components/parameters/applicationId' responses: '200': description: Successful retrieval of actions content: application/json: schema: type: array items: $ref: '#/components/schemas/Action' '401': description: Unauthorized - invalid or missing credentials '404': description: Application not found post: operationId: createAction summary: Create an action description: >- Creates a new automated response action for the specified application. tags: - Actions parameters: - $ref: '#/components/parameters/applicationId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Action' responses: '201': description: Action created successfully content: application/json: schema: $ref: '#/components/schemas/Action' '400': description: Bad request - invalid action configuration '401': description: Unauthorized - invalid or missing credentials /alerting/rest/v1/applications/{applicationId}/actions/{actionId}: get: operationId: getAction summary: Get a specific action description: >- Returns the full configuration for a specific automated response action. tags: - Actions parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/actionId' responses: '200': description: Successful retrieval of action content: application/json: schema: $ref: '#/components/schemas/Action' '401': description: Unauthorized - invalid or missing credentials '404': description: Action or application not found put: operationId: updateAction summary: Update an action description: >- Updates an existing automated response action with the provided configuration. tags: - Actions parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/actionId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Action' responses: '200': description: Action updated successfully content: application/json: schema: $ref: '#/components/schemas/Action' '400': description: Bad request - invalid action configuration '401': description: Unauthorized - invalid or missing credentials '404': description: Action or application not found delete: operationId: deleteAction summary: Delete an action description: >- Deletes the specified automated response action from the application. tags: - Actions parameters: - $ref: '#/components/parameters/applicationId' - $ref: '#/components/parameters/actionId' responses: '204': description: Action deleted successfully '401': description: Unauthorized - invalid or missing credentials '404': description: Action or application not found components: securitySchemes: bearerAuth: type: http scheme: bearer description: >- OAuth 2.0 access token obtained from the /controller/api/oauth/access_token endpoint. basicAuth: type: http scheme: basic description: >- HTTP Basic authentication using user@account:password format. parameters: applicationId: name: applicationId in: path required: true description: >- The numeric ID of the business application. schema: type: integer format: int64 healthRuleId: name: healthRuleId in: path required: true description: >- The numeric ID of the health rule. schema: type: integer format: int64 policyId: name: policyId in: path required: true description: >- The numeric ID of the alerting policy. schema: type: integer format: int64 actionId: name: actionId in: path required: true description: >- The numeric ID of the automated response action. schema: type: integer format: int64 schemas: HealthRule: type: object description: >- A health rule that defines performance thresholds and conditions for triggering violations on monitored entities. properties: id: type: integer format: int64 description: >- The internal numeric identifier for the health rule. name: type: string description: >- The name of the health rule. enabled: type: boolean description: >- Whether the health rule is currently enabled. useDataFromLastNMinutes: type: integer description: >- The evaluation time window in minutes. waitTimeAfterViolation: type: integer description: >- Time in minutes to wait after a violation before re-evaluating. scheduleName: type: string description: >- The schedule that determines when this health rule is active. affects: type: object description: >- The entity scope affected by this health rule including affected entity type and selection criteria. evalCriterias: type: object description: >- The evaluation criteria containing critical and warning conditions with their metric thresholds. Policy: type: object description: >- An alerting policy that connects health rule violations and events to automated response actions. properties: id: type: integer format: int64 description: >- The internal numeric identifier for the policy. name: type: string description: >- The name of the policy. enabled: type: boolean description: >- Whether the policy is currently enabled. executeActionsInBatch: type: boolean description: >- Whether to batch action execution. actions: type: array description: >- The list of action references triggered by this policy. items: type: object properties: actionName: type: string description: >- The name of the referenced action. actionType: type: string description: >- The type of the referenced action. events: type: object description: >- The event filter configuration defining which events trigger this policy. selectedEntityType: type: string description: >- The type of entity this policy applies to. Action: type: object description: >- An automated response action that can be triggered by a policy such as sending an email, making an HTTP request, or running a script. properties: id: type: integer format: int64 description: >- The internal numeric identifier for the action. name: type: string description: >- The name of the action. actionType: type: string description: >- The type of action to execute. enum: - EMAIL - HTTP_REQUEST - CUSTOM - THREAD_DUMP - DIAGNOSTIC_SESSION - RUN_SCRIPT_ON_NODES emails: type: array description: >- Email addresses for EMAIL action type. items: type: string format: email customEmailTemplate: type: object description: >- Custom email template configuration for EMAIL action type. httpRequestTemplateName: type: string description: >- The HTTP request template name for HTTP_REQUEST action type. customProperties: type: object description: >- Custom properties for the action.