AppDynamics Custom Metrics API

Upload custom metrics to the AppDynamics Controller through the Machine Agent HTTP listener. Metrics must be uploaded at least once every 300 seconds to remain active.

OpenAPI Specification

appdynamics-custom-metrics-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AppDynamics Alert and Respond Actions Custom Metrics 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
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.
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Custom Metrics
  description: Upload custom metrics to the AppDynamics Controller through the Machine Agent HTTP listener. Metrics must be uploaded at least once every 300 seconds to remain active.
paths:
  /api/v1/metrics:
    post:
      operationId: publishCustomMetrics
      summary: Publish custom metrics
      description: Uploads one or more custom metrics to the AppDynamics Controller through the Machine Agent. Metrics must be uploaded at least once every 300 seconds (5 minutes) to remain active in the metric hierarchy. Each metric requires a name, aggregator type, and a 64-bit integer value.
      tags:
      - Custom Metrics
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              description: An array of custom metric objects to upload.
              items:
                $ref: '#/components/schemas/CustomMetric'
      responses:
        '200':
          description: Metrics uploaded successfully
        '400':
          description: Bad request - invalid metric data
        '503':
          description: Service unavailable - Machine Agent HTTP listener not enabled
components:
  schemas:
    CustomMetric:
      type: object
      description: A custom metric data point to upload to the Controller through the Machine Agent HTTP listener.
      required:
      - metricName
      - aggregatorType
      - value
      properties:
        metricName:
          type: string
          description: The full metric path name using pipe delimiters for hierarchy levels. For example, Custom Metrics|MyApp|RequestCount.
        aggregatorType:
          type: string
          description: The aggregation type that determines how metric values are rolled up across time periods and cluster nodes.
          enum:
          - AVERAGE
          - SUM
          - OBSERVATION
          - ADVANCED_AVERAGE
        value:
          type: integer
          format: int64
          description: The metric value as a 64-bit integer.
  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.
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