curl --request POST \
--url https://api.pubrio.com/monitors/webhook/validate \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"destination_config": {
"webhook_url": "https://your-webhook.com/endpoint",
"headers": {
"Authorization": "Bearer token"
},
"body": {
"pipeline": "my-webhook"
}
},
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"signal_types": [],
"signal_filters": [
{
"signal_type": "jobs",
"filters": {
"locations": [
"US"
]
}
},
{
"signal_type": "news",
"filters": {
"locations": [
"US"
]
}
},
{
"signal_type": "advertisements",
"filters": {
"target_locations": [
"US"
]
}
},
{
"signal_type": "expansions",
"filters": {
"tos": [
"US"
],
"stages": [
"expanding",
"scaling"
],
"signal_types": [
"HIRE",
"EXEC"
],
"signal_strengths": [
"high",
"very_high"
]
}
}
],
"company_filters": {
"locations": [
"US"
],
"employees": [
[
501,
1000
],
[
1001,
5000
]
]
},
"companies": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"domains": [
"<string>"
],
"linkedin_urls": [
"<string>"
],
"is_company_enrichment": true,
"is_people_enrichment": true,
"people_enrichment_configs": [
{
"filters": {
"people_locations": [
"US"
]
},
"max_people_to_return": 3,
"people_contact_types": [
"email-work"
]
}
],
"frequency_minute": 5040,
"max_failure_trigger": 5,
"max_daily_trigger": 43200,
"max_records_per_trigger": 50,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3
}
'import requests
url = "https://api.pubrio.com/monitors/webhook/validate"
payload = {
"destination_config": {
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
},
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"signal_types": [],
"signal_filters": [
{
"signal_type": "jobs",
"filters": { "locations": ["US"] }
},
{
"signal_type": "news",
"filters": { "locations": ["US"] }
},
{
"signal_type": "advertisements",
"filters": { "target_locations": ["US"] }
},
{
"signal_type": "expansions",
"filters": {
"tos": ["US"],
"stages": ["expanding", "scaling"],
"signal_types": ["HIRE", "EXEC"],
"signal_strengths": ["high", "very_high"]
}
}
],
"company_filters": {
"locations": ["US"],
"employees": [[501, 1000], [1001, 5000]]
},
"companies": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"domains": ["<string>"],
"linkedin_urls": ["<string>"],
"is_company_enrichment": True,
"is_people_enrichment": True,
"people_enrichment_configs": [
{
"filters": { "people_locations": ["US"] },
"max_people_to_return": 3,
"people_contact_types": ["email-work"]
}
],
"frequency_minute": 5040,
"max_failure_trigger": 5,
"max_daily_trigger": 43200,
"max_records_per_trigger": 50,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3
}
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({
destination_config: {
webhook_url: 'https://your-webhook.com/endpoint',
headers: {Authorization: 'Bearer token'},
body: JSON.stringify({pipeline: 'my-webhook'})
},
monitor_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
description: '<string>',
signal_types: [],
signal_filters: [
{signal_type: 'jobs', filters: {locations: ['US']}},
{signal_type: 'news', filters: {locations: ['US']}},
{signal_type: 'advertisements', filters: {target_locations: ['US']}},
{
signal_type: 'expansions',
filters: {
tos: ['US'],
stages: ['expanding', 'scaling'],
signal_types: ['HIRE', 'EXEC'],
signal_strengths: ['high', 'very_high']
}
}
],
company_filters: {locations: ['US'], employees: [[501, 1000], [1001, 5000]]},
companies: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
domains: ['<string>'],
linkedin_urls: ['<string>'],
is_company_enrichment: true,
is_people_enrichment: true,
people_enrichment_configs: [
{
filters: {people_locations: ['US']},
max_people_to_return: 3,
people_contact_types: ['email-work']
}
],
frequency_minute: 5040,
max_failure_trigger: 5,
max_daily_trigger: 43200,
max_records_per_trigger: 50,
notification_email: '[email protected]',
max_retry_per_trigger: 1,
retry_delay_second: 3
})
};
fetch('https://api.pubrio.com/monitors/webhook/validate', 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/webhook/validate",
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([
'destination_config' => [
'webhook_url' => 'https://your-webhook.com/endpoint',
'headers' => [
'Authorization' => 'Bearer token'
],
'body' => [
'pipeline' => 'my-webhook'
]
],
'monitor_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'description' => '<string>',
'signal_types' => [
],
'signal_filters' => [
[
'signal_type' => 'jobs',
'filters' => [
'locations' => [
'US'
]
]
],
[
'signal_type' => 'news',
'filters' => [
'locations' => [
'US'
]
]
],
[
'signal_type' => 'advertisements',
'filters' => [
'target_locations' => [
'US'
]
]
],
[
'signal_type' => 'expansions',
'filters' => [
'tos' => [
'US'
],
'stages' => [
'expanding',
'scaling'
],
'signal_types' => [
'HIRE',
'EXEC'
],
'signal_strengths' => [
'high',
'very_high'
]
]
]
],
'company_filters' => [
'locations' => [
'US'
],
'employees' => [
[
501,
1000
],
[
1001,
5000
]
]
],
'companies' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'domains' => [
'<string>'
],
'linkedin_urls' => [
'<string>'
],
'is_company_enrichment' => true,
'is_people_enrichment' => true,
'people_enrichment_configs' => [
[
'filters' => [
'people_locations' => [
'US'
]
],
'max_people_to_return' => 3,
'people_contact_types' => [
'email-work'
]
]
],
'frequency_minute' => 5040,
'max_failure_trigger' => 5,
'max_daily_trigger' => 43200,
'max_records_per_trigger' => 50,
'notification_email' => '[email protected]',
'max_retry_per_trigger' => 1,
'retry_delay_second' => 3
]),
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/webhook/validate"
payload := strings.NewReader("{\n \"destination_config\": {\n \"webhook_url\": \"https://your-webhook.com/endpoint\",\n \"headers\": {\n \"Authorization\": \"Bearer token\"\n },\n \"body\": {\n \"pipeline\": \"my-webhook\"\n }\n },\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"signal_types\": [],\n \"signal_filters\": [\n {\n \"signal_type\": \"jobs\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"news\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"advertisements\",\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"expansions\",\n \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_types\": [\n \"HIRE\",\n \"EXEC\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n }\n }\n ],\n \"company_filters\": {\n \"locations\": [\n \"US\"\n ],\n \"employees\": [\n [\n 501,\n 1000\n ],\n [\n 1001,\n 5000\n ]\n ]\n },\n \"companies\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"domains\": [\n \"<string>\"\n ],\n \"linkedin_urls\": [\n \"<string>\"\n ],\n \"is_company_enrichment\": true,\n \"is_people_enrichment\": true,\n \"people_enrichment_configs\": [\n {\n \"filters\": {\n \"people_locations\": [\n \"US\"\n ]\n },\n \"max_people_to_return\": 3,\n \"people_contact_types\": [\n \"email-work\"\n ]\n }\n ],\n \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3\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/webhook/validate")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"destination_config\": {\n \"webhook_url\": \"https://your-webhook.com/endpoint\",\n \"headers\": {\n \"Authorization\": \"Bearer token\"\n },\n \"body\": {\n \"pipeline\": \"my-webhook\"\n }\n },\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"signal_types\": [],\n \"signal_filters\": [\n {\n \"signal_type\": \"jobs\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"news\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"advertisements\",\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"expansions\",\n \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_types\": [\n \"HIRE\",\n \"EXEC\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n }\n }\n ],\n \"company_filters\": {\n \"locations\": [\n \"US\"\n ],\n \"employees\": [\n [\n 501,\n 1000\n ],\n [\n 1001,\n 5000\n ]\n ]\n },\n \"companies\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"domains\": [\n \"<string>\"\n ],\n \"linkedin_urls\": [\n \"<string>\"\n ],\n \"is_company_enrichment\": true,\n \"is_people_enrichment\": true,\n \"people_enrichment_configs\": [\n {\n \"filters\": {\n \"people_locations\": [\n \"US\"\n ]\n },\n \"max_people_to_return\": 3,\n \"people_contact_types\": [\n \"email-work\"\n ]\n }\n ],\n \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/webhook/validate")
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 \"destination_config\": {\n \"webhook_url\": \"https://your-webhook.com/endpoint\",\n \"headers\": {\n \"Authorization\": \"Bearer token\"\n },\n \"body\": {\n \"pipeline\": \"my-webhook\"\n }\n },\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"signal_types\": [],\n \"signal_filters\": [\n {\n \"signal_type\": \"jobs\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"news\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"advertisements\",\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"expansions\",\n \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_types\": [\n \"HIRE\",\n \"EXEC\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n }\n }\n ],\n \"company_filters\": {\n \"locations\": [\n \"US\"\n ],\n \"employees\": [\n [\n 501,\n 1000\n ],\n [\n 1001,\n 5000\n ]\n ]\n },\n \"companies\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"domains\": [\n \"<string>\"\n ],\n \"linkedin_urls\": [\n \"<string>\"\n ],\n \"is_company_enrichment\": true,\n \"is_people_enrichment\": true,\n \"people_enrichment_configs\": [\n {\n \"filters\": {\n \"people_locations\": [\n \"US\"\n ]\n },\n \"max_people_to_return\": 3,\n \"people_contact_types\": [\n \"email-work\"\n ]\n }\n ],\n \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3\n}"
response = http.request(request)
puts response.read_body{
"data": {
"destination_config": {
"webhook_url": "https://usewebhook.com/example",
"headers": {
"X-Custom-Auth": "your-token"
},
"body": {
"source": "pubrio"
}
},
"request_payload": {
"monitor": {
"monitor_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "My Monitor",
"detection_mode": "signal_first",
"signal_types": [
"jobs",
"news",
"advertisements"
],
"signal_filters": [
"..."
],
"company_filters": {
"...": "..."
},
"is_company_enrichment": true,
"is_people_enrichment": true,
"people_enrichment_configs": [
"..."
]
},
"metadata": {
"total_signals": 3,
"total_companies": 1,
"total_people": 0
},
"triggered_at": "2026-04-05T22:43:06.973Z",
"signals": [
{
"signal_type": "jobs",
"signal": {
"signal_type": "jobs",
"job_search_id": "...",
"companies": [
"..."
]
},
"companies": [
"..."
]
},
"..."
],
"source": "pubrio"
},
"response_payload": "OK"
}
}{
"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."
}Validar webhook de monitor
Envía una carga útil de prueba firmada a una URL de webhook e informa si fue aceptada.
Esto realiza una entrega HTTP real, no una simple verificación de sintaxis de la URL. El receptor debe aceptar un POST y responder correctamente — una URL que solo sirve una página en GET seguirá fallando. Si falla, obtienes 40023 (URL no válida o inaccesible) o 40022 (fallo en la entrega de prueba), y details incluye el cuerpo de la respuesta original del servidor de destino, que puede tener varios kilobytes de HTML. Pasa monitor_id para firmar la prueba con la firma real de ese monitor; si lo omites, se usa una firma de marcador de posición.
curl --request POST \
--url https://api.pubrio.com/monitors/webhook/validate \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"destination_config": {
"webhook_url": "https://your-webhook.com/endpoint",
"headers": {
"Authorization": "Bearer token"
},
"body": {
"pipeline": "my-webhook"
}
},
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"signal_types": [],
"signal_filters": [
{
"signal_type": "jobs",
"filters": {
"locations": [
"US"
]
}
},
{
"signal_type": "news",
"filters": {
"locations": [
"US"
]
}
},
{
"signal_type": "advertisements",
"filters": {
"target_locations": [
"US"
]
}
},
{
"signal_type": "expansions",
"filters": {
"tos": [
"US"
],
"stages": [
"expanding",
"scaling"
],
"signal_types": [
"HIRE",
"EXEC"
],
"signal_strengths": [
"high",
"very_high"
]
}
}
],
"company_filters": {
"locations": [
"US"
],
"employees": [
[
501,
1000
],
[
1001,
5000
]
]
},
"companies": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"domains": [
"<string>"
],
"linkedin_urls": [
"<string>"
],
"is_company_enrichment": true,
"is_people_enrichment": true,
"people_enrichment_configs": [
{
"filters": {
"people_locations": [
"US"
]
},
"max_people_to_return": 3,
"people_contact_types": [
"email-work"
]
}
],
"frequency_minute": 5040,
"max_failure_trigger": 5,
"max_daily_trigger": 43200,
"max_records_per_trigger": 50,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3
}
'import requests
url = "https://api.pubrio.com/monitors/webhook/validate"
payload = {
"destination_config": {
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
},
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"signal_types": [],
"signal_filters": [
{
"signal_type": "jobs",
"filters": { "locations": ["US"] }
},
{
"signal_type": "news",
"filters": { "locations": ["US"] }
},
{
"signal_type": "advertisements",
"filters": { "target_locations": ["US"] }
},
{
"signal_type": "expansions",
"filters": {
"tos": ["US"],
"stages": ["expanding", "scaling"],
"signal_types": ["HIRE", "EXEC"],
"signal_strengths": ["high", "very_high"]
}
}
],
"company_filters": {
"locations": ["US"],
"employees": [[501, 1000], [1001, 5000]]
},
"companies": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"domains": ["<string>"],
"linkedin_urls": ["<string>"],
"is_company_enrichment": True,
"is_people_enrichment": True,
"people_enrichment_configs": [
{
"filters": { "people_locations": ["US"] },
"max_people_to_return": 3,
"people_contact_types": ["email-work"]
}
],
"frequency_minute": 5040,
"max_failure_trigger": 5,
"max_daily_trigger": 43200,
"max_records_per_trigger": 50,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3
}
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({
destination_config: {
webhook_url: 'https://your-webhook.com/endpoint',
headers: {Authorization: 'Bearer token'},
body: JSON.stringify({pipeline: 'my-webhook'})
},
monitor_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
description: '<string>',
signal_types: [],
signal_filters: [
{signal_type: 'jobs', filters: {locations: ['US']}},
{signal_type: 'news', filters: {locations: ['US']}},
{signal_type: 'advertisements', filters: {target_locations: ['US']}},
{
signal_type: 'expansions',
filters: {
tos: ['US'],
stages: ['expanding', 'scaling'],
signal_types: ['HIRE', 'EXEC'],
signal_strengths: ['high', 'very_high']
}
}
],
company_filters: {locations: ['US'], employees: [[501, 1000], [1001, 5000]]},
companies: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
domains: ['<string>'],
linkedin_urls: ['<string>'],
is_company_enrichment: true,
is_people_enrichment: true,
people_enrichment_configs: [
{
filters: {people_locations: ['US']},
max_people_to_return: 3,
people_contact_types: ['email-work']
}
],
frequency_minute: 5040,
max_failure_trigger: 5,
max_daily_trigger: 43200,
max_records_per_trigger: 50,
notification_email: '[email protected]',
max_retry_per_trigger: 1,
retry_delay_second: 3
})
};
fetch('https://api.pubrio.com/monitors/webhook/validate', 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/webhook/validate",
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([
'destination_config' => [
'webhook_url' => 'https://your-webhook.com/endpoint',
'headers' => [
'Authorization' => 'Bearer token'
],
'body' => [
'pipeline' => 'my-webhook'
]
],
'monitor_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'description' => '<string>',
'signal_types' => [
],
'signal_filters' => [
[
'signal_type' => 'jobs',
'filters' => [
'locations' => [
'US'
]
]
],
[
'signal_type' => 'news',
'filters' => [
'locations' => [
'US'
]
]
],
[
'signal_type' => 'advertisements',
'filters' => [
'target_locations' => [
'US'
]
]
],
[
'signal_type' => 'expansions',
'filters' => [
'tos' => [
'US'
],
'stages' => [
'expanding',
'scaling'
],
'signal_types' => [
'HIRE',
'EXEC'
],
'signal_strengths' => [
'high',
'very_high'
]
]
]
],
'company_filters' => [
'locations' => [
'US'
],
'employees' => [
[
501,
1000
],
[
1001,
5000
]
]
],
'companies' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'domains' => [
'<string>'
],
'linkedin_urls' => [
'<string>'
],
'is_company_enrichment' => true,
'is_people_enrichment' => true,
'people_enrichment_configs' => [
[
'filters' => [
'people_locations' => [
'US'
]
],
'max_people_to_return' => 3,
'people_contact_types' => [
'email-work'
]
]
],
'frequency_minute' => 5040,
'max_failure_trigger' => 5,
'max_daily_trigger' => 43200,
'max_records_per_trigger' => 50,
'notification_email' => '[email protected]',
'max_retry_per_trigger' => 1,
'retry_delay_second' => 3
]),
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/webhook/validate"
payload := strings.NewReader("{\n \"destination_config\": {\n \"webhook_url\": \"https://your-webhook.com/endpoint\",\n \"headers\": {\n \"Authorization\": \"Bearer token\"\n },\n \"body\": {\n \"pipeline\": \"my-webhook\"\n }\n },\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"signal_types\": [],\n \"signal_filters\": [\n {\n \"signal_type\": \"jobs\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"news\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"advertisements\",\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"expansions\",\n \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_types\": [\n \"HIRE\",\n \"EXEC\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n }\n }\n ],\n \"company_filters\": {\n \"locations\": [\n \"US\"\n ],\n \"employees\": [\n [\n 501,\n 1000\n ],\n [\n 1001,\n 5000\n ]\n ]\n },\n \"companies\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"domains\": [\n \"<string>\"\n ],\n \"linkedin_urls\": [\n \"<string>\"\n ],\n \"is_company_enrichment\": true,\n \"is_people_enrichment\": true,\n \"people_enrichment_configs\": [\n {\n \"filters\": {\n \"people_locations\": [\n \"US\"\n ]\n },\n \"max_people_to_return\": 3,\n \"people_contact_types\": [\n \"email-work\"\n ]\n }\n ],\n \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3\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/webhook/validate")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"destination_config\": {\n \"webhook_url\": \"https://your-webhook.com/endpoint\",\n \"headers\": {\n \"Authorization\": \"Bearer token\"\n },\n \"body\": {\n \"pipeline\": \"my-webhook\"\n }\n },\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"signal_types\": [],\n \"signal_filters\": [\n {\n \"signal_type\": \"jobs\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"news\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"advertisements\",\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"expansions\",\n \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_types\": [\n \"HIRE\",\n \"EXEC\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n }\n }\n ],\n \"company_filters\": {\n \"locations\": [\n \"US\"\n ],\n \"employees\": [\n [\n 501,\n 1000\n ],\n [\n 1001,\n 5000\n ]\n ]\n },\n \"companies\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"domains\": [\n \"<string>\"\n ],\n \"linkedin_urls\": [\n \"<string>\"\n ],\n \"is_company_enrichment\": true,\n \"is_people_enrichment\": true,\n \"people_enrichment_configs\": [\n {\n \"filters\": {\n \"people_locations\": [\n \"US\"\n ]\n },\n \"max_people_to_return\": 3,\n \"people_contact_types\": [\n \"email-work\"\n ]\n }\n ],\n \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/webhook/validate")
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 \"destination_config\": {\n \"webhook_url\": \"https://your-webhook.com/endpoint\",\n \"headers\": {\n \"Authorization\": \"Bearer token\"\n },\n \"body\": {\n \"pipeline\": \"my-webhook\"\n }\n },\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"signal_types\": [],\n \"signal_filters\": [\n {\n \"signal_type\": \"jobs\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"news\",\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"advertisements\",\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n }\n },\n {\n \"signal_type\": \"expansions\",\n \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_types\": [\n \"HIRE\",\n \"EXEC\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n }\n }\n ],\n \"company_filters\": {\n \"locations\": [\n \"US\"\n ],\n \"employees\": [\n [\n 501,\n 1000\n ],\n [\n 1001,\n 5000\n ]\n ]\n },\n \"companies\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"domains\": [\n \"<string>\"\n ],\n \"linkedin_urls\": [\n \"<string>\"\n ],\n \"is_company_enrichment\": true,\n \"is_people_enrichment\": true,\n \"people_enrichment_configs\": [\n {\n \"filters\": {\n \"people_locations\": [\n \"US\"\n ]\n },\n \"max_people_to_return\": 3,\n \"people_contact_types\": [\n \"email-work\"\n ]\n }\n ],\n \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3\n}"
response = http.request(request)
puts response.read_body{
"data": {
"destination_config": {
"webhook_url": "https://usewebhook.com/example",
"headers": {
"X-Custom-Auth": "your-token"
},
"body": {
"source": "pubrio"
}
},
"request_payload": {
"monitor": {
"monitor_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "My Monitor",
"detection_mode": "signal_first",
"signal_types": [
"jobs",
"news",
"advertisements"
],
"signal_filters": [
"..."
],
"company_filters": {
"...": "..."
},
"is_company_enrichment": true,
"is_people_enrichment": true,
"people_enrichment_configs": [
"..."
]
},
"metadata": {
"total_signals": 3,
"total_companies": 1,
"total_people": 0
},
"triggered_at": "2026-04-05T22:43:06.973Z",
"signals": [
{
"signal_type": "jobs",
"signal": {
"signal_type": "jobs",
"job_search_id": "...",
"companies": [
"..."
]
},
"companies": [
"..."
]
},
"..."
],
"source": "pubrio"
},
"response_payload": "OK"
}
}{
"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."
}Autorizaciones
Un token de API único que representa las acciones que realizas a través de la API, junto con los permisos y operaciones correspondientes. Puedes crearlo en la sección Configuración.
Cuerpo
Configuración del destino. Para webhook: requiere webhook_url (string), y opcionalmente headers (object) y body (object). Para email: acepta email (string) o emails (array de strings). Para sequences: requiere sequence_identifier (string) además de al menos uno de is_people_search_enrolled / is_company_contact_enrolled establecido en true.
{
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
}
Identificador único de un monitor existente que se va a probar. Opcional para probar configuraciones nuevas.
Nombre del monitor.
Descripción del monitor.
Cómo se detectan las señales. signal_first escanea el mercado de forma amplia; company_first da seguimiento a una lista de cuentas específicas y requiere al menos una empresa, dominio o URL de LinkedIn. Inmutable después de la creación — cambiarlo en un monitor existente devuelve 40021. Crea un monitor nuevo en su lugar.
company_first, signal_first Tipos de señales que se van a monitorear.
jobs, news, advertisements, expansions Una entrada por cada flujo de señales que observa el monitor.
Show child attributes
Show child attributes
[
{
"signal_type": "jobs",
"filters": { "locations": ["US"] }
},
{
"signal_type": "news",
"filters": { "locations": ["US"] }
},
{
"signal_type": "advertisements",
"filters": { "target_locations": ["US"] }
},
{
"signal_type": "expansions",
"filters": {
"tos": ["US"],
"stages": ["expanding", "scaling"],
"signal_types": ["HIRE", "EXEC"],
"signal_strengths": ["high", "very_high"]
}
}
]
Filtros globales de empresa. Acepta los mismos parámetros que el endpoint Company Search.
{
"locations": ["US"],
"employees": [[501, 1000], [1001, 5000]]
}
Lista de UUID de domain_search_id de empresa. Alternativa: usa domains o linkedin_urls.
Lista de dominios de empresa. Alternativa a companies.
Lista de URL de LinkedIn de empresas. Alternativa a companies.
Indica si se deben enriquecer los datos de empresa.
Indica si se deben enriquecer los datos de personas.
Array de capas de enriquecimiento de personas. Contiene max_people_to_return (1-25), people_contact_types (consulta Redeem) y filters (consulta People Search).
[
{
"filters": { "people_locations": ["US"] },
"max_people_to_return": 3,
"people_contact_types": ["email-work"]
}
]
Tipo de destino de entrega.
webhook, email, sequences Frecuencia de activación en minutos. Mín.: 0, Máx.: 10080.
0 <= x <= 10080Número máximo de fallos consecutivos antes de pausar. Mín.: 1, Máx.: 10.
1 <= x <= 10Número máximo de activaciones por día. Mín.: 0, Máx.: 86400.
0 <= x <= 86400Controla el número máximo de registros entregados por activación. Los valores más bajos reducen el tamaño de la carga útil por entrega, lo cual se recomienda para conjuntos de resultados grandes o integraciones con límite de tasa. Mín.: 1, Máx.: 100, Predeterminado: 25. Consulta Setting up Webhooks para más orientación.
1 <= x <= 100Correo electrónico para notificaciones de fallo.
Número máximo de reintentos por activación. Mín.: 0, Máx.: 3.
0 <= x <= 3Retraso entre reintentos en segundos. Mín.: 1, Máx.: 5.
1 <= x <= 5Respuesta
Respuesta correcta que contiene los resultados de la validación del webhook: la configuración del destino y las cargas útiles de solicitud/respuesta de la prueba. Si el webhook falla, el endpoint responde 400 (MONITOR_WEBHOOK_URL_INVALID) con la respuesta del webhook en los detalles del error.
Show child attributes
Show child attributes

