Retry processing a monitor
curl --request POST \
--url https://api.pubrio.com/monitors/process/retry \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"monitor_log_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_use_original_destination": true,
"is_use_original_payload": true
}
'import requests
url = "https://api.pubrio.com/monitors/process/retry"
payload = {
"monitor_log_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_use_original_destination": True,
"is_use_original_payload": True
}
headers = {
"pubrio-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
monitor_log_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
is_use_original_destination: true,
is_use_original_payload: true
})
};
fetch('https://api.pubrio.com/monitors/process/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.pubrio.com/monitors/process/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([
'monitor_log_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'is_use_original_destination' => true,
'is_use_original_payload' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pubrio-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://api.pubrio.com/monitors/process/retry"
payload := strings.NewReader("{\n \"monitor_log_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"is_use_original_destination\": true,\n \"is_use_original_payload\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pubrio-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))
}HttpResponse<String> response = Unirest.post("https://api.pubrio.com/monitors/process/retry")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"monitor_log_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"is_use_original_destination\": true,\n \"is_use_original_payload\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/process/retry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"monitor_log_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"is_use_original_destination\": true,\n \"is_use_original_payload\": true\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"monitor_log_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"status": "success"
},
"data": {
"monitor_log_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"status": "success",
"monitor_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"delivery_result": {
"is_success": true,
"error_message": null,
"response_status_code": 200,
"response_payload": "...",
"retry_attempt": 0
},
"total_credit": 59,
"processing_time_ms": 7541
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Process
Monitor Process Retry
Retry a failed monitor processing run.
POST
/
monitors
/
process
/
retry
Retry processing a monitor
curl --request POST \
--url https://api.pubrio.com/monitors/process/retry \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"monitor_log_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_use_original_destination": true,
"is_use_original_payload": true
}
'import requests
url = "https://api.pubrio.com/monitors/process/retry"
payload = {
"monitor_log_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_use_original_destination": True,
"is_use_original_payload": True
}
headers = {
"pubrio-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
monitor_log_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
is_use_original_destination: true,
is_use_original_payload: true
})
};
fetch('https://api.pubrio.com/monitors/process/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.pubrio.com/monitors/process/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([
'monitor_log_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'is_use_original_destination' => true,
'is_use_original_payload' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pubrio-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://api.pubrio.com/monitors/process/retry"
payload := strings.NewReader("{\n \"monitor_log_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"is_use_original_destination\": true,\n \"is_use_original_payload\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("pubrio-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))
}HttpResponse<String> response = Unirest.post("https://api.pubrio.com/monitors/process/retry")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"monitor_log_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"is_use_original_destination\": true,\n \"is_use_original_payload\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/process/retry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"monitor_log_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"is_use_original_destination\": true,\n \"is_use_original_payload\": true\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"monitor_log_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"status": "success"
},
"data": {
"monitor_log_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"status": "success",
"monitor_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"delivery_result": {
"is_success": true,
"error_message": null,
"response_status_code": 200,
"response_payload": "...",
"retry_attempt": 0
},
"total_credit": 59,
"processing_time_ms": 7541
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Authorizations
Body
application/json
Unique identifier of the monitor log entry to retry.
When true, uses the destination configuration snapshot from the original log entry instead of the current monitor config.
When false, the retried payload is re-filtered by today's rules first: companies now on the exclusion list and records delivered since the first attempt are dropped, and a retry with nothing left is skipped (code 40085). Default true replays the first attempt's payload unchanged.
Last modified on April 5, 2026

