Webhook#

get_webhook#

Code samples

#  You can also use wget

curl -X GET https://PEM-SERVER-IP/api/v14/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/api/v14/webhook/, headers = headers)

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

fetch(https://PEM-SERVER-IP/api/v14/webhook/,
{
  method: GET,

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

GET /webhook/

  • Retrieve the webhook list.*

Parameters#

Name

In

Type

Required

Description

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

Inline

Response Schema#

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

Query information ]

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

Query information ]

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

Note

This operation does not require authentication

post_webhook#

Code samples

#  You can also use wget

curl -X POST https://PEM-SERVER-IP/api/v14/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/api/v14/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/api/v14/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/api/v14/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/api/v14/webhook/{webhook_id}, headers = headers)

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

fetch(https://PEM-SERVER-IP/api/v14/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

Webhook

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/api/v14/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/api/v14/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/api/v14/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/api/v14/webhook/{webhook_id} \
  -H X-Auth-Token: string
import requests
headers = {
  X-Auth-Token: string
}

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

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

fetch(https://PEM-SERVER-IP/api/v14/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