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

# Créer un moniteur

> Créez un moniteur de données : une surveillance permanente qui fait remonter en continu les signaux business qui vous intéressent — nouvelles offres d'emploi, actualités, publicités ou mouvements d'expansion de marché — à partir des entreprises et des filtres que vous définissez, enrichit chaque correspondance avec des données d'entreprise et de contact, et les livre à votre destination (e-mail ou webhook) selon le calendrier que vous avez choisi. Configurez-le champ par champ, ou décrivez l'ensemble du moniteur en une phrase en langage naturel avec `query`, qui est alors interprétée dans la configuration au sein de la même requête.



## OpenAPI

````yaml fr-openapi POST /monitors/create
openapi: 3.0.0
info:
  description: >-
    L'API Pubrio fournit une intelligence d'expansion de marché — des signaux en
    temps réel qui indiquent quand une entreprise entre sur un nouveau marché —
    ainsi que les données d'entreprises et de personnes qui les sous-tendent.
    Recherchez, consultez et enrichissez des comptes et des contacts, et
    abonnez-vous à des signaux de mouvement typés et datés sur plus de 200
    marchés.
  version: 1.0.0
  title: Pubrio OpenAPI
  termsOfService: https://pubrio.com/fr/terms-of-service
  contact:
    email: king.lai@pubrio.com
    name: King Lai
    url: https://pubrio.com/fr/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: >-
      Informations de profil de l'espace de travail et statistiques
      d'utilisation
  - name: Enrichment
    description: >-
      Enrichissez les fiches de personnes et d'entreprises avec des données B2B
      détaillées
  - name: Lookalike
    description: Trouvez des entreprises similaires à une entreprise donnée
  - name: Search
    description: >-
      Recherchez des personnes, des entreprises, des offres d'emploi, des
      actualités et des publicités à l'aide de filtres
  - name: Lookup
    description: >-
      Consultez des informations détaillées sur des personnes, entreprises,
      offres d'emploi, actualités, publicités et technologies spécifiques
  - name: LinkedIn
    description: >-
      Consultez les données de personnes et d'entreprises via des URL de profil
      LinkedIn
  - name: Redeem
    description: >-
      Utilisez des crédits pour débloquer les coordonnées de personnes (unitaire
      et par lot)
  - name: Channels
    description: >-
      Gérez les modèles de canaux de prospection (création, mise à jour,
      suppression, liste)
  - name: Monitor
    description: >-
      Créez et gérez des moniteurs de données avec webhooks, statistiques et
      traitement
  - name: Filters
    description: >-
      Récupérez les valeurs de filtre disponibles pour les paramètres de
      recherche (technologies, localisations, secteurs verticaux, etc.)
  - name: API Keys
    description: >-
      Listez et inspectez les journaux de requêtes API et les statistiques
      d'utilisation des clés API
  - name: Insights
    description: >-
      Informations agrégées sur les signaux des entreprises (offres d'emploi,
      actualités, publicités).
  - name: Export
    description: Exports de données en masse (soumis à des crédits).
  - name: Expansion
    description: >-
      Intelligence d'expansion de marché des entreprises : signaux, étapes,
      marchés et exports.
externalDocs:
  description: >-
    L'API Pubrio permet de rechercher, prévisualiser et enrichir des contacts et
    des comptes. La base de données Pubrio fournit des données étendues de
    contacts B2B et de veille commerciale.
  url: https://docs.pubrio.com
paths:
  /monitors/create:
    post:
      tags:
        - Monitor
      summary: Créer un moniteur
      description: >-
        Créez un moniteur de données : une surveillance permanente qui fait
        remonter en continu les signaux business qui vous intéressent —
        nouvelles offres d'emploi, actualités, publicités ou mouvements
        d'expansion de marché — à partir des entreprises et des filtres que vous
        définissez, enrichit chaque correspondance avec des données d'entreprise
        et de contact, et les livre à votre destination (e-mail ou webhook)
        selon le calendrier que vous avez choisi. Configurez-le champ par champ,
        ou décrivez l'ensemble du moniteur en une phrase en langage naturel avec
        `query`, qui est alors interprétée dans la configuration au sein de la
        même requête.
      operationId: monitors_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Nom du monitor.
                description:
                  type: string
                  description: Description du monitor.
                status:
                  type: string
                  description: >-
                    Statut de cycle de vie avec lequel créer le monitor. Par
                    défaut sur `active`. Utilisez `draft` pour enregistrer un
                    monitor à moitié construit : seul `name` est requis, la
                    validation est différée jusqu'à son activation, et un
                    brouillon ne s'exécute jamais.
                  enum:
                    - draft
                    - active
                    - paused
                    - inactive
                  default: active
                detection_mode:
                  type: string
                  description: >-
                    Comment les signaux sont détectés. `signal_first` scanne
                    largement le marché ; `company_first` suit une liste de
                    comptes nommés et nécessite au moins une entreprise, un
                    domaine ou une URL LinkedIn. **Immuable après la création**
                    — le modifier sur un monitor existant renvoie `40021`. Créez
                    plutôt un nouveau monitor.
                  enum:
                    - company_first
                    - signal_first
                signal_types:
                  type: array
                  items:
                    type: string
                    enum:
                      - jobs
                      - news
                      - advertisements
                      - expansions
                  description: Types de signaux à surveiller.
                signal_filters:
                  type: array
                  items:
                    type: object
                    required:
                      - signal_type
                    properties:
                      signal_type:
                        type: string
                        enum:
                          - jobs
                          - news
                          - advertisements
                          - expansions
                        description: Quel flux cette entrée filtre.
                      filters:
                        type: object
                        description: >-
                          Filtres pour ce flux. `jobs`, `news` et
                          `advertisements` reprennent les paramètres de [Job
                          Search](/fr/api-reference/endpoint/companies/job_search),
                          [News
                          Search](/fr/api-reference/endpoint/companies/news_search)
                          et [Advertisement
                          Search](/fr/api-reference/endpoint/companies/advertisements_search).
                          `expansions` reprend le vocabulaire de [Expansion
                          Search](/fr/api-reference/endpoint/expansions/market_lookup)
                          : `froms` / `tos`, `window_days`, `stages`, `scopes`,
                          `momentum`, `freshness`, `signal_types`,
                          `signal_subtypes`, `signal_strengths`, `source_types`.
                          Résolvez les slugs depuis [Expansion
                          Reference](/fr/api-reference/endpoint/expansions/types).
                  description: Une entrée par flux de signal que le monitor surveille.
                  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: >-
                    Filtres d'entreprise globaux appliqués comme seconde couche
                    sur tous les types de signaux. Accepte les mêmes paramètres
                    que le point de terminaison [Company
                    Search](/fr/api-reference/endpoint/companies/search) —
                    localisations, effectifs, technologies, secteurs, et plus.
                  example:
                    locations:
                      - US
                    employees:
                      - - 501
                        - 1000
                      - - 1001
                        - 5000
                companies:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: >-
                    Liste d'UUID domain_search_id d'entreprises à surveiller.
                    Utilisé principalement en mode company_first pour préciser
                    les entreprises cibles. Vous pouvez aussi utiliser `domains`
                    ou `linkedin_urls` comme alternatives — un seul des trois
                    est requis.
                domains:
                  type: array
                  items:
                    type: string
                  description: >-
                    Liste de domaines d'entreprise à surveiller (par ex.
                    ["openai.com", "google.com"]). Alternative à `companies` —
                    Pubrio les résout vers les entreprises correspondantes. Un
                    seul de `companies`, `domains`, ou `linkedin_urls` est
                    requis.
                linkedin_urls:
                  type: array
                  items:
                    type: string
                    format: uri
                  description: >-
                    Liste d'URL d'entreprise LinkedIn à surveiller (par ex.
                    ["https://linkedin.com/company/pubrio"]). Alternative à
                    `companies` — Pubrio les résout vers les entreprises
                    correspondantes. Un seul de `companies`, `domains`, ou
                    `linkedin_urls` est requis.
                is_company_enrichment:
                  type: boolean
                  description: >-
                    Indique s'il faut enrichir les données d'entreprise dans les
                    résultats.
                is_people_enrichment:
                  type: boolean
                  description: >-
                    Indique s'il faut enrichir les données de personnes dans les
                    résultats.
                people_enrichment_configs:
                  type: array
                  items:
                    type: object
                  description: >-
                    Tableau de couches d'enrichissement de personnes. Chaque
                    couche exécute une recherche de personnes indépendante.
                    Contient `max_people_to_return` (1-25),
                    `people_contact_types` (tableau — fait référence aux types
                    de contact
                    [Redeem](/fr/api-reference/endpoint/redeem/people) :
                    email-work, email-personal, phone), et `filters` (mêmes
                    paramètres que le point de terminaison [People
                    Search](/fr/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: Type de destination de livraison.
                  enum:
                    - webhook
                    - email
                    - sequences
                destination_config:
                  type: object
                  description: >-
                    Configuration de la destination. Pour webhook : nécessite
                    `webhook_url` (chaîne), `headers` (objet) et `body` (objet)
                    optionnels. Pour email : accepte `email` (chaîne) ou
                    `emails` (tableau de chaînes). Pour sequences : nécessite
                    `sequence_identifier` (chaîne) plus au moins un de
                    `is_people_search_enrolled` / `is_company_contact_enrolled`
                    défini sur true.
                  example:
                    webhook_url: https://your-webhook.com/endpoint
                    headers:
                      Authorization: Bearer token
                    body:
                      pipeline: my-webhook
                frequency_minute:
                  type: integer
                  description: >-
                    Fréquence de déclenchement en minutes. Min : 0, Max : 10080,
                    Par défaut : 0.
                  minimum: 0
                  maximum: 10080
                  default: 0
                max_failure_trigger:
                  type: integer
                  description: >-
                    Nombre maximal d'échecs consécutifs avant la mise en pause
                    du moniteur. Min : 1, Max : 10, Par défaut : 5.
                  minimum: 1
                  maximum: 10
                  default: 5
                max_daily_trigger:
                  type: integer
                  description: >-
                    Nombre maximal de déclenchements par jour. Min : 0, Max :
                    86400, Par défaut : 500.
                  minimum: 0
                  maximum: 86400
                  default: 500
                max_records_per_trigger:
                  type: integer
                  description: >-
                    Contrôle le nombre maximal d'enregistrements livrés par
                    déclenchement. Des valeurs plus faibles réduisent la taille
                    de la charge utile par livraison, ce qui est recommandé pour
                    les jeux de résultats volumineux ou les intégrations à débit
                    limité. Min : 1, Max : 100, Par défaut : 25. Consultez
                    [Configuration des
                    webhooks](/fr/developer-guides/setting-up-webhooks) pour
                    plus d'indications.
                  minimum: 1
                  maximum: 100
                  default: 25
                notification_email:
                  type: string
                  format: email
                  description: Adresse e-mail pour les notifications d'échec du moniteur.
                max_retry_per_trigger:
                  type: integer
                  description: >-
                    Nombre maximal de nouvelles tentatives par déclenchement.
                    Min : 0, Max : 3, Par défaut : 1.
                  minimum: 0
                  maximum: 3
                  default: 1
                retry_delay_second:
                  type: integer
                  description: >-
                    Délai entre les tentatives, en secondes. Min : 1, Max : 5,
                    Par défaut : 1.
                  minimum: 1
                  maximum: 5
                  default: 1
                query:
                  type: string
                  maxLength: 2000
                  description: >-
                    Description en langage naturel du moniteur (dans n'importe
                    quelle langue), par exemple : « surveiller les entreprises
                    qui s'implantent au Japon, obtenir les cadres dirigeants
                    avec leur e-mail professionnel, et envoyer des alertes par
                    e-mail à me@company.com en temps réel ». Elle est
                    interprétée dans les champs ci-dessous (detection_mode,
                    signal_types, signal_filters, people_enrichment_configs,
                    destination_type/destination_config, frequency_minute) au
                    sein de la même requête. Tout champ également transmis
                    explicitement remplace la valeur interprétée. Si le texte ne
                    constitue pas une demande de moniteur, l'appel renvoie 400.
                    Limité à 2000 caractères.
                deep:
                  type: boolean
                  description: >-
                    Facultatif, utilisé uniquement avec `query`. Exécute la
                    passe de réflexion pour une meilleure précision
                    d'interprétation (valeur par défaut : true ; double environ
                    la latence d'interprétation). Définissez false pour une
                    passe unique plus rapide.
              anyOf:
                - title: Natural language
                  required:
                    - query
                - title: Structured fields
                  required:
                    - name
                    - detection_mode
                    - signal_types
                    - destination_type
                    - destination_config
                - title: Draft
                  required:
                    - name
                    - status
      responses:
        '200':
          description: Réponse réussie contenant les détails du monitor nouvellement créé.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      monitor_id:
                        type: string
                        format: uuid
                        description: Identifiant unique du monitor nouvellement créé.
                      name:
                        type: string
                        description: Nom du monitor.
                      description:
                        type: string
                        description: Description du monitor.
                      detection_mode:
                        type: string
                        description: 'Mode de détection : ''company_first'' ou ''signal_first''.'
                      signal_types:
                        type: array
                        items:
                          type: string
                        description: Types de signaux que ce monitor surveille.
                      signal_filters:
                        type: array
                        items:
                          type: object
                        description: >-
                          Filtres par type de signal, tels que stockés. Lorsque
                          vous créez avec `query`, c'est ce en quoi votre phrase
                          a été interprétée — vérifiez-le pour confirmer que le
                          monitor surveille ce que vous vouliez.
                      company_filters:
                        type: object
                        description: >-
                          Filtres de profil d'entreprise appliqués à chaque
                          signal correspondant.
                      companies:
                        type: array
                        items:
                          type: string
                        description: Entreprises surveillées (company_first).
                      is_company_enrichment:
                        type: boolean
                        description: >-
                          Indique si les correspondances sont enrichies avec les
                          détails de l'entreprise.
                      is_people_enrichment:
                        type: boolean
                        description: >-
                          Indique si les correspondances sont enrichies avec des
                          personnes et des contacts.
                      people_enrichment_configs:
                        type: array
                        items:
                          type: object
                        description: >-
                          Paramètres d'enrichissement de personnes, tels que
                          stockés.
                      destination_type:
                        type: string
                        description: Type de destination de livraison.
                      destination_config:
                        type: object
                        description: >-
                          Détails de la destination de livraison (e-mails, ou
                          URL de webhook).
                      frequency_minute:
                        type: integer
                        description: Fréquence d'exécution du monitor, en minutes.
                      notification_email:
                        type: string
                        nullable: true
                        description: Adresse notifiée à propos du monitor lui-même.
                      max_retry_per_trigger:
                        type: integer
                        description: Nouvelles tentatives autorisées par déclenchement.
                      retry_delay_second:
                        type: integer
                        description: Délai entre les nouvelles tentatives, en secondes.
                      max_records_per_trigger:
                        type: integer
                        description: >-
                          Nombre maximum d'enregistrements livrés par
                          déclenchement.
                      max_daily_trigger:
                        type: integer
                        description: Nombre maximum de déclenchements par jour.
                      max_failure_trigger:
                        type: integer
                        description: Échecs consécutifs avant l'arrêt du monitor.
                      status:
                        type: string
                        enum:
                          - draft
                          - active
                          - paused
                          - inactive
                        description: >-
                          Statut de cycle de vie avec lequel le monitor a été
                          créé.
                      masked_signature:
                        type: string
                        description: Signature de webhook masquée pour affichage.
                      created_at:
                        type: string
                        format: date-time
                        description: Horodatage de création du monitor.
                      signature:
                        type: string
                        format: uuid
                        description: >-
                          Signature de webhook pour vérifier les charges utiles.
                          Renvoyée uniquement à la création.
              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: >-
        Requête invalide. La requête était mal formée ou contenait des
        paramètres invalides. Consultez le code d'erreur et le message pour plus
        de détails.
      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: >-
        Limite de débit dépassée. Trop de requêtes ont été effectuées au cours
        d'une période donnée. Réessayez après la réinitialisation de la fenêtre
        de limitation de débit.
      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: >-
        Erreur interne du serveur. Une erreur inattendue s'est produite sur le
        serveur. Contactez le support si l'erreur 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 jeton API unique qui représente les actions que vous effectuez via
        l'API ainsi que les autorisations et opérations correspondantes. Vous
        pouvez le créer dans la section
        [Settings](https://dashboard.pubrio.com/#/settings/).
      in: header

````