Retry Event Delivery
curl --request POST \
--url https://api.example.com/v1/webhooks/events/{eventId}/retry \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"webhookId": {}
}
'import requests
url = "https://api.example.com/v1/webhooks/events/{eventId}/retry"
payload = { "webhookId": {} }
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({webhookId: {}})
};
fetch('https://api.example.com/v1/webhooks/events/{eventId}/retry', 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.example.com/v1/webhooks/events/{eventId}/retry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'webhookId' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: application/json"
],
]);
$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://api.example.com/v1/webhooks/events/{eventId}/retry"
payload := strings.NewReader("{\n \"webhookId\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
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))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/webhooks/events/{eventId}/retry")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"webhookId\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/webhooks/events/{eventId}/retry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"webhookId\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"eventId": "550e8400-e29b-41d4-a716-446655440000",
"webhookCount": 2,
"message": "Event queued for retry to 2 webhook(s)"
}
}
Webhooks
Retry Event Delivery
Manually trigger a retry of event delivery to webhooks
POST
/
v1
/
webhooks
/
events
/
{eventId}
/
retry
Retry Event Delivery
curl --request POST \
--url https://api.example.com/v1/webhooks/events/{eventId}/retry \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"webhookId": {}
}
'import requests
url = "https://api.example.com/v1/webhooks/events/{eventId}/retry"
payload = { "webhookId": {} }
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({webhookId: {}})
};
fetch('https://api.example.com/v1/webhooks/events/{eventId}/retry', 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.example.com/v1/webhooks/events/{eventId}/retry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'webhookId' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: application/json"
],
]);
$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://api.example.com/v1/webhooks/events/{eventId}/retry"
payload := strings.NewReader("{\n \"webhookId\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
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))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/webhooks/events/{eventId}/retry")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"webhookId\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/webhooks/events/{eventId}/retry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"webhookId\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"eventId": "550e8400-e29b-41d4-a716-446655440000",
"webhookCount": 2,
"message": "Event queued for retry to 2 webhook(s)"
}
}
Retry Event Delivery
POST https://api.baanx.com/v1/webhooks/events/{eventId}/retry Manually triggers a retry of event delivery to one or all configured webhook endpoints.Overview
Use this endpoint to resend a failed event or to re-deliver an event to a specific webhook. By default, the event is retried to all currently configured and active webhooks. To target a single webhook, include its ID in the request body.Retrying queues the event for immediate re-delivery. Monitor results using Get Event Delivery Logs.
Authentication
This endpoint requires authentication via Bearer token:Authorization: Bearer YOUR_ACCESS_TOKEN
Request
Headers
string
required
Bearer token for authentication
string
Must be
application/json if providing a request bodyPath Parameters
string (UUID)
required
Unique identifier of the event to retry
Body
The request body is optional. Omit it entirely to retry delivery to all configured webhooks.string (UUID)
Optional. If provided, retries delivery only to this specific webhook. If omitted, retries to all active configured webhooks.
Request Examples
curl -X POST https://api.baanx.com/v1/webhooks/events/550e8400-e29b-41d4-a716-446655440000/retry \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
curl -X POST https://api.baanx.com/v1/webhooks/events/550e8400-e29b-41d4-a716-446655440000/retry \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"webhookId": "770e8400-e29b-41d4-a716-446655440002"
}'
const eventId = '550e8400-e29b-41d4-a716-446655440000';
// Retry to all webhooks
const response = await fetch(
`https://api.baanx.com/v1/webhooks/events/${eventId}/retry`,
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
}
);
// Or retry to a specific webhook
const responseSpecific = await fetch(
`https://api.baanx.com/v1/webhooks/events/${eventId}/retry`,
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
webhookId: '770e8400-e29b-41d4-a716-446655440002'
})
}
);
const data = await responseSpecific.json();
console.log(data);
import requests
event_id = "550e8400-e29b-41d4-a716-446655440000"
url = f"https://api.baanx.com/v1/webhooks/events/{event_id}/retry"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
}
# Retry to all webhooks (empty body)
response = requests.post(url, headers=headers, json={})
# Or retry to a specific webhook
response = requests.post(url, headers=headers, json={
"webhookId": "770e8400-e29b-41d4-a716-446655440002"
})
print(response.json())
interface RetryEventRequest {
webhookId?: string;
}
const retryEvent = async (eventId: string, options: RetryEventRequest = {}) => {
const response = await fetch(
`https://api.baanx.com/v1/webhooks/events/${eventId}/retry`,
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify(options)
}
);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return await response.json();
};
Response
200 Success
boolean
Indicates the retry was successfully queued
string (UUID)
ID of the event being retried
integer
Number of webhooks the event will be delivered to
string
Human-readable confirmation message
{
"success": true,
"data": {
"eventId": "550e8400-e29b-41d4-a716-446655440000",
"webhookCount": 2,
"message": "Event queued for retry to 2 webhook(s)"
}
}
Error Responses
{
"message": "webhookId must be a valid UUID"
}
{
"message": "Not authenticated"
}
{
"message": "Not authorized"
}
{
"message": "Event not found"
}
{
"message": "Notification service is not configured for this environment"
}
Related Endpoints
GET /v1/webhooks/events/{eventId}/status- Check event status before retryingGET /v1/webhooks/events/{eventId}/logs- View delivery logs after retryingGET /v1/webhooks/events- List all events and their statuses
Was this page helpful?