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": [
{
"filters": {
"locations": [
"US"
]
},
"signal_type": "jobs"
},
{
"filters": {
"locations": [
"US"
]
},
"signal_type": "news"
},
{
"filters": {
"target_locations": [
"US"
]
},
"signal_type": "advertisements"
}
],
"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,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3,
"is_active": true,
"is_paused": true,
"profile_id": 123
}
'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": [
{
"filters": { "locations": ["US"] },
"signal_type": "jobs"
},
{
"filters": { "locations": ["US"] },
"signal_type": "news"
},
{
"filters": { "target_locations": ["US"] },
"signal_type": "advertisements"
}
],
"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,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3,
"is_active": True,
"is_paused": True,
"profile_id": 123
}
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: [
{filters: {locations: ['US']}, signal_type: 'jobs'},
{filters: {locations: ['US']}, signal_type: 'news'},
{filters: {target_locations: ['US']}, signal_type: 'advertisements'}
],
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,
notification_email: '[email protected]',
max_retry_per_trigger: 1,
retry_delay_second: 3,
is_active: true,
is_paused: true,
profile_id: 123
})
};
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' => [
[
'filters' => [
'locations' => [
'US'
]
],
'signal_type' => 'jobs'
],
[
'filters' => [
'locations' => [
'US'
]
],
'signal_type' => 'news'
],
[
'filters' => [
'target_locations' => [
'US'
]
],
'signal_type' => 'advertisements'
]
],
'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,
'notification_email' => '[email protected]',
'max_retry_per_trigger' => 1,
'retry_delay_second' => 3,
'is_active' => true,
'is_paused' => true,
'profile_id' => 123
]),
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 \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"jobs\"\n },\n {\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"news\"\n },\n {\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"advertisements\"\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 \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3,\n \"is_active\": true,\n \"is_paused\": true,\n \"profile_id\": 123\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 \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"jobs\"\n },\n {\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"news\"\n },\n {\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"advertisements\"\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 \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3,\n \"is_active\": true,\n \"is_paused\": true,\n \"profile_id\": 123\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 \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"jobs\"\n },\n {\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"news\"\n },\n {\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"advertisements\"\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 \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3,\n \"is_active\": true,\n \"is_paused\": true,\n \"profile_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"data": {
"monitor_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Updated Monitor Name",
"description": "Updated description",
"detection_mode": "company_first",
"signal_types": [
"jobs",
"news"
],
"destination_type": "webhook",
"is_active": true,
"is_paused": false,
"created_at": "2026-03-15T10:00:00.000Z",
"last_modified": "2026-04-05T21:00:00.000Z",
"statistics": {
"total_triggers": 120,
"total_success": 118,
"success_rate": 0.983
}
}
}{
"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": [
{
"filters": {
"locations": [
"US"
]
},
"signal_type": "jobs"
},
{
"filters": {
"locations": [
"US"
]
},
"signal_type": "news"
},
{
"filters": {
"target_locations": [
"US"
]
},
"signal_type": "advertisements"
}
],
"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,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3,
"is_active": true,
"is_paused": true,
"profile_id": 123
}
'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": [
{
"filters": { "locations": ["US"] },
"signal_type": "jobs"
},
{
"filters": { "locations": ["US"] },
"signal_type": "news"
},
{
"filters": { "target_locations": ["US"] },
"signal_type": "advertisements"
}
],
"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,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 3,
"is_active": True,
"is_paused": True,
"profile_id": 123
}
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: [
{filters: {locations: ['US']}, signal_type: 'jobs'},
{filters: {locations: ['US']}, signal_type: 'news'},
{filters: {target_locations: ['US']}, signal_type: 'advertisements'}
],
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,
notification_email: '[email protected]',
max_retry_per_trigger: 1,
retry_delay_second: 3,
is_active: true,
is_paused: true,
profile_id: 123
})
};
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' => [
[
'filters' => [
'locations' => [
'US'
]
],
'signal_type' => 'jobs'
],
[
'filters' => [
'locations' => [
'US'
]
],
'signal_type' => 'news'
],
[
'filters' => [
'target_locations' => [
'US'
]
],
'signal_type' => 'advertisements'
]
],
'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,
'notification_email' => '[email protected]',
'max_retry_per_trigger' => 1,
'retry_delay_second' => 3,
'is_active' => true,
'is_paused' => true,
'profile_id' => 123
]),
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 \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"jobs\"\n },\n {\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"news\"\n },\n {\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"advertisements\"\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 \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3,\n \"is_active\": true,\n \"is_paused\": true,\n \"profile_id\": 123\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 \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"jobs\"\n },\n {\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"news\"\n },\n {\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"advertisements\"\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 \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3,\n \"is_active\": true,\n \"is_paused\": true,\n \"profile_id\": 123\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 \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"jobs\"\n },\n {\n \"filters\": {\n \"locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"news\"\n },\n {\n \"filters\": {\n \"target_locations\": [\n \"US\"\n ]\n },\n \"signal_type\": \"advertisements\"\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 \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 3,\n \"is_active\": true,\n \"is_paused\": true,\n \"profile_id\": 123\n}"
response = http.request(request)
puts response.read_body{
"data": {
"monitor_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Updated Monitor Name",
"description": "Updated description",
"detection_mode": "company_first",
"signal_types": [
"jobs",
"news"
],
"destination_type": "webhook",
"is_active": true,
"is_paused": false,
"created_at": "2026-03-15T10:00:00.000Z",
"last_modified": "2026-04-05T21:00:00.000Z",
"statistics": {
"total_triggers": 120,
"total_success": 118,
"success_rate": 0.983
}
}
}{
"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.
Detection mode.
company_first, signal_first Types of signals to monitor.
jobs, news, advertisements Array of signal filter objects. Each object has signal_type (one of: jobs, news, advertisements) and filters (object with signal-specific parameters). See Job Search, News Search, or Advertisement Search for available filter parameters per signal type.
[
{
"filters": { "locations": ["US"] },
"signal_type": "jobs"
},
{
"filters": { "locations": ["US"] },
"signal_type": "news"
},
{
"filters": { "target_locations": ["US"] },
"signal_type": "advertisements"
}
]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: requires email (string). For sequences: requires sequence_identifier (string) and record_type (string).
{
"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 <= 100Email 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 <= 5Whether the monitor should be active.
Whether the monitor should be paused.
Optional. An identifier for the user profile (workspace) making the request. This is no longer required as the API key already includes your workspace information. If provided, it helps in associating the lookup with a specific user, allowing for data retrieval and credit tracking.
Check out user details endpoints under the Profile tab for more information.
Response
Successful response containing the full updated monitor object.
Show child attributes
Show child attributes

