AppDynamics Alert and Respond API

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.

OpenAPI Specification

appdynamics-alert-and-respond-api-openapi.yml Raw ↑
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.