Webhook#

get_webhook#

Code samples

#  You can also use wget

curl -X GET https://PEM-SERVER-IP/pem/api/v17/webhook/ \
  -H Accept: application/json \
  -H X-Auth-Token: string
import requests
headers = {
  Accept: application/json,
  X-Auth-Token: string
}

r = requests.get(https://PEM-SERVER-IP/pem/api/v17/webhook/, headers = headers)

print(r.json())
const headers = {
  Accept: "application/json",
  "X-Auth-Token": "string",
};

fetch("https://PEM-SERVER-IP/pem/api/v17/webhook/", {
  method: "GET",

  headers: headers,
})
  .then(function (res) {
    return res.json();
  })
  .then(function (body) {
    console.log(body);
  });

GET /webhook/

Retrieve the webhook list.

Returns a list of webhooks. Supports optional name-based filtering via name (exact match) or name_contains (substring search) query parameters.

Parameters#

Name

In

Type

Required

Description

X-Auth-Token

header

string

true

Token of authorization

name

query

string

false

Filter webhooks by exact name match (case-sensitive). Mutually exclusive with name_contains.

name_contains

query

string

false

Filter webhooks by substring match (case-insensitive). Mutually exclusive with name.

Example responses

[
  {
    "id": 0,
    "name": "string",
    "url": "string",
    "enabled": true,
    "method": "POST",
    "http_headers": [
      {
        "http_header_id": 0,
        "http_header_key": "string",
        "http_header_value": "string"
      }
    ],
    "payload_template": "{text: You have new alert from PEM, attachments: [{text: AlertID \n%AlertID% \nAlertName \n%AlertName%}]}",
    "low_alert": true,
    "med_alert": true,
    "high_alert": true,
    "cleared_alert": true,
    "payload_type": "ALERT"
  }
]

Responses#

Status

Meaning

Description

Schema

200

Invoking the server installer from the command line

Status 200

Inline

400

Bad Request

Mutual-exclusivity violation: name (or analogous exact-match filter) and name_contains (or analogous substring filter) were both supplied in the same request. Filtering accepts only one of the pair.

Inline

Response Schema#

Status Code 200

Name

Type

Required

Restrictions

Description

_anonymous_

Platform Compatibility ]

false

none

none

» id

integer

false

none

Webhook ID

» name

string

false

none

Webhook name

» url

string

false

none

Webhook URL

» enabled

boolean

false

none

Determines whether the webhook is enabled.

» method

string

false

none

Request method

» http_headers

Platform Compatibility ]

false

none

List of the HTTP header key/value pairs to be used by the webhook

»» http_header_id

integer

false

none

ID of the HTTP header

»» http_header_key

string

false

none

Name of the HTTP header key

»» http_header_value

string

false

none

Name of the HTTP header key

» payload_template

string

false

none

Payload template. Below is payload example for slack.

» low_alert

boolean

false

none

Determines whether the low alert is enabled.

» med_alert

boolean

false

none

Determines whether the medium alert is enabled.

» high_alert

boolean

false

none

Determines whether the high alert is enabled.

» cleared_alert

boolean

false

none

Determines whether the cleared alert is enabled.

» payload_type

string

false

none

Payload type

Enumerated Values#

Property

Value

method

POST

method

PUT

payload_type

ALERT

payload_type

JOB

Status Code 400

Name

Type

Required

Restrictions

Description

» success

integer

false

none

none

» errormsg

string

false

none

none

Note

This operation does not require authentication

post_webhook#

Code samples

#  You can also use wget

curl -X POST https://PEM-SERVER-IP/pem/api/v17/webhook/ \
  -H Content-Type: application/json \
  -H X-Auth-Token: string
import requests
headers = {
  Content-Type: application/json,
  X-Auth-Token: string
}

r = requests.post(https://PEM-SERVER-IP/pem/api/v17/webhook/, headers = headers)

print(r.json())
const inputBody = {
  "name": "string",
  "url": "string",
  "enabled": true,
  "method": "POST",
  "http_headers": [
    {
      "http_header_key": "string",
      "http_header_value": "string"
    }
  ],
  "payload_template": "{ Alert Name:%AlertName%,type:Webhook }",
  "low_alert": true,
  "med_alert": true,
  "high_alert": true,
  "cleared_alert": true,
  "payload_type": "ALERT"
};
const headers = {
  Content-Type:application/json,
  X-Auth-Token:string
};

fetch(https://PEM-SERVER-IP/pem/api/v17/webhook/,
{
  method: POST,
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /webhook/

Add a new webhook.

Body parameter

{
  "name": "string",
  "url": "string",
  "enabled": true,
  "method": "POST",
  "http_headers": [
    {
      "http_header_key": "string",
      "http_header_value": "string"
    }
  ],
  "payload_template": "{ Alert Name:%AlertName%,type:Webhook }",
  "low_alert": true,
  "med_alert": true,
  "high_alert": true,
  "cleared_alert": true,
  "payload_type": "ALERT"
}

Parameters#

Name

In

Type

Required

Description

X-Auth-Token

header

string

true

Token of authorization

body

body

WebhookPostData

true

none

Example responses

Responses#

Status

Meaning

Description

Schema

200

Invoking the server installer from the command line

Webhook created successfully.

None

Response Schema#

Note

This operation does not require authentication

get_webhook{webhook_id}#

Code samples

#  You can also use wget

curl -X GET https://PEM-SERVER-IP/pem/api/v17/webhook/{webhook_id} \
  -H Accept: application/json \
  -H X-Auth-Token: string
import requests
headers = {
  Accept: application/json,
  X-Auth-Token: string
}

r = requests.get(https://PEM-SERVER-IP/pem/api/v17/webhook/{webhook_id}, headers = headers)

print(r.json())
const headers = {
  Accept: "application/json",
  "X-Auth-Token": "string",
};

fetch("https://PEM-SERVER-IP/pem/api/v17/webhook/{webhook_id}", {
  method: "GET",

  headers: headers,
})
  .then(function (res) {
    return res.json();
  })
  .then(function (body) {
    console.log(body);
  });

GET /webhook/{webhook_id}

Retrieve information for the webhook, identified by the webhook_id.

Parameters#

Name

In

Type

Required

Description

webhook_id

path

string

true

none

X-Auth-Token

header

string

true

Token of authorization

Example responses

{
  "id": 0,
  "name": "string",
  "url": "string",
  "enabled": true,
  "method": "POST",
  "http_headers": [
    {
      "http_header_id": 0,
      "http_header_key": "string",
      "http_header_value": "string"
    }
  ],
  "payload_template": "{text: You have new alert from PEM, attachments: [{text: AlertID \n%AlertID% \nAlertName \n%AlertName%}]}",
  "low_alert": true,
  "med_alert": true,
  "high_alert": true,
  "cleared_alert": true,
  "payload_type": "ALERT"
}

Responses#

Status

Meaning

Description

Schema

200

Invoking the server installer from the command line

Status 200

Webhooks

Note

This operation does not require authentication

put_webhook{webhook_id}#

Code samples

#  You can also use wget

curl -X PUT https://PEM-SERVER-IP/pem/api/v17/webhook/{webhook_id} \
  -H Content-Type: application/json \
  -H X-Auth-Token: string
import requests
headers = {
  Content-Type: application/json,
  X-Auth-Token: string
}

r = requests.put(https://PEM-SERVER-IP/pem/api/v17/webhook/{webhook_id}, headers = headers)

print(r.json())
const inputBody = {
  "name": "string",
  "url": "string",
  "enabled": true,
  "method": "POST",
  "http_headers": {
    "added": [
      {
        "http_header_key": "string",
        "http_header_value": "string"
      }
    ],
    "changed": [
      {
        "http_header_id": 0,
        "http_header_key": "string",
        "http_header_value": "string"
      }
    ],
    "deleted": [
      {
        "http_header_id": 0
      }
    ],
    "payload_type": "ALERT"
  },
  "payload_template": "{text: You have new alert from PEM, attachments: [{text: AlertID \n%AlertID% \nAlertName \n%AlertName%}]}",
  "low_alert": true,
  "med_alert": true,
  "high_alert": true,
  "cleared_alert": true
};
const headers = {
  Content-Type:application/json,
  X-Auth-Token:string
};

fetch(https://PEM-SERVER-IP/pem/api/v17/webhook/{webhook_id},
{
  method: PUT,
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PUT /webhook/{webhook_id}

Update the webhook information.

Body parameter

{
  "name": "string",
  "url": "string",
  "enabled": true,
  "method": "POST",
  "http_headers": {
    "added": [
      {
        "http_header_key": "string",
        "http_header_value": "string"
      }
    ],
    "changed": [
      {
        "http_header_id": 0,
        "http_header_key": "string",
        "http_header_value": "string"
      }
    ],
    "deleted": [
      {
        "http_header_id": 0
      }
    ],
    "payload_type": "ALERT"
  },
  "payload_template": "{text: You have new alert from PEM, attachments: [{text: AlertID \n%AlertID% \nAlertName \n%AlertName%}]}",
  "low_alert": true,
  "med_alert": true,
  "high_alert": true,
  "cleared_alert": true
}

Parameters#

Name

In

Type

Required

Description

webhook_id

path

string

true

none

X-Auth-Token

header

string

true

Token of authorization

body

body

WebhookPutData

true

none

Example responses

Responses#

Status

Meaning

Description

Schema

200

Invoking the server installer from the command line

Webhook updated successfully.

None

Response Schema#

Note

This operation does not require authentication

delete_webhook{webhook_id}#

Code samples

#  You can also use wget

curl -X DELETE https://PEM-SERVER-IP/pem/api/v17/webhook/{webhook_id} \
  -H X-Auth-Token: string
import requests
headers = {
  X-Auth-Token: string
}

r = requests.delete(https://PEM-SERVER-IP/pem/api/v17/webhook/{webhook_id}, headers = headers)

print(r.json())
const headers = {
  "X-Auth-Token": "string",
};

fetch("https://PEM-SERVER-IP/pem/api/v17/webhook/{webhook_id}", {
  method: "DELETE",

  headers: headers,
})
  .then(function (res) {
    return res.json();
  })
  .then(function (body) {
    console.log(body);
  });

DELETE /webhook/{webhook_id}

Delete the webhook.

Parameters#

Name

In

Type

Required

Description

webhook_id

path

string

true

none

X-Auth-Token

header

string

true

Token of authorization

Example responses

Responses#

Status

Meaning

Description

Schema

200

Invoking the server installer from the command line

Webhook deleted successfully

None

Response Schema#

Note

This operation does not require authentication