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": "Os erros e códigos variam de acordo com o cenário; consulte a documentação para mais informações.",
"details": {}
}{
"error": "Limite de requisições excedido. Aguarde e tente novamente mais tarde."
}{
"error": "Ocorreu um erro inesperado no servidor."
}Validar Webhook do Monitor
Envia um payload de teste assinado para uma URL de webhook e informa se ele foi aceito.
Isso realiza uma entrega HTTP real, não uma verificação de sintaxe da URL. O receptor precisa aceitar um POST e responder com sucesso — uma URL que apenas serve uma página em GET ainda assim falha. Em caso de falha, você recebe 40023 (URL inválida ou inacessível) ou 40022 (falha na entrega de teste), e details traz o corpo bruto da resposta upstream, que pode ter vários kilobytes de HTML. Informe monitor_id para assinar o teste com a assinatura real desse monitor; se omitido, é usada uma assinatura de placeholder.
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": "Os erros e códigos variam de acordo com o cenário; consulte a documentação para mais informações.",
"details": {}
}{
"error": "Limite de requisições excedido. Aguarde e tente novamente mais tarde."
}{
"error": "Ocorreu um erro inesperado no servidor."
}Autorizações
Um token de API exclusivo que representa as ações que você realiza por meio da API e as permissões e operações correspondentes. Você pode criá-lo na seção Configurações.
Corpo
Configuração do destino. Para webhook: exige webhook_url (string), com headers (objeto) e body (objeto) opcionais. Para e-mail: aceita email (string) ou emails (array de strings). Para sequences: exige sequence_identifier (string) mais pelo menos um de is_people_search_enrolled / is_company_contact_enrolled definido como true.
{
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
}
Identificador único de um monitor existente a ser testado. Opcional para testar novas configurações.
Nome do monitor.
Descrição do monitor.
Como os sinais são detectados. signal_first varre o mercado de forma ampla; company_first acompanha uma lista nomeada de contas e exige pelo menos uma empresa, domínio ou URL do LinkedIn. Imutável após a criação — alterar esse valor em um monitor existente retorna 40021. Crie um novo monitor em vez disso.
company_first, signal_first Tipos de sinais a monitorar.
jobs, news, advertisements, expansions Uma entrada para cada stream de sinal monitorado.
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 globais de empresa. Aceita os mesmos parâmetros do endpoint Company Search.
{
"locations": ["US"],
"employees": [[501, 1000], [1001, 5000]]
}
Lista de UUIDs domain_search_id de empresas. Alternativa: use domains ou linkedin_urls.
Lista de domínios de empresas. Alternativa a companies.
Lista de URLs do LinkedIn de empresas. Alternativa a companies.
Se deve enriquecer os dados da empresa.
Se deve enriquecer os dados de pessoas.
Array de camadas de enriquecimento de pessoas. Contém max_people_to_return (1-25), people_contact_types (veja Redeem) e filters (veja People Search).
[
{
"filters": { "people_locations": ["US"] },
"max_people_to_return": 3,
"people_contact_types": ["email-work"]
}
]
Tipo de destino de entrega.
webhook, email, sequences Frequência de disparo em minutos. Mín: 0, Máx: 10080.
0 <= x <= 10080Número máximo de falhas consecutivas antes de pausar. Mín: 1, Máx: 10.
1 <= x <= 10Número máximo de disparos por dia. Mín: 0, Máx: 86400.
0 <= x <= 86400Controla o número máximo de registros entregues por disparo. Valores menores reduzem o tamanho do payload por entrega, o que é recomendado para conjuntos de resultados grandes ou integrações com limite de taxa. Mín: 1, Máx: 100, Padrão: 25. Consulte Setting up Webhooks para mais orientações.
1 <= x <= 100E-mail para notificações de falha.
Número máximo de novas tentativas por disparo. Mín: 0, Máx: 3.
0 <= x <= 3Atraso entre as tentativas, em segundos. Mín: 1, Máx: 5.
1 <= x <= 5Resposta
Resposta bem-sucedida contendo os resultados da validação do webhook — a configuração de destino e os payloads de requisição/resposta do teste. Em caso de falha do webhook, o endpoint responde com 400 (MONITOR_WEBHOOK_URL_INVALID), trazendo a resposta do webhook nos detalhes do erro.
Show child attributes
Show child attributes

