const fetch = require('node-fetch');
let url = 'https://api.coralogix.com/mgmt/openapi/v3/alert-defs';
let options = {
method: 'PUT',
headers: {Authorization: 'Bearer <API_KEY>', 'content-type': 'application/json'},
body: '{"alertDefProperties":{"activeOn":{"dayOfWeek":["DAY_OF_WEEK_MONDAY_OR_UNSPECIFIED"],"endTime":{"hours":14,"minutes":30},"startTime":{"hours":14,"minutes":30}},"deleted":false,"description":"Alert description","enabled":true,"entityLabels":[{"key":"string","value":"string"}],"groupByKeys":[["key1","key2"]],"incidentsSettings":{"minutes":30,"notifyOn":"NOTIFY_ON_TRIGGERED_ONLY_UNSPECIFIED"},"logsImmediate":{"logsFilter":{"simpleFilter":{"labelFilters":{"applicationName":[{"operation":"LOG_FILTER_OPERATION_TYPE_IS_OR_UNSPECIFIED","value":"my-app"}],"severities":["LOG_SEVERITY_VERBOSE_UNSPECIFIED"],"subsystemName":[{"operation":"LOG_FILTER_OPERATION_TYPE_IS_OR_UNSPECIFIED","value":"my-app"}]},"luceneQuery":"string"}},"notificationPayloadFilter":[["obj.field"]]},"name":"My Alert","notificationGroup":{"destinations":[{"connectorId":"connector_id_example","notifyOn":"NOTIFY_ON_TRIGGERED_ONLY_UNSPECIFIED","presetId":"preset_id_example","resolvedRouteOverrides":{"configOverrides":{"connectorConfigFields":[{"fieldName":"description","template":"template_example"}],"messageConfigFields":[{"fieldName":"description","template":"template_example"}],"payloadType":"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"}},"triggeredRoutingOverrides":{"configOverrides":{"connectorConfigFields":[{"fieldName":"description","template":"template_example"}],"messageConfigFields":[{"fieldName":"description","template":"template_example"}],"payloadType":"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"}}}],"groupByKeys":[["key1","key2"]],"router":{"id":"123e4567-e89b-12d3-a456-426614174000","notifyOn":"NOTIFY_ON_TRIGGERED_ONLY_UNSPECIFIED"},"webhooks":[{"integration":{"integrationId":123},"minutes":15,"notifyOn":"NOTIFY_ON_TRIGGERED_ONLY_UNSPECIFIED"}]},"notificationGroupExcess":[{"destinations":[{"connectorId":"connector_id_example","notifyOn":"NOTIFY_ON_TRIGGERED_ONLY_UNSPECIFIED","presetId":"preset_id_example","resolvedRouteOverrides":{"configOverrides":{"connectorConfigFields":[{"fieldName":"description","template":"template_example"}],"messageConfigFields":[{"fieldName":"description","template":"template_example"}],"payloadType":"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"}},"triggeredRoutingOverrides":{"configOverrides":{"connectorConfigFields":[{"fieldName":"description","template":"template_example"}],"messageConfigFields":[{"fieldName":"description","template":"template_example"}],"payloadType":"slack_raw, slack_structured, pagerduty_triggered, pagerduty_resolved, generic_https_default"}}}],"groupByKeys":[["key1","key2"]],"router":{"id":"123e4567-e89b-12d3-a456-426614174000","notifyOn":"NOTIFY_ON_TRIGGERED_ONLY_UNSPECIFIED"},"webhooks":[{"integration":{"integrationId":123},"minutes":15,"notifyOn":"NOTIFY_ON_TRIGGERED_ONLY_UNSPECIFIED"}]}],"phantomMode":false,"priority":"ALERT_DEF_PRIORITY_P5_OR_UNSPECIFIED","type":"ALERT_DEF_TYPE_LOGS_IMMEDIATE_OR_UNSPECIFIED"},"id":"123e4567-e89b-12d3-a456-426614174000"}'
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error('error:' + err));