added

1.30.2025 - Webhook Event Subscriptions

Enhancement

Create Event Subscription

  • Webhook Delivery Option Added
    The /eventSubscriptions endpoint now supports webhook.v1 as a delivery method for event notifications. This allows users to receive events via HTTP POST requests to a specified URL.
  • Increased Durability
    Unlike the existing serverSentEvents.v1 (SSE) option, webhook subscriptions do not expire after a fixed time period. SSE subscriptions require continuous client activity to remain valid, while webhooks provide a more persistent event delivery mechanism.

Example:

curl --request POST \
     --url https://api.cxxx.eagleeyenetworks.com/api/v3.0/eventSubscriptions \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "deliveryConfig": {
    "type": "webhook.v1",
    "webhookUrl": "https://example.com",
    "technicalContactEmail": "[email protected]",
    "technicalContactName": "Tech Contact"
  }
}
'
const url = 'https://api.cxxx.eagleeyenetworks.com/api/v3.0/eventSubscriptions';
const options = {
  method: 'POST',
  headers: {accept: 'application/json', 'content-type': 'application/json'},
  body: JSON.stringify({
    deliveryConfig: {
      type: 'webhook.v1',
      webhookUrl: 'https://example.com',
      technicalContactEmail: '[email protected]',
      technicalContactName: 'Tech Contact'
    }
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
import requests

url = "https://api.cxxx.eagleeyenetworks.com/api/v3.0/eventSubscriptions"

payload = { "deliveryConfig": {
        "type": "webhook.v1",
        "webhookUrl": "https://example.com",
        "technicalContactEmail": "[email protected]",
        "technicalContactName": "Tech Contact"
    } }
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
using RestSharp;


var options = new RestClientOptions("https://api.cxxx.eagleeyenetworks.com/api/v3.0/eventSubscriptions");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddJsonBody("{\"deliveryConfig\":{\"type\":\"webhook.v1\",\"webhookUrl\":\"https://example.com\",\"technicalContactEmail\":\"[email protected]\",\"technicalContactName\":\"Tech Contact\"}}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

For more details, refer to the updated Event Subscription Guide.