跳转到主要内容
POST
/
monitors
/
update
更新监控
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": "错误及代码会根据不同场景有所不同,详情请参阅文档。",
"details": {}
}
{
"error": "请求频率超出限制。请稍后再试。"
}
{
"error": "服务器在处理请求时遇到了未预料的异常。"
}

授权

pubrio-api-key
string
header
必填

一个唯一的 API 令牌,用于标识您通过 API 执行的操作以及相应的权限和操作。您可以在 设置 部分创建该令牌。

请求体

application/json
monitor_id
string<uuid>
必填

要更新的监控唯一标识符。

name
string

监控名称。

description
string

监控描述。

detection_mode
enum<string>

检测模式。

可用选项:
company_first,
signal_first
signal_types
enum<string>[]

要监控的信号类型。

可用选项:
jobs,
news,
advertisements
signal_filters
object[]

信号过滤器对象数组。每个对象包含 signal_type(jobs、news、advertisements 之一)和 filters(包含信号特定参数的对象)。请参见 Job SearchNews SearchAdvertisement Search 了解过滤器参数。

示例:
[
{
"filters": { "locations": ["US"] },
"signal_type": "jobs"
},
{
"filters": { "locations": ["US"] },
"signal_type": "news"
},
{
"filters": { "target_locations": ["US"] },
"signal_type": "advertisements"
}
]
company_filters
object

全局公司过滤器,作为第二层应用。接受与Company Search端点相同的参数 — locations、employees、technologies、verticals 等。

示例:
{
"locations": ["US"],
"employees": [[501, 1000], [1001, 5000]]
}
companies
string<uuid>[]

公司 domain_search_id UUID 列表。也可使用 domainslinkedin_urls 作为替代方式。

domains
string[]

公司域名列表。可作为 companies 的替代方式。

linkedin_urls
string<uri>[]

LinkedIn 公司主页 URL 列表。可作为 companies 的替代方式。

is_company_enrichment
boolean

是否增强公司数据。

is_people_enrichment
boolean

是否增强人员数据。

people_enrichment_configs
object[]

人员增强层数组。每层执行独立的人员搜索。包含 max_people_to_return(1-25)、people_contact_types(联系类型数组,参见 Redeem 端点:email-work、email-personal、phone)和 filters(与People Search端点相同的参数)。详见人员搜索端点了解可用过滤器,Redeem 端点了解联系类型。

示例:
[
{
"filters": { "people_locations": ["US"] },
"max_people_to_return": 3,
"people_contact_types": ["email-work"]
}
]
destination_type
enum<string>

投递目标类型。

可用选项:
webhook,
email,
sequences
destination_config
object

目标配置。Webhook:需要 webhook_url(字符串),可选 headers(对象)和 body(对象)。Email:需要 email(字符串)。sequences 类型需要 sequence_identifier(字符串)和 record_type(字符串)。

示例:
{
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
}
frequency_minute
integer

触发频率(分钟)。最小值:0,最大值:10080,默认值:0。

必填范围: 0 <= x <= 10080
max_failure_trigger
integer

暂停前的最大连续失败次数。最小值:1,最大值:10,默认值:5。

必填范围: 1 <= x <= 10
max_daily_trigger
integer

每日最大触发次数。最小值:0,最大值:86400,默认值:500。

必填范围: 0 <= x <= 86400
max_records_per_trigger
integer

控制每次触发最多推送的记录数量。较低的值可减少每次推送的数据量,适用于结果集较大或下游系统有速率限制的场景。最小值:1,最大值:100,默认值:25。详情请参阅 配置 Webhooks

必填范围: 1 <= x <= 100
notification_email
string<email>

失败通知邮箱。

max_retry_per_trigger
integer

每次触发的最大重试次数。最小值:0,最大值:3,默认值:1。

必填范围: 0 <= x <= 3
retry_delay_second
integer

重试间隔(秒)。最小值:1,最大值:5,默认值:1。

必填范围: 1 <= x <= 5
is_active
boolean

监控是否应处于活动状态。

is_paused
boolean

监控是否应暂停。

profile_id
integer

可选。发起请求的团队标识符。由于 API 密钥已包含您的工作区信息,此参数不再是必填项。如果提供,该 ID 有助于将查找与特定团队(工作区)关联,实现数据检索和额度追踪。

更多信息请参见团队标签下的 user details 端点。

响应

成功响应,包含更新后的完整监控对象。

data
object