curl --request POST \
--url https://api.pubrio.com/monitors/statistics/logs \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"monitor_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"monitor_log_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"search_term": "<string>",
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"order_by": "created_at",
"is_ascending_order": false,
"statuses": [
"<string>"
],
"signal_types": [
"<string>"
],
"destination_types": [
"<string>"
],
"detection_modes": [
"<string>"
],
"per_page": 25,
"page": 1
}
'import requests
url = "https://api.pubrio.com/monitors/statistics/logs"
payload = {
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"monitor_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"monitor_log_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"search_term": "<string>",
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"order_by": "created_at",
"is_ascending_order": False,
"statuses": ["<string>"],
"signal_types": ["<string>"],
"destination_types": ["<string>"],
"detection_modes": ["<string>"],
"per_page": 25,
"page": 1
}
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_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
monitor_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
monitor_log_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
search_term: '<string>',
start_date: '2023-12-25',
end_date: '2023-12-25',
order_by: 'created_at',
is_ascending_order: false,
statuses: ['<string>'],
signal_types: ['<string>'],
destination_types: ['<string>'],
detection_modes: ['<string>'],
per_page: 25,
page: 1
})
};
fetch('https://api.pubrio.com/monitors/statistics/logs', 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/statistics/logs",
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_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'monitor_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'monitor_log_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'search_term' => '<string>',
'start_date' => '2023-12-25',
'end_date' => '2023-12-25',
'order_by' => 'created_at',
'is_ascending_order' => false,
'statuses' => [
'<string>'
],
'signal_types' => [
'<string>'
],
'destination_types' => [
'<string>'
],
'detection_modes' => [
'<string>'
],
'per_page' => 25,
'page' => 1
]),
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/statistics/logs"
payload := strings.NewReader("{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"monitor_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"monitor_log_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"search_term\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"statuses\": [\n \"<string>\"\n ],\n \"signal_types\": [\n \"<string>\"\n ],\n \"destination_types\": [\n \"<string>\"\n ],\n \"detection_modes\": [\n \"<string>\"\n ],\n \"per_page\": 25,\n \"page\": 1\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/statistics/logs")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"monitor_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"monitor_log_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"search_term\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"statuses\": [\n \"<string>\"\n ],\n \"signal_types\": [\n \"<string>\"\n ],\n \"destination_types\": [\n \"<string>\"\n ],\n \"detection_modes\": [\n \"<string>\"\n ],\n \"per_page\": 25,\n \"page\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/statistics/logs")
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_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"monitor_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"monitor_log_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"search_term\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"statuses\": [\n \"<string>\"\n ],\n \"signal_types\": [\n \"<string>\"\n ],\n \"destination_types\": [\n \"<string>\"\n ],\n \"detection_modes\": [\n \"<string>\"\n ],\n \"per_page\": 25,\n \"page\": 1\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"filters": {
"statuses": [
"failure"
],
"language": "en"
}
},
"data": {
"pagination": {
"page": 1,
"per_page": 25,
"total_entries": 45,
"total_pages": 2,
"total_display_pages": 2,
"is_timeout": false
},
"monitor_logs": [
{
"monitor_log_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"monitor_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"parent_monitor_log_id": "",
"detection_mode": "company_first",
"signal_type": [
"jobs",
"news",
"advertisements"
],
"destination_type": "email",
"response_status_code": 200,
"status": "success",
"error_message": "",
"total_signals": 25,
"total_companies": 11,
"total_people": 32,
"trigger_credit": 15,
"total_company_credit": 11,
"total_people_credit": 33,
"redeem_email_credit": 0,
"redeem_phone_credit": 0,
"total_credit": 59,
"retry_attempt": 0,
"processing_time_ms": 97952,
"created_at": "2026-04-05T18:28:05.000Z",
"retry_logs": [],
"is_retry_succeed": false
},
"..."
]
}
}{
"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."
}Journaux de statistiques du moniteur
Récupérez une liste paginée des journaux de détection pour un moniteur spécifique.
curl --request POST \
--url https://api.pubrio.com/monitors/statistics/logs \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"monitor_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"monitor_log_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"search_term": "<string>",
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"order_by": "created_at",
"is_ascending_order": false,
"statuses": [
"<string>"
],
"signal_types": [
"<string>"
],
"destination_types": [
"<string>"
],
"detection_modes": [
"<string>"
],
"per_page": 25,
"page": 1
}
'import requests
url = "https://api.pubrio.com/monitors/statistics/logs"
payload = {
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"monitor_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"monitor_log_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"search_term": "<string>",
"start_date": "2023-12-25",
"end_date": "2023-12-25",
"order_by": "created_at",
"is_ascending_order": False,
"statuses": ["<string>"],
"signal_types": ["<string>"],
"destination_types": ["<string>"],
"detection_modes": ["<string>"],
"per_page": 25,
"page": 1
}
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_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
monitor_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
monitor_log_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
search_term: '<string>',
start_date: '2023-12-25',
end_date: '2023-12-25',
order_by: 'created_at',
is_ascending_order: false,
statuses: ['<string>'],
signal_types: ['<string>'],
destination_types: ['<string>'],
detection_modes: ['<string>'],
per_page: 25,
page: 1
})
};
fetch('https://api.pubrio.com/monitors/statistics/logs', 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/statistics/logs",
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_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'monitor_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'monitor_log_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'search_term' => '<string>',
'start_date' => '2023-12-25',
'end_date' => '2023-12-25',
'order_by' => 'created_at',
'is_ascending_order' => false,
'statuses' => [
'<string>'
],
'signal_types' => [
'<string>'
],
'destination_types' => [
'<string>'
],
'detection_modes' => [
'<string>'
],
'per_page' => 25,
'page' => 1
]),
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/statistics/logs"
payload := strings.NewReader("{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"monitor_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"monitor_log_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"search_term\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"statuses\": [\n \"<string>\"\n ],\n \"signal_types\": [\n \"<string>\"\n ],\n \"destination_types\": [\n \"<string>\"\n ],\n \"detection_modes\": [\n \"<string>\"\n ],\n \"per_page\": 25,\n \"page\": 1\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/statistics/logs")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"monitor_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"monitor_log_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"search_term\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"statuses\": [\n \"<string>\"\n ],\n \"signal_types\": [\n \"<string>\"\n ],\n \"destination_types\": [\n \"<string>\"\n ],\n \"detection_modes\": [\n \"<string>\"\n ],\n \"per_page\": 25,\n \"page\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/statistics/logs")
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_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"monitor_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"monitor_log_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"search_term\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"end_date\": \"2023-12-25\",\n \"order_by\": \"created_at\",\n \"is_ascending_order\": false,\n \"statuses\": [\n \"<string>\"\n ],\n \"signal_types\": [\n \"<string>\"\n ],\n \"destination_types\": [\n \"<string>\"\n ],\n \"detection_modes\": [\n \"<string>\"\n ],\n \"per_page\": 25,\n \"page\": 1\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"filters": {
"statuses": [
"failure"
],
"language": "en"
}
},
"data": {
"pagination": {
"page": 1,
"per_page": 25,
"total_entries": 45,
"total_pages": 2,
"total_display_pages": 2,
"is_timeout": false
},
"monitor_logs": [
{
"monitor_log_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"monitor_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"parent_monitor_log_id": "",
"detection_mode": "company_first",
"signal_type": [
"jobs",
"news",
"advertisements"
],
"destination_type": "email",
"response_status_code": 200,
"status": "success",
"error_message": "",
"total_signals": 25,
"total_companies": 11,
"total_people": 32,
"trigger_credit": 15,
"total_company_credit": 11,
"total_people_credit": 33,
"redeem_email_credit": 0,
"redeem_phone_credit": 0,
"total_credit": 59,
"retry_attempt": 0,
"processing_time_ms": 97952,
"created_at": "2026-04-05T18:28:05.000Z",
"retry_logs": [],
"is_retry_succeed": false
},
"..."
]
}
}{
"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."
}Autorisations
Corps
Identifiant unique du moniteur pour lequel récupérer les journaux.
Filtre sur les journaux provenant de ces moniteurs.
Filtre sur ces entrées de journal spécifiques.
Terme de recherche comparé à error_message, destination_type et detection_mode (sous-chaîne insensible à la casse).
Début de la plage de dates created_at (chaîne de date ISO). Utilisé conjointement avec end_date.
Fin de la plage de dates created_at (chaîne de date ISO). Utilisé conjointement avec start_date.
Champ sur lequel trier. Par défaut, created_at.
created_at, total_credit, processing_time_ms, total_signals, status, retry_attempt Trier par ordre croissant. Par défaut, false (ordre décroissant).
Filtre par statut de déclenchement (par exemple, 'success', 'failure'). Accepte également la valeur virtuelle 'recovered' — les déclenchements échoués dont la nouvelle tentative a ensuite réussi.
Filtre sur les journaux dont les types de signaux incluent l'une de ces valeurs.
Filtre par types de destination (par exemple, ['email', 'webhook']).
Filtre par modes de détection (par exemple, ['company_first', 'signal_first']).
Nombre d'enregistrements par page. Par défaut 25, ce qui correspond aussi au plafond sur la plupart des forfaits — la limite est le max_search_per_page de votre abonnement, renvoyé par Profile. Le dépasser renvoie HTTP 416 avec le code 41676 (ou 41613 pour la recherche d'entreprises et de personnes), et non un ensemble de résultats tronqué.

