added
1.30.2025 - Webhook Event Subscriptions
2 months ago by Darrell Malone
Enhancement
- Webhook Delivery Option Added
The/eventSubscriptions
endpoint now supportswebhook.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 existingserverSentEvents.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.