> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pubrio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Monitor

> Create a new data monitor with specified detection rules and webhook configuration.



## OpenAPI

````yaml en-openapi POST /monitors/create
openapi: 3.0.0
info:
  description: >-
    The Pubrio API is used to search, preview and enrich Contacts and Accounts.
    Pubrio database provides extensive B2B contacts and sales intelligence data.
  version: 1.0.0
  title: Pubrio OpenAPI
  termsOfService: https://pubrio.com/en/terms-of-service
  contact:
    email: king.lai@pubrio.com
    name: King Lai
    url: https://pubrio.com/en/get-in-touch
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.pubrio.com
security:
  - pubrio_api_key: []
tags:
  - name: Profile
    description: Workspace profile information and usage statistics
  - name: Enrichment
    description: Enrich people and company records with detailed B2B data
  - name: Lookalike
    description: Find companies similar to a given company
  - name: Search
    description: Search for people, companies, jobs, news, and advertisements with filters
  - name: Lookup
    description: >-
      Look up detailed information for specific people, companies, jobs, news,
      advertisements, and technologies
  - name: LinkedIn
    description: Look up people and company data via LinkedIn profile URLs
  - name: Redeem
    description: Redeem credits to unlock people contact details (single and batch)
  - name: Channels
    description: Manage outreach channel templates (create, update, delete, list)
  - name: Monitor
    description: Create and manage data monitors with webhooks, statistics, and processing
  - name: Filters
    description: >-
      Retrieve available filter values for search parameters (technologies,
      locations, verticals, etc.)
externalDocs:
  description: >-
    The Pubrio API is used to search, preview and enrich Contacts and Accounts.
    Pubrio database provides extensive B2B contacts and sales intelligence data.
  url: https://docs.pubrio.com
paths:
  /monitors/create:
    post:
      tags:
        - Monitor
      summary: Create a monitor
      description: >-
        Create a new data monitor with specified detection rules and webhook
        configuration.
      operationId: monitors_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the monitor.
                description:
                  type: string
                  description: Description of the monitor.
                detection_mode:
                  type: string
                  description: >-
                    Detection mode: 'company_first' starts by finding companies
                    then checks signals, 'signal_first' starts by finding
                    signals then matches companies.
                  enum:
                    - company_first
                    - signal_first
                signal_types:
                  type: array
                  items:
                    type: string
                    enum:
                      - jobs
                      - news
                      - advertisements
                  description: Types of signals to monitor.
                signal_filters:
                  type: array
                  items:
                    type: object
                  description: >-
                    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](/en/api-reference/endpoint/companies/job_search),
                    [News
                    Search](/en/api-reference/endpoint/companies/news_search),
                    or [Advertisement
                    Search](/en/api-reference/endpoint/companies/advertisements_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:
                  type: object
                  description: >-
                    Global company filters applied as a second layer across all
                    signal types. Accepts the same parameters as the [Company
                    Search](/en/api-reference/endpoint/companies/search)
                    endpoint — locations, employees, technologies, verticals,
                    industries, and more.
                  example:
                    locations:
                      - US
                    employees:
                      - - 501
                        - 1000
                      - - 1001
                        - 5000
                companies:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: >-
                    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.
                domains:
                  type: array
                  items:
                    type: string
                  description: >-
                    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.
                linkedin_urls:
                  type: array
                  items:
                    type: string
                    format: uri
                  description: >-
                    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.
                is_company_enrichment:
                  type: boolean
                  description: Whether to enrich company data in results.
                is_people_enrichment:
                  type: boolean
                  description: Whether to enrich people data in results.
                people_enrichment_configs:
                  type: array
                  items:
                    type: object
                  description: >-
                    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](/en/api-reference/endpoint/redeem/people) contact
                    types: email-work, email-personal, phone), and `filters`
                    (same parameters as [People
                    Search](/en/api-reference/endpoint/people/search) endpoint).
                  example:
                    - filters:
                        people_locations:
                          - US
                      max_people_to_return: 3
                      people_contact_types:
                        - email-work
                destination_type:
                  type: string
                  description: Delivery destination type.
                  enum:
                    - webhook
                    - email
                    - sequences
                destination_config:
                  type: object
                  description: >-
                    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:
                  type: integer
                  description: >-
                    Trigger frequency in minutes. Min: 0, Max: 10080, Default:
                    0.
                  minimum: 0
                  maximum: 10080
                  default: 0
                max_failure_trigger:
                  type: integer
                  description: >-
                    Maximum consecutive failures before pausing the monitor.
                    Min: 1, Max: 10, Default: 5.
                  minimum: 1
                  maximum: 10
                  default: 5
                max_daily_trigger:
                  type: integer
                  description: 'Maximum triggers per day. Min: 0, Max: 86400, Default: 500.'
                  minimum: 0
                  maximum: 86400
                  default: 500
                max_records_per_trigger:
                  type: integer
                  description: >-
                    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](/en/developer-guides/setting-up-webhooks) for
                    guidance.
                  minimum: 1
                  maximum: 100
                  default: 25
                notification_email:
                  type: string
                  format: email
                  description: Email address for monitor failure notifications.
                max_retry_per_trigger:
                  type: integer
                  description: 'Maximum retries per trigger. Min: 0, Max: 3, Default: 1.'
                  minimum: 0
                  maximum: 3
                  default: 1
                retry_delay_second:
                  type: integer
                  description: >-
                    Delay between retries in seconds. Min: 1, Max: 5, Default:
                    1.
                  minimum: 1
                  maximum: 5
                  default: 1
                profile_id:
                  $ref: '#/components/schemas/profile_id'
              required:
                - name
                - detection_mode
                - signal_types
                - destination_type
                - destination_config
      responses:
        '200':
          description: Successful response containing the newly created monitor details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      monitor_id:
                        type: string
                        format: uuid
                        description: Unique identifier for the newly created monitor.
                      name:
                        type: string
                        description: Name of the monitor.
                      description:
                        type: string
                        description: Description of the monitor.
                      detection_mode:
                        type: string
                        description: 'Detection mode: ''company_first'' or ''signal_first''.'
                      destination_type:
                        type: string
                        description: Delivery destination type.
                      is_active:
                        type: boolean
                        description: Whether the monitor is active.
                      is_paused:
                        type: boolean
                        description: Whether the monitor is paused.
                      masked_signature:
                        type: string
                        description: Masked webhook signature for display.
                      created_at:
                        type: string
                        format: date-time
                        description: Timestamp when the monitor was created.
                      signature:
                        type: string
                        format: uuid
                        description: >-
                          Webhook signature for verifying payloads. Only
                          returned on creation.
              example:
                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
        '400':
          $ref: '#/components/responses/general_error'
        '429':
          $ref: '#/components/responses/rate_limit_error'
        '500':
          $ref: '#/components/responses/server_error'
components:
  schemas:
    profile_id:
      type: integer
      description: >-
        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.
  responses:
    general_error:
      description: >-
        Bad request. The request was malformed or contained invalid parameters.
        Check the error code and message for details.
      content:
        application/json:
          schema:
            required:
              - code
              - message
              - details
            type: object
            properties:
              code:
                example: 40001
                type: integer
              message:
                example: >-
                  Errors and codes will vary depending on the scenario, please
                  see the documentation for information.
                type: string
              details:
                type: object
    rate_limit_error:
      description: >-
        Rate limit exceeded. Too many requests were made in a given time period.
        Retry after the rate limit window resets.
      content:
        application/json:
          schema:
            required:
              - error
            type: object
            properties:
              error:
                example: Request rate limit exceeded. Please wait and try again later.
                type: string
    server_error:
      description: >-
        Internal server error. An unexpected error occurred on the server.
        Contact support if the error persists.
      content:
        application/json:
          schema:
            required:
              - error
            type: object
            properties:
              error:
                example: An unexpected error occurred on the server.
                type: string
  securitySchemes:
    pubrio_api_key:
      type: apiKey
      name: pubrio-api-key
      description: >-
        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](https://dashboard.pubrio.com/#/settings/)
        section.
      in: header

````