curl --request POST \
--url https://api.pubrio.com/monitors/create \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"query": "<string>",
"name": "<string>",
"description": "<string>",
"status": "active",
"signal_types": [],
"signal_filters": [
{
"filters": {
"locations": [
"US"
]
},
"signal_type": "jobs"
},
{
"filters": {
"locations": [
"US"
]
},
"signal_type": "news"
},
{
"filters": {
"target_locations": [
"US"
]
},
"signal_type": "advertisements"
},
{
"filters": {
"tos": [
"US"
],
"stages": [
"expanding",
"scaling"
],
"signal_strengths": [
"high",
"very_high"
]
},
"signal_type": "expansions"
}
],
"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": 0,
"max_failure_trigger": 5,
"max_daily_trigger": 500,
"max_records_per_trigger": 25,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 1,
"deep": true
}
'import requests
url = "https://api.pubrio.com/monitors/create"
payload = {
"query": "<string>",
"name": "<string>",
"description": "<string>",
"status": "active",
"signal_types": [],
"signal_filters": [
{
"filters": { "locations": ["US"] },
"signal_type": "jobs"
},
{
"filters": { "locations": ["US"] },
"signal_type": "news"
},
{
"filters": { "target_locations": ["US"] },
"signal_type": "advertisements"
},
{
"filters": {
"tos": ["US"],
"stages": ["expanding", "scaling"],
"signal_strengths": ["high", "very_high"]
},
"signal_type": "expansions"
}
],
"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": 0,
"max_failure_trigger": 5,
"max_daily_trigger": 500,
"max_records_per_trigger": 25,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 1,
"deep": True
}
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({
query: '<string>',
name: '<string>',
description: '<string>',
status: 'active',
signal_types: [],
signal_filters: [
{filters: {locations: ['US']}, signal_type: 'jobs'},
{filters: {locations: ['US']}, signal_type: 'news'},
{filters: {target_locations: ['US']}, signal_type: 'advertisements'},
{
filters: {
tos: ['US'],
stages: ['expanding', 'scaling'],
signal_strengths: ['high', 'very_high']
},
signal_type: 'expansions'
}
],
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: 0,
max_failure_trigger: 5,
max_daily_trigger: 500,
max_records_per_trigger: 25,
notification_email: '[email protected]',
max_retry_per_trigger: 1,
retry_delay_second: 1,
deep: true
})
};
fetch('https://api.pubrio.com/monitors/create', 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/create",
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([
'query' => '<string>',
'name' => '<string>',
'description' => '<string>',
'status' => 'active',
'signal_types' => [
],
'signal_filters' => [
[
'filters' => [
'locations' => [
'US'
]
],
'signal_type' => 'jobs'
],
[
'filters' => [
'locations' => [
'US'
]
],
'signal_type' => 'news'
],
[
'filters' => [
'target_locations' => [
'US'
]
],
'signal_type' => 'advertisements'
],
[
'filters' => [
'tos' => [
'US'
],
'stages' => [
'expanding',
'scaling'
],
'signal_strengths' => [
'high',
'very_high'
]
],
'signal_type' => 'expansions'
]
],
'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' => 0,
'max_failure_trigger' => 5,
'max_daily_trigger' => 500,
'max_records_per_trigger' => 25,
'notification_email' => '[email protected]',
'max_retry_per_trigger' => 1,
'retry_delay_second' => 1,
'deep' => true
]),
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/create"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"active\",\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 \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n },\n \"signal_type\": \"expansions\"\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\": 0,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 500,\n \"max_records_per_trigger\": 25,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 1,\n \"deep\": true\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/create")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"active\",\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 \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n },\n \"signal_type\": \"expansions\"\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\": 0,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 500,\n \"max_records_per_trigger\": 25,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 1,\n \"deep\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/create")
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 \"query\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"active\",\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 \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n },\n \"signal_type\": \"expansions\"\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\": 0,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 500,\n \"max_records_per_trigger\": 25,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 1,\n \"deep\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"monitor_id": "c9cd5421-b327-4243-9cd7-8b341b3da8bd",
"name": "Expansion signals → JP",
"description": null,
"detection_mode": "signal_first",
"signal_types": [
"expansions"
],
"signal_filters": [
{
"signal_type": "expansions",
"filters": {
"tos": [
"JP"
]
}
}
],
"company_filters": {},
"companies": [],
"is_company_enrichment": false,
"is_people_enrichment": true,
"people_enrichment_configs": [
{
"max_people_to_return": 5,
"filters": {
"management_levels": [
"c_suite"
]
},
"people_contact_types": [
"email-work"
]
}
],
"destination_type": "email",
"destination_config": {
"emails": [
"[email protected]"
]
},
"frequency_minute": 5,
"notification_email": null,
"max_retry_per_trigger": 3,
"retry_delay_second": 60,
"max_records_per_trigger": 100,
"max_daily_trigger": 24,
"max_failure_trigger": 5,
"status": "active",
"masked_signature": "5••••••••••••••8b8",
"created_at": "2026-07-16T10:27:40.469Z",
"signature": "52209a0d-f1c8-4111-a685-ac86edc678b8"
}
}{
"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."
}Create Monitor
Create a data monitor: an always-on watch that continuously surfaces the business signals you care about — new job postings, news, advertisements, or market-expansion moves — from the companies and filters you define, enriches each match with company and contact data, and delivers it to your destination (email or webhook) on your chosen schedule. Configure it field by field, or describe the whole monitor in one plain-language sentence with query and it is interpreted into the configuration within the same request.
curl --request POST \
--url https://api.pubrio.com/monitors/create \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"query": "<string>",
"name": "<string>",
"description": "<string>",
"status": "active",
"signal_types": [],
"signal_filters": [
{
"filters": {
"locations": [
"US"
]
},
"signal_type": "jobs"
},
{
"filters": {
"locations": [
"US"
]
},
"signal_type": "news"
},
{
"filters": {
"target_locations": [
"US"
]
},
"signal_type": "advertisements"
},
{
"filters": {
"tos": [
"US"
],
"stages": [
"expanding",
"scaling"
],
"signal_strengths": [
"high",
"very_high"
]
},
"signal_type": "expansions"
}
],
"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": 0,
"max_failure_trigger": 5,
"max_daily_trigger": 500,
"max_records_per_trigger": 25,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 1,
"deep": true
}
'import requests
url = "https://api.pubrio.com/monitors/create"
payload = {
"query": "<string>",
"name": "<string>",
"description": "<string>",
"status": "active",
"signal_types": [],
"signal_filters": [
{
"filters": { "locations": ["US"] },
"signal_type": "jobs"
},
{
"filters": { "locations": ["US"] },
"signal_type": "news"
},
{
"filters": { "target_locations": ["US"] },
"signal_type": "advertisements"
},
{
"filters": {
"tos": ["US"],
"stages": ["expanding", "scaling"],
"signal_strengths": ["high", "very_high"]
},
"signal_type": "expansions"
}
],
"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": 0,
"max_failure_trigger": 5,
"max_daily_trigger": 500,
"max_records_per_trigger": 25,
"notification_email": "[email protected]",
"max_retry_per_trigger": 1,
"retry_delay_second": 1,
"deep": True
}
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({
query: '<string>',
name: '<string>',
description: '<string>',
status: 'active',
signal_types: [],
signal_filters: [
{filters: {locations: ['US']}, signal_type: 'jobs'},
{filters: {locations: ['US']}, signal_type: 'news'},
{filters: {target_locations: ['US']}, signal_type: 'advertisements'},
{
filters: {
tos: ['US'],
stages: ['expanding', 'scaling'],
signal_strengths: ['high', 'very_high']
},
signal_type: 'expansions'
}
],
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: 0,
max_failure_trigger: 5,
max_daily_trigger: 500,
max_records_per_trigger: 25,
notification_email: '[email protected]',
max_retry_per_trigger: 1,
retry_delay_second: 1,
deep: true
})
};
fetch('https://api.pubrio.com/monitors/create', 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/create",
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([
'query' => '<string>',
'name' => '<string>',
'description' => '<string>',
'status' => 'active',
'signal_types' => [
],
'signal_filters' => [
[
'filters' => [
'locations' => [
'US'
]
],
'signal_type' => 'jobs'
],
[
'filters' => [
'locations' => [
'US'
]
],
'signal_type' => 'news'
],
[
'filters' => [
'target_locations' => [
'US'
]
],
'signal_type' => 'advertisements'
],
[
'filters' => [
'tos' => [
'US'
],
'stages' => [
'expanding',
'scaling'
],
'signal_strengths' => [
'high',
'very_high'
]
],
'signal_type' => 'expansions'
]
],
'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' => 0,
'max_failure_trigger' => 5,
'max_daily_trigger' => 500,
'max_records_per_trigger' => 25,
'notification_email' => '[email protected]',
'max_retry_per_trigger' => 1,
'retry_delay_second' => 1,
'deep' => true
]),
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/create"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"active\",\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 \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n },\n \"signal_type\": \"expansions\"\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\": 0,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 500,\n \"max_records_per_trigger\": 25,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 1,\n \"deep\": true\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/create")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"active\",\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 \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n },\n \"signal_type\": \"expansions\"\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\": 0,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 500,\n \"max_records_per_trigger\": 25,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 1,\n \"deep\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/monitors/create")
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 \"query\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"active\",\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 \"filters\": {\n \"tos\": [\n \"US\"\n ],\n \"stages\": [\n \"expanding\",\n \"scaling\"\n ],\n \"signal_strengths\": [\n \"high\",\n \"very_high\"\n ]\n },\n \"signal_type\": \"expansions\"\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\": 0,\n \"max_failure_trigger\": 5,\n \"max_daily_trigger\": 500,\n \"max_records_per_trigger\": 25,\n \"notification_email\": \"[email protected]\",\n \"max_retry_per_trigger\": 1,\n \"retry_delay_second\": 1,\n \"deep\": true\n}"
response = http.request(request)
puts response.read_body{
"data": {
"monitor_id": "c9cd5421-b327-4243-9cd7-8b341b3da8bd",
"name": "Expansion signals → JP",
"description": null,
"detection_mode": "signal_first",
"signal_types": [
"expansions"
],
"signal_filters": [
{
"signal_type": "expansions",
"filters": {
"tos": [
"JP"
]
}
}
],
"company_filters": {},
"companies": [],
"is_company_enrichment": false,
"is_people_enrichment": true,
"people_enrichment_configs": [
{
"max_people_to_return": 5,
"filters": {
"management_levels": [
"c_suite"
]
},
"people_contact_types": [
"email-work"
]
}
],
"destination_type": "email",
"destination_config": {
"emails": [
"[email protected]"
]
},
"frequency_minute": 5,
"notification_email": null,
"max_retry_per_trigger": 3,
"retry_delay_second": 60,
"max_records_per_trigger": 100,
"max_daily_trigger": 24,
"max_failure_trigger": 5,
"status": "active",
"masked_signature": "5••••••••••••••8b8",
"created_at": "2026-07-16T10:27:40.469Z",
"signature": "52209a0d-f1c8-4111-a685-ac86edc678b8"
}
}{
"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
- Natural language
- Structured fields
- Draft
A natural-language description of the monitor (any language), e.g. "monitor companies expanding into Japan, get C-level people with their work email, and email alerts to [email protected] in real time". It is interpreted into the fields below (detection_mode, signal_types, signal_filters, people_enrichment_configs, destination_type/destination_config, frequency_minute) in the same request. Any field you also pass explicitly overrides the interpreted value. If the text is not a monitor request, the call returns 400. Capped at 2000 characters.
2000Name of the monitor.
Description of the monitor.
Lifecycle status to create the monitor with. Defaults to active. Use draft to save a half-built monitor: only name is required, validation is deferred until you activate it, and a draft never runs.
draft, active, paused, inactive 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 Array of signal filter objects. Each object has signal_type (one of: jobs, news, advertisements, expansions) and filters (object with signal-specific parameters). See Job Search, News Search or Advertisement Search for the available filter parameters per signal type. For expansions, use the Expansion Search filter vocabulary — froms / tos, stages, momentum, freshness, scopes, signal_types, signal_strengths and window_days.
[
{
"filters": { "locations": ["US"] },
"signal_type": "jobs"
},
{
"filters": { "locations": ["US"] },
"signal_type": "news"
},
{
"filters": { "target_locations": ["US"] },
"signal_type": "advertisements"
},
{
"filters": {
"tos": ["US"],
"stages": ["expanding", "scaling"],
"signal_strengths": ["high", "very_high"]
},
"signal_type": "expansions"
}
]
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 to monitor. Used primarily in company_first mode to specify target companies. You can also use domains or linkedin_urls as alternatives — only one of the three is required.
List of company domains to monitor (e.g., ["openai.com", "google.com"]). Alternative to companies — Pubrio resolves these to the corresponding companies. Only one of companies, domains, or linkedin_urls is required.
List of LinkedIn company URLs to monitor (e.g., ["https://linkedin.com/company/pubrio"]). Alternative to companies — Pubrio resolves these to the corresponding companies. Only one of companies, domains, or linkedin_urls is required.
Whether to enrich company data in results.
Whether to enrich people data in results.
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 the monitor. 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 address for monitor 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 <= 5Optional, only used with query. Run the reflection pass for higher interpretation accuracy (default true; roughly doubles the interpretation latency). Set false for a faster single pass.
Response
Successful response containing the newly created monitor details.
Show child attributes
Show child attributes

