Webhooks
Acknowledge and Bulk Delete Multiple DLQ Messages
Bulk-acknowledge and permanently remove a set of failed webhook payloads from the Dead-Letter Queue after out-of-band remediation.
DELETE
/
api
/
v1
/
enterprise
/
eudr
/
webhooks
/
dlq
/
bulk
Python
import agribackup
from agribackup.rest import ApiException
# Initialize Client
configuration = agribackup.Configuration(host="https://live.agribackup.com/api/v1")
configuration.api_key['ApiKeyAuth'] = 'sk_live_YOUR_API_KEY'
with agribackup.ApiClient(configuration) as api_client:
try:
api_instance = agribackup.EnterpriseWebhooksApi(api_client)
response = api_instance.delete_bulk_dlq_messages()
print(response)
except ApiException as e:
print("Exception when calling API: %s\n" % e)import { AgriBackupClient } from '@agribackup/sdk';
// Initialize Client
const client = new AgriBackupClient({
apiKey: 'sk_live_YOUR_API_KEY',
baseUrl: 'https://live.agribackup.com/api/v1'
});
async function execute() {
try {
const response = await client.webhooks.deleteBulkDlqMessages();
console.log(response);
} catch (error) {
console.error(error);
}
}import com.agribackup.client.*;
import com.agribackup.client.api.*;
import com.agribackup.client.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://live.agribackup.com/api/v1");
defaultClient.setApiKey("sk_live_YOUR_API_KEY");
EnterpriseWebhooksApi apiInstance = new EnterpriseWebhooksApi(defaultClient);
try {
Object result = apiInstance.deleteBulkDlqMessages();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling API: " + e.getResponseBody());
}
}
}using System;
using System.Threading.Tasks;
using AgriBackup.SDK.Api;
using AgriBackup.SDK.Client;
using AgriBackup.SDK.Model;
class Program {
static async Task Main() {
Configuration config = new Configuration();
config.BasePath = "https://live.agribackup.com/api/v1";
config.AddApiKey("ApiKeyAuth", "sk_live_YOUR_API_KEY");
var apiInstance = new EnterpriseWebhooksApi(config);
try {
var result = await apiInstance.DeleteBulkDlqMessagesAsync();
Console.WriteLine(result);
} catch (ApiException e) {
Console.WriteLine("Exception when calling API: " + e.Message);
}
}
}curl --request DELETE \
--url https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"eventIds": [
"evt_123",
"evt_456"
]
}
'const options = {
method: 'DELETE',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({eventIds: ['evt_123', 'evt_456']})
};
fetch('https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk', 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://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'eventIds' => [
'evt_123',
'evt_456'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk"
payload := strings.NewReader("{\n \"eventIds\": [\n \"evt_123\",\n \"evt_456\"\n ]\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"eventIds\": [\n \"evt_123\",\n \"evt_456\"\n ]\n}"
response = http.request(request)
puts response.read_bodyPermanently acknowledges and removes multiple compliance event payloads from the Dead-Letter Queue (DLQ) in a single bulk operation. Supply a list of
eventIds in the request body to clear messages that have been handled through an out-of-band process — for example, after manually synchronising the events into your ERP during an extended endpoint outage.
This operation is irreversible. Acknowledged messages cannot be recovered or replayed. If you want to redeliver messages to your webhook endpoint instead of discarding them, use Replay Multiple DLQ Messages.
import requests
headers = {
"X-API-Key": "sk_live_YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {"eventIds": ["evt_123", "evt_456", "evt_789"]}
response = requests.delete(
"https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk",
headers=headers,
json=payload,
)
print(response.status_code)
const response = await fetch(
"https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk",
{
method: "DELETE",
headers: {
"X-API-Key": "sk_live_YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ eventIds: ["evt_123", "evt_456", "evt_789"] }),
}
);
console.log(response.status);
curl -X DELETE \
"https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk" \
-H "X-API-Key: sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"eventIds": ["evt_123", "evt_456", "evt_789"]}'
Acknowledge and Permanently Delete a DLQ Message
Previous
Generate a Bulk Compliance Archive Report
Next
⌘I
Python
import agribackup
from agribackup.rest import ApiException
# Initialize Client
configuration = agribackup.Configuration(host="https://live.agribackup.com/api/v1")
configuration.api_key['ApiKeyAuth'] = 'sk_live_YOUR_API_KEY'
with agribackup.ApiClient(configuration) as api_client:
try:
api_instance = agribackup.EnterpriseWebhooksApi(api_client)
response = api_instance.delete_bulk_dlq_messages()
print(response)
except ApiException as e:
print("Exception when calling API: %s\n" % e)import { AgriBackupClient } from '@agribackup/sdk';
// Initialize Client
const client = new AgriBackupClient({
apiKey: 'sk_live_YOUR_API_KEY',
baseUrl: 'https://live.agribackup.com/api/v1'
});
async function execute() {
try {
const response = await client.webhooks.deleteBulkDlqMessages();
console.log(response);
} catch (error) {
console.error(error);
}
}import com.agribackup.client.*;
import com.agribackup.client.api.*;
import com.agribackup.client.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://live.agribackup.com/api/v1");
defaultClient.setApiKey("sk_live_YOUR_API_KEY");
EnterpriseWebhooksApi apiInstance = new EnterpriseWebhooksApi(defaultClient);
try {
Object result = apiInstance.deleteBulkDlqMessages();
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling API: " + e.getResponseBody());
}
}
}using System;
using System.Threading.Tasks;
using AgriBackup.SDK.Api;
using AgriBackup.SDK.Client;
using AgriBackup.SDK.Model;
class Program {
static async Task Main() {
Configuration config = new Configuration();
config.BasePath = "https://live.agribackup.com/api/v1";
config.AddApiKey("ApiKeyAuth", "sk_live_YOUR_API_KEY");
var apiInstance = new EnterpriseWebhooksApi(config);
try {
var result = await apiInstance.DeleteBulkDlqMessagesAsync();
Console.WriteLine(result);
} catch (ApiException e) {
Console.WriteLine("Exception when calling API: " + e.Message);
}
}
}curl --request DELETE \
--url https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"eventIds": [
"evt_123",
"evt_456"
]
}
'const options = {
method: 'DELETE',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({eventIds: ['evt_123', 'evt_456']})
};
fetch('https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk', 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://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'eventIds' => [
'evt_123',
'evt_456'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk"
payload := strings.NewReader("{\n \"eventIds\": [\n \"evt_123\",\n \"evt_456\"\n ]\n}")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://live.agribackup.com/api/v1/enterprise/eudr/webhooks/dlq/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"eventIds\": [\n \"evt_123\",\n \"evt_456\"\n ]\n}"
response = http.request(request)
puts response.read_body