curl --request POST \
--url https://api.pubrio.com/monitors/update \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"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"
]
}
],
"destination_config": {
"webhook_url": "https://your-webhook.com/endpoint",
"headers": {
"Authorization": "Bearer token"
},
"body": {
"pipeline": "my-webhook"
}
},
"frequency_minute": 5040,
"max_failure_trigger": 5,
"max_daily_trigger": 43200,
"max_records_per_trigger": 50,
"excluded_companies": [
"550e8400-e29b-41d4-a716-446655440002"
],
"excluded_domains": [
"existing-client.com"
],
"excluded_linkedin_urls": [
"https://linkedin.com/company/existing-client"
],
"companies_mode": "add",
"excluded_companies_mode": "add",
"record_unit": "company",
"company_dedupe_days": 30,
"is_newest_first": true,
"max_daily_records": 200,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3
}
'import requests
url = "https://api.pubrio.com/monitors/update"
payload = {
"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"]
}
],
"destination_config": {
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
},
"frequency_minute": 5040,
"max_failure_trigger": 5,
"max_daily_trigger": 43200,
"max_records_per_trigger": 50,
"excluded_companies": ["550e8400-e29b-41d4-a716-446655440002"],
"excluded_domains": ["existing-client.com"],
"excluded_linkedin_urls": ["https://linkedin.com/company/existing-client"],
"companies_mode": "add",
"excluded_companies_mode": "add",
"record_unit": "company",
"company_dedupe_days": 30,
"is_newest_first": True,
"max_daily_records": 200,
"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({
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']
}
],
destination_config: {
webhook_url: 'https://your-webhook.com/endpoint',
headers: {Authorization: 'Bearer token'},
body: JSON.stringify({pipeline: 'my-webhook'})
},
frequency_minute: 5040,
max_failure_trigger: 5,
max_daily_trigger: 43200,
max_records_per_trigger: 50,
excluded_companies: ['550e8400-e29b-41d4-a716-446655440002'],
excluded_domains: ['existing-client.com'],
excluded_linkedin_urls: ['https://linkedin.com/company/existing-client'],
companies_mode: 'add',
excluded_companies_mode: 'add',
record_unit: 'company',
company_dedupe_days: 30,
is_newest_first: true,
max_daily_records: 200,
notification_email: '[email protected]',
max_retry_per_trigger: 1,
retry_delay_second: 3
})
};
fetch('https://api.pubrio.com/monitors/update', 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/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'monitor_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'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'
]
]
],
'destination_config' => [
'webhook_url' => 'https://your-webhook.com/endpoint',
'headers' => [
'Authorization' => 'Bearer token'
],
'body' => [
'pipeline' => 'my-webhook'
]
],
'frequency_minute' => 5040,
'max_failure_trigger' => 5,
'max_daily_trigger' => 43200,
'max_records_per_trigger' => 50,
'excluded_companies' => [
'550e8400-e29b-41d4-a716-446655440002'
],
'excluded_domains' => [
'existing-client.com'
],
'excluded_linkedin_urls' => [
'https://linkedin.com/company/existing-client'
],
'companies_mode' => 'add',
'excluded_companies_mode' => 'add',
'record_unit' => 'company',
'company_dedupe_days' => 30,
'is_newest_first' => true,
'max_daily_records' => 200,
'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/update"
payload := strings.NewReader("{\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 \"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 \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"excluded_companies\": [\n \"550e8400-e29b-41d4-a716-446655440002\"\n ],\n \"excluded_domains\": [\n \"existing-client.com\"\n ],\n \"excluded_linkedin_urls\": [\n \"https://linkedin.com/company/existing-client\"\n ],\n \"companies_mode\": \"add\",\n \"excluded_companies_mode\": \"add\",\n \"record_unit\": \"company\",\n \"company_dedupe_days\": 30,\n \"is_newest_first\": true,\n \"max_daily_records\": 200,\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/update")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\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 \"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 \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"excluded_companies\": [\n \"550e8400-e29b-41d4-a716-446655440002\"\n ],\n \"excluded_domains\": [\n \"existing-client.com\"\n ],\n \"excluded_linkedin_urls\": [\n \"https://linkedin.com/company/existing-client\"\n ],\n \"companies_mode\": \"add\",\n \"excluded_companies_mode\": \"add\",\n \"record_unit\": \"company\",\n \"company_dedupe_days\": 30,\n \"is_newest_first\": true,\n \"max_daily_records\": 200,\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/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"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 \"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 \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"excluded_companies\": [\n \"550e8400-e29b-41d4-a716-446655440002\"\n ],\n \"excluded_domains\": [\n \"existing-client.com\"\n ],\n \"excluded_linkedin_urls\": [\n \"https://linkedin.com/company/existing-client\"\n ],\n \"companies_mode\": \"add\",\n \"excluded_companies_mode\": \"add\",\n \"record_unit\": \"company\",\n \"company_dedupe_days\": 30,\n \"is_newest_first\": true,\n \"max_daily_records\": 200,\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": {
"monitor_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Updated Monitor Name",
"detection_mode": "company_first",
"destination_type": "webhook",
"status": "active",
"masked_signature": "9••••••••••••••••f09",
"last_modified": "2026-04-05T21:00:00.000Z",
"company_count": 1,
"excluded_company_count": 0
}
}{
"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."
}Update Monitor
Update an existing monitor’s configuration and detection rules.
curl --request POST \
--url https://api.pubrio.com/monitors/update \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"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"
]
}
],
"destination_config": {
"webhook_url": "https://your-webhook.com/endpoint",
"headers": {
"Authorization": "Bearer token"
},
"body": {
"pipeline": "my-webhook"
}
},
"frequency_minute": 5040,
"max_failure_trigger": 5,
"max_daily_trigger": 43200,
"max_records_per_trigger": 50,
"excluded_companies": [
"550e8400-e29b-41d4-a716-446655440002"
],
"excluded_domains": [
"existing-client.com"
],
"excluded_linkedin_urls": [
"https://linkedin.com/company/existing-client"
],
"companies_mode": "add",
"excluded_companies_mode": "add",
"record_unit": "company",
"company_dedupe_days": 30,
"is_newest_first": true,
"max_daily_records": 200,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3
}
'import requests
url = "https://api.pubrio.com/monitors/update"
payload = {
"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"]
}
],
"destination_config": {
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
},
"frequency_minute": 5040,
"max_failure_trigger": 5,
"max_daily_trigger": 43200,
"max_records_per_trigger": 50,
"excluded_companies": ["550e8400-e29b-41d4-a716-446655440002"],
"excluded_domains": ["existing-client.com"],
"excluded_linkedin_urls": ["https://linkedin.com/company/existing-client"],
"companies_mode": "add",
"excluded_companies_mode": "add",
"record_unit": "company",
"company_dedupe_days": 30,
"is_newest_first": True,
"max_daily_records": 200,
"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({
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']
}
],
destination_config: {
webhook_url: 'https://your-webhook.com/endpoint',
headers: {Authorization: 'Bearer token'},
body: JSON.stringify({pipeline: 'my-webhook'})
},
frequency_minute: 5040,
max_failure_trigger: 5,
max_daily_trigger: 43200,
max_records_per_trigger: 50,
excluded_companies: ['550e8400-e29b-41d4-a716-446655440002'],
excluded_domains: ['existing-client.com'],
excluded_linkedin_urls: ['https://linkedin.com/company/existing-client'],
companies_mode: 'add',
excluded_companies_mode: 'add',
record_unit: 'company',
company_dedupe_days: 30,
is_newest_first: true,
max_daily_records: 200,
notification_email: '[email protected]',
max_retry_per_trigger: 1,
retry_delay_second: 3
})
};
fetch('https://api.pubrio.com/monitors/update', 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/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'monitor_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'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'
]
]
],
'destination_config' => [
'webhook_url' => 'https://your-webhook.com/endpoint',
'headers' => [
'Authorization' => 'Bearer token'
],
'body' => [
'pipeline' => 'my-webhook'
]
],
'frequency_minute' => 5040,
'max_failure_trigger' => 5,
'max_daily_trigger' => 43200,
'max_records_per_trigger' => 50,
'excluded_companies' => [
'550e8400-e29b-41d4-a716-446655440002'
],
'excluded_domains' => [
'existing-client.com'
],
'excluded_linkedin_urls' => [
'https://linkedin.com/company/existing-client'
],
'companies_mode' => 'add',
'excluded_companies_mode' => 'add',
'record_unit' => 'company',
'company_dedupe_days' => 30,
'is_newest_first' => true,
'max_daily_records' => 200,
'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/update"
payload := strings.NewReader("{\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 \"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 \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"excluded_companies\": [\n \"550e8400-e29b-41d4-a716-446655440002\"\n ],\n \"excluded_domains\": [\n \"existing-client.com\"\n ],\n \"excluded_linkedin_urls\": [\n \"https://linkedin.com/company/existing-client\"\n ],\n \"companies_mode\": \"add\",\n \"excluded_companies_mode\": \"add\",\n \"record_unit\": \"company\",\n \"company_dedupe_days\": 30,\n \"is_newest_first\": true,\n \"max_daily_records\": 200,\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/update")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\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 \"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 \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"excluded_companies\": [\n \"550e8400-e29b-41d4-a716-446655440002\"\n ],\n \"excluded_domains\": [\n \"existing-client.com\"\n ],\n \"excluded_linkedin_urls\": [\n \"https://linkedin.com/company/existing-client\"\n ],\n \"companies_mode\": \"add\",\n \"excluded_companies_mode\": \"add\",\n \"record_unit\": \"company\",\n \"company_dedupe_days\": 30,\n \"is_newest_first\": true,\n \"max_daily_records\": 200,\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/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"monitor_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"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 \"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 \"frequency_minute\": 5040,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 43200,\n \"max_records_per_trigger\": 50,\n \"excluded_companies\": [\n \"550e8400-e29b-41d4-a716-446655440002\"\n ],\n \"excluded_domains\": [\n \"existing-client.com\"\n ],\n \"excluded_linkedin_urls\": [\n \"https://linkedin.com/company/existing-client\"\n ],\n \"companies_mode\": \"add\",\n \"excluded_companies_mode\": \"add\",\n \"record_unit\": \"company\",\n \"company_dedupe_days\": 30,\n \"is_newest_first\": true,\n \"max_daily_records\": 200,\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": {
"monitor_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Updated Monitor Name",
"detection_mode": "company_first",
"destination_type": "webhook",
"status": "active",
"masked_signature": "9••••••••••••••••f09",
"last_modified": "2026-04-05T21:00:00.000Z",
"company_count": 1,
"excluded_company_count": 0
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Authorizations
Body
Unique identifier of the monitor to update.
Name of the monitor.
Description of the monitor.
How signals are detected. signal_first scans the market broadly; company_first tracks a named account list and requires at least one company, domain or LinkedIn URL. Immutable after creation — changing it on an existing monitor returns 40021. Create a new monitor instead.
company_first, signal_first Types of signals to monitor.
jobs, news, advertisements, expansions, cloud_footprints One entry per signal stream the monitor watches.
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"]
}
}
]
Global company filters applied as a second layer across all signal types. Accepts the same parameters as the Company Search endpoint — locations, employees, technologies, verticals, and more.
{
"locations": ["US"],
"employees": [[501, 1000], [1001, 5000]]
}
List of company domain_search_id UUIDs. Alternative: use domains or linkedin_urls.
List of company domains. Alternative to companies.
List of LinkedIn company URLs. Alternative to companies.
Whether to enrich company data.
Whether to enrich people data.
Array of people enrichment layers. Each layer runs an independent people search. Contains max_people_to_return (1-25), people_contact_types (array — refers to Redeem contact types: email-work, email-personal, phone), and filters (same parameters as People Search endpoint).
[
{
"filters": { "people_locations": ["US"] },
"max_people_to_return": 3,
"people_contact_types": ["email-work"]
}
]
Delivery destination type.
webhook, email, sequences Configuration for the destination. For webhook: requires webhook_url (string), optional headers (object) and body (object). For email: accepts email (string) or emails (array of strings). For sequences: requires sequence_identifier (string) plus at least one of is_people_search_enrolled / is_company_contact_enrolled set to true.
{
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
}
Trigger frequency in minutes. Min: 0, Max: 10080, Default: 0.
0 <= x <= 10080Maximum consecutive failures before pausing. Min: 1, Max: 10, Default: 5.
1 <= x <= 10Maximum triggers per day. Min: 0, Max: 86400, Default: 500.
0 <= x <= 86400Controls the maximum number of records delivered per trigger. Lower values reduce payload size per delivery, which is recommended for large result sets or rate-limited integrations. Min: 1, Max: 100, Default: 25. See Setting up Webhooks for guidance.
1 <= x <= 100Companies this monitor never delivers or bills, as domain_search_id UUIDs. Applied in both detection modes at run time, before enrichment and billing; a company on both companies and this list is excluded while it stays on the list. Max list size: 100,000 (resolved ids across excluded_companies, excluded_domains and excluded_linkedin_urls).
["550e8400-e29b-41d4-a716-446655440002"]
Company domains to exclude (e.g. ["existing-client.com"]). Resolved to companies and merged into excluded_companies.
["existing-client.com"]
LinkedIn company URLs to exclude. Resolved to companies and merged into excluded_companies.
[
"https://linkedin.com/company/existing-client"
]
How the sent companies / domains / linkedin_urls meet the stored watch list: replace (default) swaps the whole list, add appends the sent companies, remove drops them. Lists you omit are never touched.
replace, add, remove "add"
Same for the exclusion list (excluded_companies / excluded_domains / excluded_linkedin_urls): replace (default), add or remove.
replace, add, remove "add"
What one delivered record is: signal (payload signals[], one entry per signal) or company (payload companies[], one entry per company with its signals nested). Default follows detection_mode: signal_first → signal, company_first → company. Caps (max_records_per_trigger, max_daily_records) count this unit.
signal, company "company"
A company appears in at most one delivery per this many days, across all the monitor's signal types; a company delivered inside the window is left out of later deliveries and its later signals in the window are skipped, not queued. 0 = off. Default: 0.
x >= 030
Deliver the freshest matching signals first. With a per-trigger or daily cap the newest records are kept and the monitor's cursor still moves to the newest fetched row, so older rows are skipped, never queued. Default false (oldest first, nothing skipped).
true
Hard cap on records delivered per calendar day in the owner's timezone (0 = unlimited). Counted in the monitor's record unit over successful deliveries; a trigger delivers at most the remaining budget, then the monitor waits for the next day without moving its cursor. Default: 0.
x >= 0200
Email for failure notifications.
Maximum retries per trigger. Min: 0, Max: 3, Default: 1.
0 <= x <= 3Delay between retries in seconds. Min: 1, Max: 5, Default: 1.
1 <= x <= 5Lifecycle status to set. Changing status resets the failure counter.
draft, active, paused, inactive Response
Successful response containing the updated monitor. The response always includes monitor_id, name, detection_mode, destination_type, status, masked_signature, and last_modified, plus any other columns that were part of the update.

