メインコンテンツへスキップ
POST
/
monitors
/
create
モニターの作成
curl --request POST \
  --url https://api.pubrio.com/monitors/create \
  --header 'Content-Type: application/json' \
  --header 'pubrio-api-key: <api-key>' \
  --data '
{
  "name": "<string>",
  "signal_types": [],
  "destination_config": {},
  "description": "<string>",
  "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"
      ]
    }
  ],
  "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,
  "profile_id": 123
}
'
import requests

url = "https://api.pubrio.com/monitors/create"

payload = {
"name": "<string>",
"signal_types": [],
"destination_config": {},
"description": "<string>",
"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"]
}
],
"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,
"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({
name: '<string>',
signal_types: [],
destination_config: {},
description: '<string>',
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']
}
],
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,
profile_id: 123
})
};

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([
'name' => '<string>',
'signal_types' => [

],
'destination_config' => [

],
'description' => '<string>',
'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'
]
]
],
'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,
'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/create"

payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"signal_types\": [],\n \"destination_config\": {},\n \"description\": \"<string>\",\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 \"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 \"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/create")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"signal_types\": [],\n \"destination_config\": {},\n \"description\": \"<string>\",\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 \"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 \"profile_id\": 123\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 \"name\": \"<string>\",\n \"signal_types\": [],\n \"destination_config\": {},\n \"description\": \"<string>\",\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 \"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 \"profile_id\": 123\n}"

response = http.request(request)
puts response.read_body
{
  "data": {
    "monitor_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "name": "My Monitor",
    "description": "Monitors news and job signals for target companies",
    "detection_mode": "signal_first",
    "destination_type": "webhook",
    "is_active": true,
    "is_paused": false,
    "masked_signature": "7••••••••••••••••8df",
    "created_at": "2026-04-05T20:30:17.792Z",
    "signature": "d4e5f6a7-b8c9-0123-defa-234567890123"
  }
}
{
"code": 40001,
"message": "エラーの背景やフィールド単位の情報などを含む追加データオブジェクトです。",
"details": {}
}
{
"error": "クライアントはしばらく待ってから再試行することが推奨されます。"
}
{
"error": "レスポンスボディには `error` フィールドが含まれ、問題の概要がメッセージとして記載されます。"
}

承認

pubrio-api-key
string
header
必須

API で実行する操作内容と、その操作に付与された権限を識別するための一意の API トークンです。このトークンはダッシュボードの 設定 画面から発行できます。

ボディ

application/json
name
string
必須

モニターの名前。

detection_mode
enum<string>
必須

検出モード:'company_first' は企業を先に検索してからシグナルを確認し、'signal_first' はシグナルを先に検索してから企業をマッチングします。

利用可能なオプション:
company_first,
signal_first
signal_types
enum<string>[]
必須

監視対象のシグナルタイプ。

利用可能なオプション:
jobs,
news,
advertisements
destination_type
enum<string>
必須

配信先タイプ。

利用可能なオプション:
webhook,
email,
sequences
destination_config
object
必須

配信先の設定。Webhookの場合:webhook_url(文字列)が必須、headers(オブジェクト)と body(オブジェクト)はオプション。メールの場合:email(文字列)が必須。sequences タイプは sequence_identifier(文字列)と record_type(文字列)が必要です。

description
string

モニターの説明。

signal_filters
object[]

シグナルフィルターオブジェクトの配列。各オブジェクトは signal_type(jobs、news、advertisements のいずれか)と filters(シグナル固有のパラメータを含むオブジェクト)で構成されます。シグナルタイプごとの利用可能なフィルターパラメータについては、Job SearchNews Search、または Advertisement Search エンドポイントを参照してください。

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

グローバル企業フィルター(第2レイヤーとしてすべてのシグナルタイプに適用)。Company Searchエンドポイントと同じパラメータ(locations、employees、technologies、verticals など)を受け付けます。利用可能なフィルターの完全なリストについては Company Search を参照してください。

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

監視対象の企業 domain_search_id UUID のリスト。主に company_first モードでターゲット企業を指定するために使用されます。domains または linkedin_urls を代替として使用することもできます — いずれか1つのみ必要です。

domains
string[]

監視対象の企業ドメインリスト(例: ["openai.com", "google.com"])。companies の代替として使用できます — Pubrio が対応する企業を自動的に解決します。companiesdomainslinkedin_urls のいずれか1つを指定してください。

linkedin_urls
string<uri>[]

LinkedInの企業ページURLリスト(例: ["https://linkedin.com/company/pubrio"])。companies の代替として使用できます。いずれか1つを指定してください。

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 を参照)、filtersPeople Search エンドポイントと同じパラメータ)を含みます。利用可能なフィルターパラメータについては People Search を、連絡先タイプの詳細については Redeem を参照してください。

:
[
{
"filters": { "people_locations": ["US"] },
"max_people_to_return": 3,
"people_contact_types": ["email-work"]
}
]
frequency_minute
integer
デフォルト:0

トリガー頻度(分単位)。最小:0、最大:10080、デフォルト:0。

必須範囲: 0 <= x <= 10080
max_failure_trigger
integer
デフォルト:5

モニター一時停止前の最大連続失敗数。最小:1、最大:10、デフォルト:5。

必須範囲: 1 <= x <= 10
max_daily_trigger
integer
デフォルト:500

1日あたりの最大トリガー数。最小:0、最大:86400、デフォルト:500。

必須範囲: 0 <= x <= 86400
max_records_per_trigger
integer
デフォルト:25

トリガーごとに配信される最大レコード数を制御します。値を低く設定すると1回あたりのペイロードサイズが削減され、大量の結果セットやレート制限のある統合に推奨されます。最小値:1、最大値:100、デフォルト:25。詳細については Webhook の設定 をご覧ください。

必須範囲: 1 <= x <= 100
notification_email
string<email>

モニター失敗通知用のメールアドレス。

max_retry_per_trigger
integer
デフォルト:1

トリガーあたりの最大リトライ回数。最小:0、最大:3、デフォルト:1。

必須範囲: 0 <= x <= 3
retry_delay_second
integer
デフォルト:1

リトライ間の遅延(秒単位)。最小:1、最大:5、デフォルト:1。

必須範囲: 1 <= x <= 5
profile_id
integer

オプション。リクエストを送信するチームを表す識別子です。API キーにワークスペース情報が既に含まれているため、このパラメータは必須ではなくなりました。指定した場合、検索結果が特定のチーム(ワークスペース)に紐づけられ、データ取得およびクレジット利用状況の追跡が可能になります。詳しくは、チーム関連の「ユーザー詳細」エンドポイントを参照してください。

レスポンス

新規作成されたモニターの詳細を含む成功レスポンスです。

data
object