Unacknowledge a notification dispatch
curl --request POST \
--url https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"incidentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"policyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currentStep": 123,
"deliveries": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"incidentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channelId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel": "<string>",
"channelType": "<string>",
"stepNumber": 123,
"fireCount": 123,
"attemptCount": 123,
"createdAt": "2023-11-07T05:31:56Z",
"dispatchId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lastAttemptAt": "2023-11-07T05:31:56Z",
"nextRetryAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"errorMessage": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"policyName": "<string>",
"totalSteps": 123,
"acknowledgedAt": "2023-11-07T05:31:56Z",
"acknowledgedBy": "<string>",
"acknowledgedVia": "<string>",
"matchedRules": [
"<string>"
],
"nextEscalationAt": "2023-11-07T05:31:56Z",
"lastNotifiedAt": "2023-11-07T05:31:56Z"
}
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}Notification Dispatches
Unacknowledge a notification dispatch
Reverses a mistaken acknowledgment without reopening the incident. Allowed only from ACKNOWLEDGED. Clears ack fields, stays on the current escalation step, restores nextEscalationAt, and resumes escalation (ESCALATING if more steps remain, else DELIVERED). MEMBER+.
POST
/
api
/
v1
/
notification-dispatches
/
{id}
/
unacknowledge
Unacknowledge a notification dispatch
curl --request POST \
--url https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devhelm.io/api/v1/notification-dispatches/{id}/unacknowledge")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"incidentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"policyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currentStep": 123,
"deliveries": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"incidentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channelId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel": "<string>",
"channelType": "<string>",
"stepNumber": 123,
"fireCount": 123,
"attemptCount": 123,
"createdAt": "2023-11-07T05:31:56Z",
"dispatchId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lastAttemptAt": "2023-11-07T05:31:56Z",
"nextRetryAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"errorMessage": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"policyName": "<string>",
"totalSteps": 123,
"acknowledgedAt": "2023-11-07T05:31:56Z",
"acknowledgedBy": "<string>",
"acknowledgedVia": "<string>",
"matchedRules": [
"<string>"
],
"nextEscalationAt": "2023-11-07T05:31:56Z",
"lastNotifiedAt": "2023-11-07T05:31:56Z"
}
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}{
"status": 404,
"code": "NOT_FOUND",
"message": "Monitor not found",
"timestamp": 1737302400000,
"requestId": "5b6f7a8c-1234-4d5e-9f0a-1b2c3d4e5f6a"
}⌘I