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

# Interpret Monitor

> Preview a monitor before you build it — turn a plain-language request (in any language) into a validated **draft** configuration you can inspect, adjust, and then submit to [Create Monitor](/en/api-reference/endpoint/monitors/create). It's safe to call as often as you need: it only drafts, and never persists a monitor, sends alerts, or spends credits. Use `intent` to choose the action; if omitted, an English keyword heuristic is applied and unrecognised input defaults to `create_monitor`.



## OpenAPI

````yaml en-openapi POST /monitors/interpret
openapi: 3.0.0
info:
  description: >-
    The Pubrio API delivers market expansion intelligence — real-time signals
    that flag when a company enters a new market — alongside the company and
    people data beneath them. Search, look up, and enrich accounts and contacts,
    and subscribe to typed, dated movement signals across 200+ markets.
  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.)
  - name: API Keys
    description: List and inspect API request logs and usage analytics for API keys
  - name: Insights
    description: Aggregated signal insights for companies (jobs, news, advertisements).
  - name: Export
    description: Bulk data exports (credit-gated).
  - name: Expansion
    description: >-
      Company market-expansion intelligence: signals, stages, markets, and
      exports.
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/interpret:
    post:
      tags:
        - Monitor
      summary: Interpret a monitor from natural language
      description: >-
        Preview a monitor before you build it — turn a plain-language request
        (in any language) into a validated **draft** configuration you can
        inspect, adjust, and then submit to [Create
        Monitor](/en/api-reference/endpoint/monitors/create). It's safe to call
        as often as you need: it only drafts, and never persists a monitor,
        sends alerts, or spends credits. Use `intent` to choose the action; if
        omitted, an English keyword heuristic is applied and unrecognised input
        defaults to `create_monitor`.
      operationId: interpretMonitor
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - query
              properties:
                query:
                  type: string
                  maxLength: 2000
                  description: >-
                    The natural-language request (any language), e.g. "monitor
                    companies expanding into Japan, get C-level people with
                    their work email, and email alerts to me@company.com in real
                    time". Capped at 2000 characters.
                intent:
                  type: string
                  enum:
                    - create_monitor
                    - dry_test
                    - execute
                    - analyze
                  description: >-
                    Which action to take (language-agnostic). `create_monitor`
                    (default): return a draft config. `dry_test`: draft plus a
                    read-only count of currently matching signals. `execute`:
                    draft plus preview, flagged for confirmation (never
                    auto-activates). `analyze` (e.g. "which market, SG or JP?"):
                    answered by the expansion analytical agent instead of
                    building a monitor. If omitted, an English keyword heuristic
                    is used; unrecognised input defaults to `create_monitor`.
                deep:
                  type: boolean
                  description: >-
                    Run the reflection pass for higher accuracy (default true;
                    roughly doubles latency). Set false for a faster single-pass
                    interpretation.
            example:
              query: >-
                monitor companies expanding into Japan, get C-level people with
                their work email, and email alerts to me@company.com in real
                time
      responses:
        '200':
          description: The interpreted draft. Nothing is persisted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      intent:
                        type: string
                        enum:
                          - create_monitor
                          - dry_test
                          - execute
                          - analyze
                        description: >-
                          The resolved action (create_monitor / dry_test /
                          execute / analyze).
                      no_intent:
                        type: boolean
                        description: >-
                          true when the request was not a monitor setup (a
                          greeting, off-topic, or nonsense); `config` is then
                          null.
                      config:
                        type: object
                        nullable: true
                        description: >-
                          The draft monitor configuration, shaped exactly like
                          the [Create
                          Monitor](/en/api-reference/endpoint/monitors/create)
                          request body (detection_mode, signal_types,
                          signal_filters, people_enrichment_configs,
                          destination_type/destination_config, frequency_minute,
                          status "draft", and so on). Submit it to Create
                          Monitor to activate. It may also carry
                          `domains`/`linkedin_urls`/`company_names`, which
                          Create Monitor resolves to companies. Null when
                          `no_intent` is true.
                      missing_fields:
                        type: array
                        items:
                          type: string
                        description: >-
                          Fields still required before the monitor can be
                          activated (e.g. "destination", "signal_types",
                          "companies"). Collect these in your UI before
                          submitting to Create Monitor.
                      requires_confirmation:
                        type: boolean
                        description: >-
                          true for the `execute` intent — the config is ready
                          but the user must confirm before you activate it.
                      preview:
                        type: object
                        nullable: true
                        description: >-
                          Present for `dry_test` and `execute`: a read-only
                          estimate of how many signals currently match, per
                          signal type, over the last 30 days (sampled). No
                          credits are spent.
                      interpretation:
                        type: object
                        description: >-
                          Echo of the raw fields extracted from the query, for
                          display or debugging.
              example:
                data:
                  intent: create_monitor
                  no_intent: false
                  config:
                    detection_mode: signal_first
                    signal_types:
                      - expansions
                    signal_filters:
                      - signal_type: expansions
                        filters:
                          tos:
                            - JP
                          stage_slug_list:
                            - exploring
                            - committing
                    company_filters: {}
                    companies: []
                    is_company_enrichment: false
                    is_people_enrichment: true
                    people_enrichment_configs:
                      - max_people_to_return: 5
                        filters:
                          management_levels:
                            - c_suite
                        people_contact_types:
                          - email-work
                    name: Expansion signals → JP
                    destination_type: email
                    destination_config:
                      emails:
                        - me@company.com
                    frequency_minute: 5
                    status: draft
                  missing_fields: []
                  requires_confirmation: false
                  preview: null
                  interpretation:
                    signal_types:
                      - expansions
                    tos:
                      - JP
                    management_levels:
                      - c_suite
                    people_contact_types:
                      - email-work
                    destination_email: me@company.com
                    is_realtime: true
components:
  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

````