Skip to main content
POST
/
monitors
/
update
Update a monitor
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>",
  "detection_mode": "company_first",
  "signal_types": [
    "jobs"
  ],
  "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_type": "webhook",
  "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
}
'
{
  "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
    }
  }
}

Authorizations

pubrio-api-key
string
header
required

A unique API token that represents the actions you perform through the API and the corresponding permissions and operations. You can create it through the Settings section.

Body

application/json
monitor_id
string<uuid>
required

Unique identifier of the monitor to update.

name
string

Name of the monitor.

description
string

Description of the monitor.

detection_mode
enum<string>

Detection mode.

Available options:
company_first,
signal_first
signal_types
enum<string>[]

Types of signals to monitor.

Available options:
jobs,
news,
advertisements
signal_filters
object[]

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.

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

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, industries, and more.

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

List of company domain_search_id UUIDs. Alternative: use domains or linkedin_urls.

domains
string[]

List of company domains. Alternative to companies.

linkedin_urls
string<uri>[]

List of LinkedIn company URLs. Alternative to companies.

is_company_enrichment
boolean

Whether to enrich company data.

is_people_enrichment
boolean

Whether to enrich people data.

people_enrichment_configs
object[]

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).

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

Delivery destination type.

Available options:
webhook,
email,
sequences
destination_config
object

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).

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

Trigger frequency in minutes. Min: 0, Max: 10080, Default: 0.

Required range: 0 <= x <= 10080
max_failure_trigger
integer

Maximum consecutive failures before pausing. Min: 1, Max: 10, Default: 5.

Required range: 1 <= x <= 10
max_daily_trigger
integer

Maximum triggers per day. Min: 0, Max: 86400, Default: 500.

Required range: 0 <= x <= 86400
max_records_per_trigger
integer

Controls 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.

Required range: 1 <= x <= 100
notification_email
string<email>

Email for failure notifications.

max_retry_per_trigger
integer

Maximum retries per trigger. Min: 0, Max: 3, Default: 1.

Required range: 0 <= x <= 3
retry_delay_second
integer

Delay between retries in seconds. Min: 1, Max: 5, Default: 1.

Required range: 1 <= x <= 5
is_active
boolean

Whether the monitor should be active.

is_paused
boolean

Whether the monitor should be paused.

profile_id
integer

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.

data
object