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

# Crear monitor

> Crea un monitor de datos: una vigilancia siempre activa que muestra continuamente las señales de negocio que te interesan (nuevas ofertas de empleo, noticias, anuncios o movimientos de expansión de mercado) a partir de las empresas y filtros que definas, enriquece cada coincidencia con datos de empresa y de contacto, y la entrega a tu destino (correo electrónico o webhook) según el horario que elijas. Configúralo campo por campo, o describe todo el monitor en una sola frase en lenguaje natural con `query`, y se interpretará en la configuración dentro de la misma solicitud.



## OpenAPI

````yaml es-openapi POST /monitors/create
openapi: 3.0.0
info:
  description: >-
    La API de Pubrio ofrece inteligencia de expansión de mercado —señales en
    tiempo real que indican cuándo una empresa entra en un nuevo mercado— junto
    con los datos de empresas y personas que las respaldan. Busca, consulta y
    enriquece cuentas y contactos, y suscríbete a señales de movimiento tipadas
    y fechadas en más de 200 mercados.
  version: 1.0.0
  title: Pubrio OpenAPI
  termsOfService: https://pubrio.com/es/terms-of-service
  contact:
    email: king.lai@pubrio.com
    name: King Lai
    url: https://pubrio.com/es/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: Información del perfil del espacio de trabajo y estadísticas de uso
  - name: Enrichment
    description: Enriquece registros de personas y empresas con datos B2B detallados
  - name: Lookalike
    description: Encuentra empresas similares a una empresa determinada
  - name: Search
    description: Busca personas, empresas, empleos, noticias y anuncios con filtros
  - name: Lookup
    description: >-
      Consulta información detallada de personas, empresas, empleos, noticias,
      anuncios y tecnologías específicos
  - name: LinkedIn
    description: Consulta datos de personas y empresas mediante URL de perfil de LinkedIn
  - name: Redeem
    description: >-
      Canjea créditos para desbloquear datos de contacto de personas (individual
      y por lotes)
  - name: Channels
    description: >-
      Gestiona plantillas de canales de contacto (crear, actualizar, eliminar,
      listar)
  - name: Monitor
    description: >-
      Crea y gestiona monitores de datos con webhooks, estadísticas y
      procesamiento
  - name: Filters
    description: >-
      Obtén los valores de filtro disponibles para los parámetros de búsqueda
      (tecnologías, ubicaciones, verticales, etc.)
  - name: API Keys
    description: >-
      Lista e inspecciona los registros de solicitudes a la API y las analíticas
      de uso de las claves de API
  - name: Insights
    description: >-
      Información agregada de señales para empresas (empleos, noticias,
      anuncios).
  - name: Export
    description: Exportaciones de datos masivas (sujetas a créditos).
  - name: Expansion
    description: >-
      Inteligencia de expansión de mercado de empresas: señales, etapas,
      mercados y exportaciones.
externalDocs:
  description: >-
    La API de Pubrio se utiliza para buscar, previsualizar y enriquecer
    contactos y cuentas. La base de datos de Pubrio ofrece amplios datos de
    contactos B2B e inteligencia de ventas.
  url: https://docs.pubrio.com
paths:
  /monitors/create:
    post:
      tags:
        - Monitor
      summary: Crear un monitor
      description: >-
        Crea un monitor de datos: una vigilancia siempre activa que muestra
        continuamente las señales de negocio que te interesan (nuevas ofertas de
        empleo, noticias, anuncios o movimientos de expansión de mercado) a
        partir de las empresas y filtros que definas, enriquece cada
        coincidencia con datos de empresa y de contacto, y la entrega a tu
        destino (correo electrónico o webhook) según el horario que elijas.
        Configúralo campo por campo, o describe todo el monitor en una sola
        frase en lenguaje natural con `query`, y se interpretará en la
        configuración dentro de la misma solicitud.
      operationId: monitors_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Nombre del monitor.
                description:
                  type: string
                  description: Descripción del monitor.
                status:
                  type: string
                  description: >-
                    Estado del ciclo de vida con el que se creará el monitor. El
                    valor predeterminado es `active`. Usa `draft` para guardar
                    un monitor a medio construir: solo se requiere `name`, la
                    validación se aplaza hasta que lo actives, y un borrador
                    nunca se ejecuta.
                  enum:
                    - draft
                    - active
                    - paused
                    - inactive
                  default: active
                detection_mode:
                  type: string
                  description: >-
                    Cómo se detectan las señales. `signal_first` explora el
                    mercado de forma amplia; `company_first` hace seguimiento de
                    una lista de cuentas específica y requiere al menos una
                    empresa, dominio o URL de LinkedIn. **Inmutable después de
                    la creación**: cambiarlo en un monitor existente devuelve
                    `40021`. Crea un nuevo monitor en su lugar.
                  enum:
                    - company_first
                    - signal_first
                signal_types:
                  type: array
                  items:
                    type: string
                    enum:
                      - jobs
                      - news
                      - advertisements
                      - expansions
                  description: Tipos de señales a monitorear.
                signal_filters:
                  type: array
                  items:
                    type: object
                    required:
                      - signal_type
                    properties:
                      signal_type:
                        type: string
                        enum:
                          - jobs
                          - news
                          - advertisements
                          - expansions
                        description: Qué flujo filtra esta entrada.
                      filters:
                        type: object
                        description: >-
                          Filtros para este flujo. `jobs`, `news` y
                          `advertisements` toman los parámetros de [Búsqueda de
                          empleos](/es/api-reference/endpoint/companies/job_search),
                          [Búsqueda de
                          noticias](/es/api-reference/endpoint/companies/news_search)
                          y [Búsqueda de
                          anuncios](/es/api-reference/endpoint/companies/advertisements_search).
                          `expansions` usa el vocabulario de [Búsqueda de
                          expansión](/es/api-reference/endpoint/expansions/market_lookup):
                          `froms` / `tos`, `window_days`, `stages`, `scopes`,
                          `momentum`, `freshness`, `signal_types`,
                          `signal_subtypes`, `signal_strengths`, `source_types`.
                          Resuelve los slugs desde [Referencia de
                          expansión](/es/api-reference/endpoint/expansions/types).
                  description: Una entrada por cada flujo de señales que vigila el monitor.
                  example:
                    - signal_type: jobs
                      filters:
                        locations:
                          - US
                    - signal_type: news
                      filters:
                        locations:
                          - US
                    - signal_type: advertisements
                      filters:
                        target_locations:
                          - US
                    - signal_type: expansions
                      filters:
                        tos:
                          - US
                        stages:
                          - expanding
                          - scaling
                        signal_types:
                          - HIRE
                          - EXEC
                        signal_strengths:
                          - high
                          - very_high
                company_filters:
                  type: object
                  description: >-
                    Filtros globales de empresa aplicados como una segunda capa
                    en todos los tipos de señal. Acepta los mismos parámetros
                    que el endpoint de [Búsqueda de
                    empresas](/es/api-reference/endpoint/companies/search):
                    ubicaciones, empleados, tecnologías, verticales y más.
                  example:
                    locations:
                      - US
                    employees:
                      - - 501
                        - 1000
                      - - 1001
                        - 5000
                companies:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: >-
                    Lista de UUID `domain_search_id` de empresas a monitorear.
                    Se usa principalmente en el modo company_first para
                    especificar las empresas objetivo. También puedes usar
                    `domains` o `linkedin_urls` como alternativas; solo se
                    requiere uno de los tres.
                domains:
                  type: array
                  items:
                    type: string
                  description: >-
                    Lista de dominios de empresas a monitorear (por ejemplo,
                    ["openai.com", "google.com"]). Alternativa a `companies`:
                    Pubrio los resuelve a las empresas correspondientes. Solo se
                    requiere uno de `companies`, `domains` o `linkedin_urls`.
                linkedin_urls:
                  type: array
                  items:
                    type: string
                    format: uri
                  description: >-
                    Lista de URLs de LinkedIn de empresas a monitorear (por
                    ejemplo, ["https://linkedin.com/company/pubrio"]).
                    Alternativa a `companies`: Pubrio las resuelve a las
                    empresas correspondientes. Solo se requiere uno de
                    `companies`, `domains` o `linkedin_urls`.
                is_company_enrichment:
                  type: boolean
                  description: >-
                    Indica si se deben enriquecer los datos de la empresa en los
                    resultados.
                is_people_enrichment:
                  type: boolean
                  description: >-
                    Indica si se deben enriquecer los datos de personas en los
                    resultados.
                people_enrichment_configs:
                  type: array
                  items:
                    type: object
                  description: >-
                    Arreglo de capas de enriquecimiento de personas. Cada capa
                    ejecuta una búsqueda de personas independiente. Contiene
                    `max_people_to_return` (1-25), `people_contact_types`
                    (arreglo; se refiere a los tipos de contacto de
                    [Canjear](/es/api-reference/endpoint/redeem/people):
                    email-work, email-personal, phone) y `filters` (los mismos
                    parámetros que el endpoint de [Búsqueda de
                    personas](/es/api-reference/endpoint/people/search)).
                  example:
                    - filters:
                        people_locations:
                          - US
                      max_people_to_return: 3
                      people_contact_types:
                        - email-work
                destination_type:
                  type: string
                  description: Tipo de destino de entrega.
                  enum:
                    - webhook
                    - email
                    - sequences
                destination_config:
                  type: object
                  description: >-
                    Configuración del destino. Para webhook: requiere
                    `webhook_url` (string), y opcionalmente `headers` (object) y
                    `body` (object). Para email: acepta `email` (string) o
                    `emails` (arreglo de strings). Para sequences: requiere
                    `sequence_identifier` (string) además de al menos uno de
                    `is_people_search_enrolled` / `is_company_contact_enrolled`
                    establecido en true.
                  example:
                    webhook_url: https://your-webhook.com/endpoint
                    headers:
                      Authorization: Bearer token
                    body:
                      pipeline: my-webhook
                frequency_minute:
                  type: integer
                  description: >-
                    Frecuencia de activación en minutos. Mín.: 0, Máx.: 10080,
                    Predeterminado: 0.
                  minimum: 0
                  maximum: 10080
                  default: 0
                max_failure_trigger:
                  type: integer
                  description: >-
                    Número máximo de fallos consecutivos antes de pausar el
                    monitor. Mín.: 1, Máx.: 10, Predeterminado: 5.
                  minimum: 1
                  maximum: 10
                  default: 5
                max_daily_trigger:
                  type: integer
                  description: >-
                    Número máximo de activaciones por día. Mín.: 0, Máx.: 86400,
                    Predeterminado: 500.
                  minimum: 0
                  maximum: 86400
                  default: 500
                max_records_per_trigger:
                  type: integer
                  description: >-
                    Controla el número máximo de registros entregados por
                    activación. Los valores más bajos reducen el tamaño de la
                    carga útil por entrega, lo cual se recomienda para conjuntos
                    de resultados grandes o integraciones con límites de tasa.
                    Mín.: 1, Máx.: 100, Predeterminado: 25. Consulta
                    [Configuración de
                    webhooks](/es/developer-guides/setting-up-webhooks) para más
                    orientación.
                  minimum: 1
                  maximum: 100
                  default: 25
                notification_email:
                  type: string
                  format: email
                  description: >-
                    Dirección de correo electrónico para las notificaciones de
                    fallos del monitor.
                max_retry_per_trigger:
                  type: integer
                  description: >-
                    Número máximo de reintentos por activación. Mín.: 0, Máx.:
                    3, Predeterminado: 1.
                  minimum: 0
                  maximum: 3
                  default: 1
                retry_delay_second:
                  type: integer
                  description: >-
                    Retraso entre reintentos en segundos. Mín.: 1, Máx.: 5,
                    Predeterminado: 1.
                  minimum: 1
                  maximum: 5
                  default: 1
                query:
                  type: string
                  maxLength: 2000
                  description: >-
                    Una descripción en lenguaje natural del monitor (en
                    cualquier idioma), por ejemplo: "monitorea empresas que se
                    expanden a Japón, obtén personas de nivel directivo
                    (C-level) con su correo de trabajo, y envíame alertas por
                    correo a me@company.com en tiempo real". Se interpreta en
                    los campos siguientes (detection_mode, signal_types,
                    signal_filters, people_enrichment_configs,
                    destination_type/destination_config, frequency_minute)
                    dentro de la misma solicitud. Cualquier campo que también
                    envíes explícitamente sobrescribe el valor interpretado. Si
                    el texto no es una solicitud de monitor, la llamada devuelve
                    400. Limitado a 2000 caracteres.
                deep:
                  type: boolean
                  description: >-
                    Opcional, solo se usa con `query`. Ejecuta la pasada de
                    reflexión para una mayor precisión de interpretación (el
                    valor predeterminado es true; aproximadamente duplica la
                    latencia de interpretación). Establece false para una única
                    pasada más rápida.
              anyOf:
                - title: Lenguaje natural
                  required:
                    - query
                - title: Campos estructurados
                  required:
                    - name
                    - detection_mode
                    - signal_types
                    - destination_type
                    - destination_config
                - title: Borrador
                  required:
                    - name
                    - status
      responses:
        '200':
          description: >-
            Respuesta correcta que contiene los detalles del monitor recién
            creado.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      monitor_id:
                        type: string
                        format: uuid
                        description: Identificador único del monitor recién creado.
                      name:
                        type: string
                        description: Nombre del monitor.
                      description:
                        type: string
                        description: Descripción del monitor.
                      detection_mode:
                        type: string
                        description: 'Modo de detección: ''company_first'' o ''signal_first''.'
                      signal_types:
                        type: array
                        items:
                          type: string
                        description: Tipos de señales que este monitor vigila.
                      signal_filters:
                        type: array
                        items:
                          type: object
                        description: >-
                          Filtros por tipo de señal, tal como se almacenan.
                          Cuando creas el monitor con `query`, esto es en lo que
                          se interpretó tu frase; revísalo para confirmar que el
                          monitor vigila lo que querías.
                      company_filters:
                        type: object
                        description: >-
                          Filtros de perfil de empresa aplicados a cada señal
                          coincidente.
                      companies:
                        type: array
                        items:
                          type: string
                        description: Empresas vigiladas (company_first).
                      is_company_enrichment:
                        type: boolean
                        description: >-
                          Indica si las coincidencias se enriquecen con detalles
                          de la empresa.
                      is_people_enrichment:
                        type: boolean
                        description: >-
                          Indica si las coincidencias se enriquecen con personas
                          y contactos.
                      people_enrichment_configs:
                        type: array
                        items:
                          type: object
                        description: >-
                          Configuración de enriquecimiento de personas, tal como
                          se almacena.
                      destination_type:
                        type: string
                        description: Tipo de destino de entrega.
                      destination_config:
                        type: object
                        description: >-
                          Detalles del destino de entrega (correos electrónicos
                          o URL de webhook).
                      frequency_minute:
                        type: integer
                        description: Con qué frecuencia se ejecuta el monitor, en minutos.
                      notification_email:
                        type: string
                        nullable: true
                        description: Dirección notificada sobre el propio monitor.
                      max_retry_per_trigger:
                        type: integer
                        description: Reintentos permitidos por activación.
                      retry_delay_second:
                        type: integer
                        description: Retraso entre reintentos, en segundos.
                      max_records_per_trigger:
                        type: integer
                        description: Número máximo de registros entregados por activación.
                      max_daily_trigger:
                        type: integer
                        description: Número máximo de activaciones por día.
                      max_failure_trigger:
                        type: integer
                        description: >-
                          Fallos consecutivos antes de que el monitor se
                          detenga.
                      status:
                        type: string
                        enum:
                          - draft
                          - active
                          - paused
                          - inactive
                        description: >-
                          Estado del ciclo de vida con el que se creó el
                          monitor.
                      masked_signature:
                        type: string
                        description: Firma del webhook enmascarada para mostrar.
                      created_at:
                        type: string
                        format: date-time
                        description: Marca de tiempo de creación del monitor.
                      signature:
                        type: string
                        format: uuid
                        description: >-
                          Firma del webhook para verificar las cargas útiles
                          (payloads). Solo se devuelve al crearlo.
              example:
                data:
                  monitor_id: c9cd5421-b327-4243-9cd7-8b341b3da8bd
                  name: Expansion signals → JP
                  description: null
                  detection_mode: signal_first
                  signal_types:
                    - expansions
                  signal_filters:
                    - signal_type: expansions
                      filters:
                        tos:
                          - JP
                  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
                  destination_type: email
                  destination_config:
                    emails:
                      - me@company.com
                  frequency_minute: 5
                  notification_email: null
                  max_retry_per_trigger: 3
                  retry_delay_second: 60
                  max_records_per_trigger: 100
                  max_daily_trigger: 24
                  max_failure_trigger: 5
                  status: active
                  masked_signature: 5••••••••••••••8b8
                  created_at: '2026-07-16T10:27:40.469Z'
                  signature: 52209a0d-f1c8-4111-a685-ac86edc678b8
        '400':
          $ref: '#/components/responses/general_error'
        '429':
          $ref: '#/components/responses/rate_limit_error'
        '500':
          $ref: '#/components/responses/server_error'
components:
  responses:
    general_error:
      description: >-
        Solicitud incorrecta. La solicitud estaba mal formada o contenía
        parámetros no válidos. Consulta el código de error y el mensaje para más
        detalles.
      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: >-
        Límite de tasa excedido. Se realizaron demasiadas solicitudes en un
        período de tiempo determinado. Vuelve a intentarlo después de que se
        restablezca la ventana de límite de tasa.
      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: >-
        Error interno del servidor. Se produjo un error inesperado en el
        servidor. Contacta con soporte si el error persiste.
      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: >-
        Un token de API único que representa las acciones que realizas a través
        de la API, junto con los permisos y operaciones correspondientes. Puedes
        crearlo en la sección
        [Configuración](https://dashboard.pubrio.com/#/settings/).
      in: header

````