Get Started

The Cisco Observability Platform exposes various APIs to programmatically manage the actions when health rules are violated.

Base URI

Every Cisco Observability Platform Actions API request begins with this Base URI:

https://{tenant-name}.observe.appdynamics.com/alerting/v1beta

Authentication

The Cisco Observability Platform Actions API uses the Open Authentication 2.0 (OAuth2) token-based authentication. AppDynamics API requests adhere to a standard OAuth2 request format. You need a Service Principal and a valid JSON Web Token (JWT) to use this API. Service Principals are identities, represented as code, used by created applications, services, and automation tools to access specific resources. See Cisco Observability Platform Authentication.

HTTP Methods Allowed for Different User Roles

The users can use the following HTTP request methods for the API based on their Cisco Observability Platform Tenant roles:

Role HTTP Methods Allowed
Configuration Manager GET, PATCH, POST, PUT, and DELETE
Troubleshooter GET, PATCH, POST, PUT, and DELETE
Observer GET

For more information about the Cisco Observability Platform Tenant Roles, see Assign Roles for Cisco Observability Platform Tenants.

Sample Codes

Trigger Configuration

Trigger configuration is a resource that lets users define criteria on various events for which action needs to be triggered. A trigger links an action with a health rule.

Get All Triggers

Resource URL


GET https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers

Sample Request

curl --location --request GET 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers' \
--header 'Authorization: Bearer <access-token>
 

Sample Output for 200 (Success) Response

{
  "items": [
    {
      "id": "<trigger-identifier>",
      "createdOn": "1970-01-01T00:00:00.000Z",
      "modifiedOn": "1970-01-02T00:00:00.000Z",
      "name": "<trigger-name>",
      "triggerCriteria": [
        {
          "eventType": "alerting:healthrule.violation",
          "matchingConditions": [
            {
              "property": "event_type",
              "operator": "CONTAINS",
              "values": [
                "Violation Started: Warning",
                "Violation Started: Critical",
                "Violation Upgraded: Warning to Critical",
                "Violation Downgraded: Critical to Warning",
                "Violation Continues: Warning",
                "Violation Updated: Warning",
                "Violation Continues: Critical",
                "Violation Updated: Critical",
                "Violation Ended: Critical to Normal",
                "Violation Ended: Warning to Normal",
                "Violation Cancelled: Warning",
                "Violation Cancelled: Critical"
              ]
            },
            {
              "property": "config_id",
              "operator": "EQUALS",
              "values": ["<health-rule-identifier>"]
            }
          ]
        }
      ],
      "actionIds": ["<action-identifier>"],
      "enabled": true
    }
  ]
}

Get a Trigger by Identifier

Resource URL


GET https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers/<trigger-identifier>

Sample Request

curl --location --request GET 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers/<trigger-identifier>' \
--header 'Authorization: Bearer <access-token>'

Sample Output for 200 (Success) Response

{
  "id": "<trigger-identifier>",
  "createdOn": "1970-01-01T00:00:00.000Z",
  "modifiedOn": "1970-01-02T00:00:00.000Z",
  "name": "<trigger-name>",
  "triggerCriteria": [
    {
      "eventType": "alerting:healthrule.violation",
      "matchingConditions": [
        {
          "property": "event_type",
          "operator": "CONTAINS",
          "values": [
            "Violation Started: Warning",
            "Violation Started: Critical",
            "Violation Upgraded: Warning to Critical",
            "Violation Downgraded: Critical to Warning",
            "Violation Continues: Warning",
            "Violation Updated: Warning",
            "Violation Continues: Critical",
            "Violation Updated: Critical",
            "Violation Ended: Critical to Normal",
            "Violation Ended: Warning to Normal",
            "Violation Cancelled: Warning",
            "Violation Cancelled: Critical"
          ]
        },
        {
          "property": "config_id",
          "operator": "EQUALS",
          "values": ["<health-rule-identifier>"]
        }
      ]
    }
  ],
  "actionIds": ["<action-identifier>"],
  "enabled": true
}

Get All Triggers for a Specific Application

The supported key for the filter expression is metadata.applications co <application_name>.

Resource URL


GET https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers?filter=metadata.applications co "<application_name>"

Sample Request

curl --location --request GET 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers?filter=metadata.applications co "app-cco"' \
--header 'Authorization: Bearer <access-token>'  

Sample Output for 200 (Success) Response

{
  "items": [
    {
      "id": "<trigger-identifier>",
      "createdOn": "1970-01-01T00:00:00.000Z",
      "modifiedOn": "1970-01-02T00:00:00.000Z",
      "name": "<trigger-name>",
      "triggerCriteria": [
        {
          "eventType": "alerting:healthrule.violation",
          "matchingConditions": [
            {
              "property": "event_type",
              "operator": "CONTAINS",
              "values": [
                "Violation Started: Warning",
                "Violation Started: Critical",
                "Violation Upgraded: Warning to Critical",
                "Violation Downgraded: Critical to Warning",
                "Violation Continues: Warning",
                "Violation Updated: Warning",
                "Violation Continues: Critical",
                "Violation Updated: Critical",
                "Violation Ended: Critical to Normal",
                "Violation Ended: Warning to Normal",
                "Violation Cancelled: Warning",
                "Violation Cancelled: Critical"
              ]
            },
            {
              "property": "config_id",
              "operator": "EQUALS",
              "values": ["<health-rule-identifier>"]
            }
          ]
        }
      ],
      "actionIds": ["<action-identifier>"],
      "enabled": true,
      "metadata": {
        "applications": [
            "app-cco"
        ]
      }
    }
  ]
} 

Create a Trigger

Resource URL


POST https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers

Sample Request

curl --location --request POST 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers' \
--header 'Authorization: Bearer <access-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "<trigger-name>",
  "triggerCriteria": [
    {
      "eventType": "alerting:healthrule.violation",
      "matchingConditions": [
        {
          "property": "event_type",
          "operator": "CONTAINS",
          "values": [
            "Violation Started: Warning",
            "Violation Started: Critical",
            "Violation Upgraded: Warning to Critical",
            "Violation Downgraded: Critical to Warning",
            "Violation Continues: Warning",
            "Violation Updated: Warning",
            "Violation Continues: Critical",
            "Violation Updated: Critical",
            "Violation Ended: Critical to Normal",
            "Violation Ended: Warning to Normal",
            "Violation Cancelled: Warning",
            "Violation Cancelled: Critical"
          ]
        },
        {
          "property": "config_id",
          "operator": "EQUALS",
          "values": ["<health-rule-identifier>"]
        }
      ]
    }
  ],
  "actionIds": ["<action-identifier>"],
  "enabled": true
}'

Sample Output for 200 (Success) Response

{
  "id": "<trigger-identifier>",
  "createdOn": "1970-01-01T00:00:00.000Z",
  "modifiedOn": "1970-01-01T00:00:00.000Z",
  "name": "<trigger-name>",
  "triggerCriteria": [
    {
      "eventType": "alerting:healthrule.violation",
      "matchingConditions": [
        {
          "property": "event_type",
          "operator": "CONTAINS",
          "values": [
            "Violation Started: Warning",
            "Violation Started: Critical",
            "Violation Upgraded: Warning to Critical",
            "Violation Downgraded: Critical to Warning",
            "Violation Continues: Warning",
            "Violation Updated: Warning",
            "Violation Continues: Critical",
            "Violation Updated: Critical",
            "Violation Ended: Critical to Normal",
            "Violation Ended: Warning to Normal",
            "Violation Cancelled: Warning",
            "Violation Cancelled: Critical"
          ]
        },
        {
          "property": "config_id",
          "operator": "EQUALS",
          "values": ["<health-rule-identifier>"]
        }
      ]
    }
  ],
  "actionIds": ["<action-identifier>"],
  "enabled": true
}

Create a Trigger for a Specific Application

You need to specify the application name in the metadata applications in the request body.

Resource URL


POST https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers

Sample Request

curl --location --request POST 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers' \
--header 'Authorization: Bearer <access-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "<trigger-name>",
  "triggerCriteria": [
    {
      "eventType": "alerting:healthrule.violation",
      "matchingConditions": [
        {
          "property": "event_type",
          "operator": "CONTAINS",
          "values": [
            "Violation Started: Warning",
            "Violation Started: Critical",
            "Violation Upgraded: Warning to Critical",
            "Violation Downgraded: Critical to Warning",
            "Violation Continues: Warning",
            "Violation Updated: Warning",
            "Violation Continues: Critical",
            "Violation Updated: Critical",
            "Violation Ended: Critical to Normal",
            "Violation Ended: Warning to Normal",
            "Violation Cancelled: Warning",
            "Violation Cancelled: Critical"
          ]
        },
        {
          "property": "config_id",
          "operator": "EQUALS",
          "values": ["<health-rule-identifier>"]
        }
      ]
    }
  ],
  "actionIds": ["<action-identifier>"],
  "enabled": true,
  "metadata": {
      "applications": [
          "app-cco"
      ]
  }
}' 

Sample Output for 200 (Success) Response

{
  "id": "<trigger-identifier>",
  "createdOn": "1970-01-01T00:00:00.000Z",
  "modifiedOn": "1970-01-01T00:00:00.000Z",
  "name": "<trigger-name>",
  "triggerCriteria": [
    {
      "eventType": "alerting:healthrule.violation",
      "matchingConditions": [
        {
          "property": "event_type",
          "operator": "CONTAINS",
          "values": [
            "Violation Started: Warning",
            "Violation Started: Critical",
            "Violation Upgraded: Warning to Critical",
            "Violation Downgraded: Critical to Warning",
            "Violation Continues: Warning",
            "Violation Updated: Warning",
            "Violation Continues: Critical",
            "Violation Updated: Critical",
            "Violation Ended: Critical to Normal",
            "Violation Ended: Warning to Normal",
            "Violation Cancelled: Warning",
            "Violation Cancelled: Critical"
          ]
        },
        {
          "property": "config_id",
          "operator": "EQUALS",
          "values": ["<health-rule-identifier>"]
        }
      ]
    }
  ],
  "actionIds": ["<action-identifier>"],
  "enabled": true,
  "metadata": {
      "applications": [
          "app-cco"
      ]
  }
} 

Update a Trigger by Identifier

Resource URL


PUT https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers/<trigger-identifier>

Sample Request


curl --location --request PUT 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers/<trigger-identifier>' \
--header 'Authorization: Bearer <access-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "<trigger-name>",
  "triggerCriteria": [
    {
      "eventType": "alerting:healthrule.violation",
      "matchingConditions": [
        {
          "property": "event_type",
          "operator": "CONTAINS",
          "values": [
            "Violation Started: Warning",
            "Violation Started: Critical",
            "Violation Upgraded: Warning to Critical",
            "Violation Downgraded: Critical to Warning",
            "Violation Continues: Warning",
            "Violation Updated: Warning",
            "Violation Continues: Critical",
            "Violation Updated: Critical",
            "Violation Ended: Critical to Normal",
            "Violation Ended: Warning to Normal",
            "Violation Cancelled: Warning",
            "Violation Cancelled: Critical"
          ]
        },
        {
          "property": "config_id",
          "operator": "EQUALS",
          "values": ["<health-rule-identifier>"]
        }
      ]
    }
  ],
  "actionIds": ["<action-identifier>"],
  "enabled": true
}'

Sample Output for 200 (Success) Response

{
  "id": "<trigger-identifier>",
  "createdOn": "1970-01-01T00:00:00.000Z",
  "modifiedOn": "1970-01-02T00:00:00.000Z",
  "name": "<trigger-name>",
  "triggerCriteria": [
    {
      "eventType": "alerting:healthrule.violation",
      "matchingConditions": [
        {
          "property": "event_type",
          "operator": "CONTAINS",
          "values": [
            "Violation Started: Warning",
            "Violation Started: Critical",
            "Violation Upgraded: Warning to Critical",
            "Violation Downgraded: Critical to Warning",
            "Violation Continues: Warning",
            "Violation Updated: Warning",
            "Violation Continues: Critical",
            "Violation Updated: Critical",
            "Violation Ended: Critical to Normal",
            "Violation Ended: Warning to Normal",
            "Violation Cancelled: Warning",
            "Violation Cancelled: Critical"
          ]
        },
        {
          "property": "config_id",
          "operator": "EQUALS",
          "values": ["<health-rule-identifier>"]
        }
      ]
    }
  ],
  "actionIds": ["<action-identifier>"],
  "enabled": true
}

Delete a Trigger by Identifier

Resource URL


DELETE https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers/<trigger-identifier>

Sample Request

curl --location --request DELETE 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/triggers/<trigger-identifier>' \
--header 'Authorization: Bearer <access-token>'

Action Configuration

The action configuration specifies the actions that need to be executed and can be linked to a trigger. The action is a separate resource that exists outside of a trigger and can be reused across triggers or linked to multiple triggers.

Get All Actions

Resource URL


GET https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions

Sample Request

curl --location --request GET 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions' \
--header 'Authorization: Bearer <access-token>'

Sample Output for 200 (Success) Response

{
  "items": [
    {
      "id": "<action-identifier>",
      "createdOn": "1970-01-01T00:00:00.000Z",
      "modifiedOn": "1970-01-02T00:00:00.000Z",
      "name": "<action-name>",
      "enabled": true,
      "type": "HTTP_REQUEST",
      "requestParameters": {
        "requestType": "POST",
        "rawUrl": "https://hooks.slack.com/services/<webhook>",
        "encodingType": "UTF-8"
      },
      "authentication": {
        "authenticationType": "BASIC",
        "username": "<username>",
        "password": "<password>"
      },
      "requestPayload": {
        "contentType": "application/json",
        "rawPayload": "{\"attachments\":[{\"fallback\":\"The text could not be rendered.\",\"color\":\"#36a64f\",\"mrkdwn_in\":[\"text\"],\"text\":\"action : ${action}\"}],\"channel\":\"<channel>\",\"username\":\"Test alert\",\"icon_emoji\":\":appd:\"}",
        "encodingType": "UTF-8"
      },
      "connectionTimeoutMillis": 1000,
      "socketTimeoutMillis": 1000,
      "overallTimeoutMillis": 2000,
      "maxRedirects": 5
    }
  ]
}

Get an Action by Identifier

Resource URL


GET https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions/<action-identifier>

Sample Request

curl --location --request GET 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions/<action-identifier>' \
--header 'Authorization: Bearer <access-token>'

Sample Output for 200 (Success) Response

{
  "id": "<action-identifier>",
  "createdOn": "1970-01-01T00:00:00.000Z",
  "modifiedOn": "1970-01-02T00:00:00.000Z",
  "name": "<action-name>",
  "enabled": true,
  "type": "HTTP_REQUEST",
  "requestParameters": {
    "requestType": "POST",
    "rawUrl": "https://hooks.slack.com/services/<webhook>",
    "encodingType": "UTF-8"
  },
  "authentication": {
    "authenticationType": "BASIC",
    "username": "<username>",
    "password": "<password>"
  },
  "requestPayload": {
    "contentType": "application/json",
    "rawPayload": "{\"attachments\":[{\"fallback\":\"The text could not be rendered.\",\"color\":\"#36a64f\",\"mrkdwn_in\":[\"text\"],\"text\":\"action : ${action}\"}],\"channel\":\"<channel>\",\"username\":\"Test alert\",\"icon_emoji\":\":appd:\"}",
    "encodingType": "UTF-8"
  },
  "connectionTimeoutMillis": 1000,
  "socketTimeoutMillis": 1000,
  "overallTimeoutMillis": 2000,
  "maxRedirects": 5
}

Get All Actions for a Specific Application

The supported key for the filter expression is metadata.applications co <application_name>.

Resource URL

GET https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions?filter=metadata.applications co "<application_name>"

Sample Request

curl --location --request GET 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions?filter=metadata.applications co "app-cco"' \
--header 'Authorization: Bearer <access-token>' 

Sample Output for 200 (Success) Response

{
  "items": [
    {
      "id": "<action-identifier>",
      "createdOn": "1970-01-01T00:00:00.000Z",
      "modifiedOn": "1970-01-02T00:00:00.000Z",
      "name": "<action-name>",
      "enabled": true,
      "type": "HTTP_REQUEST",
      "requestParameters": {
        "requestType": "POST",
        "rawUrl": "https://hooks.slack.com/services/<webhook>",
        "encodingType": "UTF-8"
      },
      "authentication": {
        "authenticationType": "BASIC",
        "username": "<username>",
        "password": "<password>"
      },
      "requestPayload": {
        "contentType": "application/json",
        "rawPayload": "{\"attachments\":[{\"fallback\":\"The text could not be rendered.\",\"color\":\"#36a64f\",\"mrkdwn_in\":[\"text\"],\"text\":\"action : ${action}\"}],\"channel\":\"<channel>\",\"username\":\"Test alert\",\"icon_emoji\":\":appd:\"}",
        "encodingType": "UTF-8"
      },
      "connectionTimeoutMillis": 1000,
      "socketTimeoutMillis": 1000,
      "overallTimeoutMillis": 2000,
      "maxRedirects": 5,
      "metadata": {
        "applications": [
          "app-cco"
        ]
      }
    }
  ]
} 

Create an Action

Resource URL


POST https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions

Sample Request

curl --location --request POST 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions' \
--header 'Authorization: Bearer <access-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "<action-name>",
  "enabled": true,
  "type": "HTTP_REQUEST",
  "requestParameters": {
    "requestType": "POST",
    "rawUrl": "https://hooks.slack.com/services/<webhook>",
    "encodingType": "UTF-8"
  },
  "authentication": {
    "authenticationType": "BASIC",
    "username": "<username>",
    "password": "<password>"
  },
  "requestPayload": {
    "contentType": "application/json",
    "rawPayload": "{\"attachments\":[{\"fallback\":\"The text could not be rendered.\",\"color\":\"#36a64f\",\"mrkdwn_in\":[\"text\"],\"text\":\"action : ${action}\"}],\"channel\":\"<channel>\",\"username\":\"Test alert\",\"icon_emoji\":\":appd:\"}",
    "encodingType": "UTF-8"
  },
  "connectionTimeoutMillis": 1000,
  "socketTimeoutMillis": 1000,
  "overallTimeoutMillis": 2000,
  "maxRedirects": 5
}'

Sample Output for 200 (Success) Response

{
  "id": "<action-identifier>",
  "createdOn": "1970-01-01T00:00:00.000Z",
  "modifiedOn": "1970-01-01T00:00:00.000Z",
  "name": "<action-name>",
  "enabled": true,
  "type": "HTTP_REQUEST",
  "requestParameters": {
    "requestType": "POST",
    "rawUrl": "https://hooks.slack.com/services/<webhook>",
    "encodingType": "UTF-8"
  },
  "authentication": {
    "authenticationType": "BASIC",
    "username": "<username>",
    "password": "<password>"
  },
  "requestPayload": {
    "contentType": "application/json",
    "rawPayload": "{\"attachments\":[{\"fallback\":\"The text could not be rendered.\",\"color\":\"#36a64f\",\"mrkdwn_in\":[\"text\"],\"text\":\"action : ${action}\"}],\"channel\":\"<channel>\",\"username\":\"Test alert\",\"icon_emoji\":\":appd:\"}",
    "encodingType": "UTF-8"
  },
  "connectionTimeoutMillis": 1000,
  "socketTimeoutMillis": 1000,
  "overallTimeoutMillis": 2000,
  "maxRedirects": 5
}

Create an Action for a Specific Application

You need to specify the application name in the metadata applications in the request body.

Resource URL

POST https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions

Sample Request

curl --location --request POST 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions' \
--header 'Authorization: Bearer <access-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "<action-name>",
  "enabled": true,
  "type": "HTTP_REQUEST",
  "requestParameters": {
    "requestType": "POST",
    "rawUrl": "https://hooks.slack.com/services/<webhook>",
    "encodingType": "UTF-8"
  },
  "authentication": {
    "authenticationType": "BASIC",
    "username": "<username>",
    "password": "<password>"
  },
  "requestPayload": {
    "contentType": "application/json",
    "rawPayload": "{\"attachments\":[{\"fallback\":\"The text could not be rendered.\",\"color\":\"#36a64f\",\"mrkdwn_in\":[\"text\"],\"text\":\"action : ${action}\"}],\"channel\":\"<channel>\",\"username\":\"Test alert\",\"icon_emoji\":\":appd:\"}",
    "encodingType": "UTF-8"
  },
  "connectionTimeoutMillis": 1000,
  "socketTimeoutMillis": 1000,
  "overallTimeoutMillis": 2000,
  "maxRedirects": 5,
  "metadata": {
    "applications": [
      "app-cco"
    ]
  }
}' 

Sample Output for 200 (Success) Response


{
  "id": "<action-identifier>",
  "createdOn": "1970-01-01T00:00:00.000Z",
  "modifiedOn": "1970-01-01T00:00:00.000Z",
  "name": "<action-name>",
  "enabled": true,
  "type": "HTTP_REQUEST",
  "requestParameters": {
    "requestType": "POST",
    "rawUrl": "https://hooks.slack.com/services/<webhook>",
    "encodingType": "UTF-8"
  },
  "authentication": {
    "authenticationType": "BASIC",
    "username": "<username>",
    "password": "<password>"
  },
  "requestPayload": {
    "contentType": "application/json",
    "rawPayload": "{\"attachments\":[{\"fallback\":\"The text could not be rendered.\",\"color\":\"#36a64f\",\"mrkdwn_in\":[\"text\"],\"text\":\"action : ${action}\"}],\"channel\":\"<channel>\",\"username\":\"Test alert\",\"icon_emoji\":\":appd:\"}",
    "encodingType": "UTF-8"
  },
  "connectionTimeoutMillis": 1000,
  "socketTimeoutMillis": 1000,
  "overallTimeoutMillis": 2000,
  "maxRedirects": 5,
  "metadata": {
    "applications": [
      "app-cco"
    ]
  }
} 

Update an Action by Identifier

Resource URL


PUT https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions/<action-identifier>

Sample Request

curl --location --request PUT 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions/<action-identifier>' \
--header 'Authorization: Bearer <access-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "name": "<action-name>",
  "enabled": true,
  "type": "HTTP_REQUEST",
  "requestParameters": {
    "requestType": "POST",
    "rawUrl": "https://hooks.slack.com/services/<webhook>",
    "encodingType": "UTF-8"
  },
  "authentication": {
    "authenticationType": "BASIC",
    "username": "<username>",
    "password": "<password>"
  },
  "requestPayload": {
    "contentType": "application/json",
    "rawPayload": "{\"attachments\":[{\"fallback\":\"The text could not be rendered.\",\"color\":\"#36a64f\",\"mrkdwn_in\":[\"text\"],\"text\":\"action : ${action}\"}],\"channel\":\"<channel>\",\"username\":\"Test alert\",\"icon_emoji\":\":appd:\"}",
    "encodingType": "UTF-8"
  },
  "connectionTimeoutMillis": 1000,
  "socketTimeoutMillis": 1000,
  "overallTimeoutMillis": 2000,
  "maxRedirects": 5
}'

Sample Output for 200 (Success) Response


{
  "id": "<action-identifier>",
  "createdOn": "1970-01-01T00:00:00.000Z",
  "modifiedOn": "1970-01-02T00:00:00.000Z",
  "name": "<action-name>",
  "enabled": true,
  "type": "HTTP_REQUEST",
  "requestParameters": {
    "requestType": "POST",
    "rawUrl": "https://hooks.slack.com/services/<webhook>",
    "encodingType": "UTF-8"
  },
  "authentication": {
    "authenticationType": "BASIC",
    "username": "<username>",
    "password": "<password>"
  },
  "requestPayload": {
    "contentType": "application/json",
    "rawPayload": "{\"attachments\":[{\"fallback\":\"The text could not be rendered.\",\"color\":\"#36a64f\",\"mrkdwn_in\":[\"text\"],\"text\":\"action : ${action}\"}],\"channel\":\"<channel>\",\"username\":\"Test alert\",\"icon_emoji\":\":appd:\"}",
    "encodingType": "UTF-8"
  },
  "connectionTimeoutMillis": 1000,
  "socketTimeoutMillis": 1000,
  "overallTimeoutMillis": 2000,
  "maxRedirects": 5
}

Delete an Action by Identifier

Resource URL

DELETE 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions/<action-identifier>

Sample Request

curl --location --request DELETE 'https://<tenant-name>.observe.appdynamics.com/alerting/v1beta/actions/<action-identifier>' \
--header 'Authorization: Bearer <access-token>'