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."
}التحقق من صحة Webhook الخاص بـ Monitor
أرسل حمولة اختبار موقَّعة إلى رابط webhook وأبلِغ عمّا إذا قُبِلت.
يُنفّذ هذا تسليم HTTP حقيقيًا، لا فحص صياغة رابط. يجب أن يقبل المستقبِل POST ويستجيب بنجاح — الرابط الذي يقدّم صفحة فقط على GET لا يزال يفشل. عند الإخفاق تحصل على 40023 (رابط غير صالح أو غير قابل للوصول) أو 40022 (فشل تسليم الاختبار)، وتحمل details نص الاستجابة الخام من المصدر الأعلى، والذي قد يكون عدة كيلوبايتات من HTML. مرّر monitor_id لتوقيع الاختبار بالتوقيع الحقيقي لذلك الـ Monitor؛ احذفه ليُستخدَم توقيع نائب.
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."
}التفويضات
الجسم
ضبط الوجهة. لـ webhook: يتطلب webhook_url (نص)، وheaders (كائن) وbody (كائن) اختياريان. للبريد الإلكتروني: يقبل email (نص) أو emails (مصفوفة نصوص). للتسلسلات: يتطلب sequence_identifier (نص) بالإضافة إلى واحد على الأقل من is_people_search_enrolled / is_company_contact_enrolled مضبوطًا على true.
{
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
}
المعرّف الفريد لـ Monitor موجود لاختباره. اختياري لاختبار ضبطات جديدة.
اسم الـ Monitor.
وصف الـ Monitor.
كيفية اكتشاف الإشارات. يفحص signal_first السوق بشكل واسع؛ ويتتبع company_first قائمة حسابات مسمّاة ويتطلب شركة واحدة على الأقل، أو نطاقًا، أو رابط LinkedIn. غير قابل للتغيير بعد الإنشاء — تغييره في Monitor موجود يُعيد 40021. أنشئ Monitor جديدًا بدلًا من ذلك.
company_first, signal_first أنواع الإشارات المراد مراقبتها.
jobs, news, advertisements, expansions إدخال واحد لكل دفق إشارة يراقبه الـ 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"]
}
}
]
مرشحات شركة عامة. تقبل نفس معاملات نقطة Company Search.
{
"locations": ["US"],
"employees": [[501, 1000], [1001, 5000]]
}
قائمة معرّفات domain_search_id (UUID) للشركات. البديل: استخدم domains أو linkedin_urls.
قائمة نطاقات الشركات. بديل لـ companies.
قائمة روابط شركات على LinkedIn. بديل لـ companies.
ما إذا كان سيتم إثراء بيانات الشركة.
ما إذا كان سيتم إثراء بيانات الأشخاص.
مصفوفة من طبقات إثراء الأشخاص. تحتوي max_people_to_return (1-25)، وpeople_contact_types (انظر Redeem)، وfilters (انظر People Search).
[
{
"filters": { "people_locations": ["US"] },
"max_people_to_return": 3,
"people_contact_types": ["email-work"]
}
]
نوع وجهة التسليم.
webhook, email, sequences وتيرة التفعيل بالدقائق. الأدنى: 0، الأقصى: 10080.
0 <= x <= 10080الحد الأقصى للإخفاقات المتتالية قبل الإيقاف المؤقت. الأدنى: 1، الأقصى: 10.
1 <= x <= 10الحد الأقصى للتفعيلات يوميًا. الأدنى: 0، الأقصى: 86400.
0 <= x <= 86400يتحكم في الحد الأقصى لعدد السجلات المُسلَّمة لكل تفعيل. القيم الأقل تقلل حجم الحمولة لكل تسليم، وهو موصى به لمجموعات النتائج الكبيرة أو التكاملات المحدودة المعدل. الأدنى: 1، الأقصى: 100، الافتراضي: 25. راجع إعداد Webhooks للإرشاد.
1 <= x <= 100البريد الإلكتروني لإشعارات الإخفاق.
الحد الأقصى لإعادة المحاولات لكل تفعيل. الأدنى: 0، الأقصى: 3.
0 <= x <= 3التأخير بين إعادة المحاولات بالثواني. الأدنى: 1، الأقصى: 5.
1 <= x <= 5الاستجابة
استجابة ناجحة تحتوي على نتائج التحقق من webhook — ضبط الوجهة وحمولتي طلب/استجابة الاختبار. عند إخفاق webhook تستجيب النقطة الطرفية بـ400 (MONITOR_WEBHOOK_URL_INVALID) مع استجابة webhook في تفاصيل الخطأ.
Show child attributes
Show child attributes

