メインコンテンツへスキップ
POST
/
monitors
/
webhook
/
validate
モニターWebhookの検証
curl --request POST \
  --url https://api.pubrio.com/monitors/webhook/validate \
  --header 'Content-Type: application/json' \
  --header 'pubrio-api-key: <api-key>' \
  --data '
{
  "destination_config": {
    "webhook_url": "https://your-webhook.com/endpoint",
    "headers": {
      "Authorization": "Bearer token"
    },
    "body": {
      "pipeline": "my-webhook"
    }
  },
  "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"
      ]
    }
  ],
  "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,
  "profile_id": 123
}
'
import requests

url = "https://api.pubrio.com/monitors/webhook/validate"

payload = {
"destination_config": {
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
},
"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"]
}
],
"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,
"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({
destination_config: {
webhook_url: 'https://your-webhook.com/endpoint',
headers: {Authorization: 'Bearer token'},
body: JSON.stringify({pipeline: 'my-webhook'})
},
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']
}
],
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,
profile_id: 123
})
};

fetch('https://api.pubrio.com/monitors/webhook/validate', 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/webhook/validate",
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([
'destination_config' => [
'webhook_url' => 'https://your-webhook.com/endpoint',
'headers' => [
'Authorization' => 'Bearer token'
],
'body' => [
'pipeline' => 'my-webhook'
]
],
'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'
]
]
],
'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,
'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/webhook/validate"

payload := strings.NewReader("{\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 \"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 \"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 \"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/webhook/validate")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\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 \"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 \"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 \"profile_id\": 123\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.pubrio.com/monitors/webhook/validate")

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 \"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 \"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 \"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 \"profile_id\": 123\n}"

response = http.request(request)
puts response.read_body
{
  "data": {
    "destination_config": {
      "webhook_url": "https://usewebhook.com/example",
      "headers": {
        "X-Custom-Auth": "your-token"
      },
      "body": {
        "source": "pubrio"
      }
    },
    "request_payload": {
      "monitor": {
        "monitor_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "name": "My Monitor",
        "detection_mode": "signal_first",
        "signal_types": [
          "jobs",
          "news",
          "advertisements"
        ],
        "signal_filters": [
          "..."
        ],
        "company_filters": {
          "...": "..."
        },
        "is_company_enrichment": true,
        "is_people_enrichment": true,
        "people_enrichment_configs": [
          "..."
        ]
      },
      "metadata": {
        "total_signals": 3,
        "total_companies": 1,
        "total_people": 0
      },
      "triggered_at": "2026-04-05T22:43:06.973Z",
      "signals": [
        {
          "signal_type": "jobs",
          "signal": {
            "signal_type": "jobs",
            "job_search_id": "...",
            "companies": [
              "..."
            ]
          },
          "companies": [
            "..."
          ]
        },
        "..."
      ],
      "source": "pubrio"
    },
    "response_payload": "OK"
  }
}
{
"code": 40001,
"message": "エラーの背景やフィールド単位の情報などを含む追加データオブジェクトです。",
"details": {}
}
{
"error": "クライアントはしばらく待ってから再試行することが推奨されます。"
}
{
"error": "レスポンスボディには `error` フィールドが含まれ、問題の概要がメッセージとして記載されます。"
}

承認

pubrio-api-key
string
header
必須

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

ボディ

application/json
destination_type
enum<string>
必須

配信先タイプ。

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

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

:
{
"webhook_url": "https://your-webhook.com/endpoint",
"headers": { "Authorization": "Bearer token" },
"body": { "pipeline": "my-webhook" }
}
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_typefilters で構成されます。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

グローバル企業フィルター。Company Searchエンドポイントと同じパラメータを受け付けます。

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

監視対象の企業 domain_search_id UUID のリスト。代替: domains または linkedin_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_typesRedeem を参照)、filtersPeople Search を参照)を含みます。

:
[
{
"filters": { "people_locations": ["US"] },
"max_people_to_return": 3,
"people_contact_types": ["email-work"]
}
]
frequency_minute
integer

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

必須範囲: 0 <= x <= 10080
max_failure_trigger
integer

一時停止前の最大連続失敗数。最小:1、最大:10。

必須範囲: 1 <= x <= 10
max_daily_trigger
integer

1日あたりの最大トリガー数。最小:0、最大:86400。

必須範囲: 0 <= x <= 86400
max_records_per_trigger
integer

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

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

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

max_retry_per_trigger
integer

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

必須範囲: 0 <= x <= 3
retry_delay_second
integer

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

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

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

レスポンス

配信先の設定およびテストリクエスト/レスポンスペイロードを含むWebhookバリデーション結果の成功レスポンスです。

data
object