AppDynamics Database Agent API

The AppDynamics Database Agent API provides HTTP endpoints for managing Database Monitoring database Collectors. Developers can programmatically create, retrieve, update, and delete database collectors that monitor the performance and availability of database instances. This API enables automation of database monitoring setup and management, making it possible to scale database visibility across large environments without manual configuration through the Controller UI.

OpenAPI Specification

appdynamics-database-agent-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AppDynamics Database Agent API
  description: >-
    The AppDynamics Database Agent API provides HTTP endpoints for managing
    Database Monitoring database Collectors. Developers can programmatically
    create, retrieve, update, and delete database collectors that monitor
    the performance and availability of database instances. This API enables
    automation of database monitoring setup and management, making it
    possible to scale database visibility across large environments without
    manual configuration through the Controller UI.
  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: Database Visibility API Documentation
  url: https://docs.appdynamics.com/appd/23.x/latest/en/extend-appdynamics/appdynamics-apis/database-visibility-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: Database Collectors
    description: >-
      Manage database collectors that monitor performance and availability
      of database instances including creation, retrieval, update, and
      deletion.
security:
  - bearerAuth: []
  - basicAuth: []
paths:
  /rest/databases/collectors:
    get:
      operationId: listDatabaseCollectors
      summary: List all database collectors
      description: >-
        Returns a list of all configured database collectors with their
        connection details, monitoring status, and configuration settings.
      tags:
        - Database Collectors
      responses:
        '200':
          description: Successful retrieval of database collector list
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DatabaseCollector'
        '401':
          description: Unauthorized - invalid or missing credentials
  /rest/databases/collectors/{configurationId}:
    get:
      operationId: getDatabaseCollector
      summary: Get a specific database collector
      description: >-
        Returns the full configuration details for a specific database
        collector identified by its configuration ID.
      tags:
        - Database Collectors
      parameters:
        - $ref: '#/components/parameters/configurationId'
      responses:
        '200':
          description: Successful retrieval of database collector
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseCollector'
        '401':
          description: Unauthorized - invalid or missing credentials
        '404':
          description: Database collector not found
    delete:
      operationId: deleteDatabaseCollector
      summary: Delete a database collector
      description: >-
        Deletes the specified database collector and stops monitoring the
        associated database instance.
      tags:
        - Database Collectors
      parameters:
        - $ref: '#/components/parameters/configurationId'
      responses:
        '200':
          description: Database collector deleted successfully
        '401':
          description: Unauthorized - invalid or missing credentials
        '404':
          description: Database collector not found
  /rest/databases/collectors/create:
    post:
      operationId: createDatabaseCollector
      summary: Create a database collector
      description: >-
        Creates a new database collector with the specified connection details
        and monitoring configuration. The required fields vary based on the
        type of database being monitored.
      tags:
        - Database Collectors
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseCollector'
      responses:
        '200':
          description: Database collector created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseCollector'
        '400':
          description: Bad request - invalid collector configuration
        '401':
          description: Unauthorized - invalid or missing credentials
  /rest/databases/collectors/update:
    post:
      operationId: updateDatabaseCollector
      summary: Update a database collector
      description: >-
        Updates an existing database collector with modified configuration.
        Retrieve the current configuration first using GET, modify the
        desired fields, and send the complete object back.
      tags:
        - Database Collectors
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseCollector'
      responses:
        '200':
          description: Database collector updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseCollector'
        '400':
          description: Bad request - invalid collector configuration
        '401':
          description: Unauthorized - invalid or missing credentials
        '404':
          description: Database collector not found
  /rest/databases/collectors/batchDelete:
    post:
      operationId: batchDeleteDatabaseCollectors
      summary: Batch delete database collectors
      description: >-
        Deletes multiple database collectors in a single request by providing
        an array of configuration IDs.
      tags:
        - Database Collectors
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              description: >-
                Array of configuration IDs to delete.
              items:
                type: integer
                format: int64
      responses:
        '200':
          description: Database collectors deleted successfully
        '400':
          description: Bad request - invalid configuration IDs
        '401':
          description: Unauthorized - invalid or missing credentials
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:
    configurationId:
      name: configurationId
      in: path
      required: true
      description: >-
        The numeric configuration ID of the database collector.
      schema:
        type: integer
        format: int64
  schemas:
    DatabaseCollector:
      type: object
      description: >-
        A database collector configuration that defines how to connect to and
        monitor a specific database instance.
      properties:
        id:
          type: integer
          format: int64
          description: >-
            The internal configuration ID for the database collector.
        name:
          type: string
          description: >-
            The display name for the database collector.
        type:
          type: string
          description: >-
            The type of database being monitored.
          enum:
            - MYSQL
            - ORACLE
            - MSSQL
            - POSTGRESQL
            - MONGODB
            - SYBASE
            - DB2
            - AURORA
        hostname:
          type: string
          description: >-
            The hostname or IP address of the database server.
        port:
          type: integer
          description: >-
            The port number for the database connection.
          minimum: 1
          maximum: 65535
        username:
          type: string
          description: >-
            The username for authenticating with the database.
        password:
          type: string
          description: >-
            The password for authenticating with the database. Only used in
            create and update requests.
        databaseName:
          type: string
          description: >-
            The name of the specific database to monitor.
        enabled:
          type: boolean
          description: >-
            Whether the database collector is enabled and actively monitoring.
        agentName:
          type: string
          description: >-
            The name of the Database Agent responsible for this collector.
        excludedSchemas:
          type: array
          description: >-
            List of schema names to exclude from monitoring.
          items:
            type: string