The webhooks API

This overview of the XProtect webhooks API is based on the Webhooks API, version 1.0.

The HTTP POST object consists of a header and the body (payload).

HTTP POST Body (version 1.0)

The payload of the HTTP POST is an application/json object with the following keys:

Key Type Description
Event BaseEvent (serialized to JSON) The event that triggered the rule.
Site
Copy
{
 ServerHostName: string,
 
AbsoluteUri: string,

 
 ServerType: string,
}

Information about the system where this event originated.

Use this field when using the same webhook endpoint for multiple XProtect installations.

 

HTTP POST Headers

The HTTP POST  headers contains the following keys:

Key Type Description
X-Milestone-Api-Version String The version of the body. “v1.0” is currently the only supported version.
X-Hub-Signature-256 String

The HMAC hex digest using SHA-256 of the body.

The value always starts with “sha256=”.

For more information, see “Improving webhook security with tokens”.

Failed requests and retry policy

If the POST requests fails with a 400 error, it is not retried again.

If the POST requests fails with any other status code, or a timeout, the request will be retried 2 more times, with each attempt spaced 30 seconds apart.

The same "Event.EventHeader.ID from the original HTTP POST Body will be used in all retries so the subscribing/receiving service can track any potential duplicate event notifications.