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

# Monitor-Webhook validieren

> Sendet eine signierte Test-Payload an eine Webhook-URL und meldet, ob sie akzeptiert wurde.

**Dies führt eine echte HTTP-Zustellung aus**, keine URL-Syntaxprüfung. Der Empfänger muss einen `POST` akzeptieren und erfolgreich antworten — eine URL, die auf `GET` lediglich eine Seite ausliefert, schlägt weiterhin fehl. Bei einem Fehlschlag erhalten Sie `40023` (URL ungültig oder nicht erreichbar) oder `40022` (Test-Zustellung fehlgeschlagen), und `details` enthält den rohen Upstream-Antwortkörper, der mehrere Kilobyte HTML umfassen kann. Übergeben Sie `monitor_id`, um den Test mit der echten Signatur dieses Monitors zu signieren; lassen Sie es weg, wird eine Platzhalter-Signatur verwendet.



## OpenAPI

````yaml de-openapi POST /monitors/webhook/validate
openapi: 3.0.0
info:
  description: >-
    Die Pubrio API liefert Market-Expansion-Intelligence – Echtzeit-Signale, die
    anzeigen, wenn ein Unternehmen in einen neuen Markt eintritt – zusammen mit
    den zugrunde liegenden Unternehmens- und Personendaten. Durchsuchen,
    schlagen Sie nach und reichern Sie Accounts und Kontakte an, und abonnieren
    Sie typisierte, datierte Bewegungssignale in über 200 Märkten.
  version: 1.0.0
  title: Pubrio OpenAPI
  termsOfService: https://pubrio.com/de/terms-of-service
  contact:
    email: king.lai@pubrio.com
    name: King Lai
    url: https://pubrio.com/de/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-Profilinformationen und Nutzungsstatistiken
  - name: Enrichment
    description: >-
      Personen- und Unternehmensdatensätze mit detaillierten B2B-Daten
      anreichern
  - name: Lookalike
    description: Unternehmen finden, die einem bestimmten Unternehmen ähnlich sind
  - name: Search
    description: >-
      Personen, Unternehmen, Stellenanzeigen, Nachrichten und Werbeanzeigen mit
      Filtern durchsuchen
  - name: Lookup
    description: >-
      Detaillierte Informationen zu bestimmten Personen, Unternehmen,
      Stellenanzeigen, Nachrichten, Werbeanzeigen und Technologien nachschlagen
  - name: LinkedIn
    description: Personen- und Unternehmensdaten über LinkedIn-Profil-URLs nachschlagen
  - name: Redeem
    description: >-
      Credits einlösen, um Kontaktdaten von Personen freizuschalten (einzeln und
      im Batch)
  - name: Channels
    description: >-
      Outreach-Kanalvorlagen verwalten (erstellen, aktualisieren, löschen,
      auflisten)
  - name: Monitor
    description: >-
      Daten-Monitore mit Webhooks, Statistiken und Verarbeitung erstellen und
      verwalten
  - name: Filters
    description: >-
      Verfügbare Filterwerte für Suchparameter abrufen (Technologien, Standorte,
      Branchen usw.)
  - name: API Keys
    description: >-
      API-Anfrageprotokolle und Nutzungsanalysen für API-Schlüssel auflisten und
      einsehen
  - name: Insights
    description: >-
      Aggregierte Signal-Insights für Unternehmen (Stellenanzeigen, Nachrichten,
      Werbeanzeigen).
  - name: Export
    description: Massendatenexporte (kreditpflichtig).
  - name: Expansion
    description: >-
      Market-Expansion-Intelligence für Unternehmen: Signale, Phasen, Märkte und
      Exporte.
externalDocs:
  description: >-
    Die Pubrio-API dient zum Suchen, Anzeigen einer Vorschau und Anreichern von
    Kontakten und Accounts. Die Pubrio-Datenbank bietet umfangreiche
    B2B-Kontakt- und Sales-Intelligence-Daten.
  url: https://docs.pubrio.com
paths:
  /monitors/webhook/validate:
    post:
      tags:
        - Monitor
      summary: Monitor-Webhook validieren
      description: >-
        Sendet eine signierte Test-Payload an eine Webhook-URL und meldet, ob
        sie akzeptiert wurde.


        **Dies führt eine echte HTTP-Zustellung aus**, keine URL-Syntaxprüfung.
        Der Empfänger muss einen `POST` akzeptieren und erfolgreich antworten —
        eine URL, die auf `GET` lediglich eine Seite ausliefert, schlägt
        weiterhin fehl. Bei einem Fehlschlag erhalten Sie `40023` (URL ungültig
        oder nicht erreichbar) oder `40022` (Test-Zustellung fehlgeschlagen),
        und `details` enthält den rohen Upstream-Antwortkörper, der mehrere
        Kilobyte HTML umfassen kann. Übergeben Sie `monitor_id`, um den Test mit
        der echten Signatur dieses Monitors zu signieren; lassen Sie es weg,
        wird eine Platzhalter-Signatur verwendet.
      operationId: monitors_validate_webhook
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                monitor_id:
                  type: string
                  format: uuid
                  description: >-
                    Eindeutige Kennung eines bestehenden Monitors zum Testen.
                    Optional beim Testen neuer Konfigurationen.
                name:
                  type: string
                  description: Name des Monitors.
                description:
                  type: string
                  description: Beschreibung des Monitors.
                detection_mode:
                  type: string
                  description: >-
                    Wie Signale erkannt werden. `signal_first` durchsucht den
                    Markt breit; `company_first` verfolgt eine benannte
                    Kontenliste und erfordert mindestens ein Unternehmen, eine
                    Domain oder eine LinkedIn-URL. **Nach der Erstellung
                    unveränderlich** — das Ändern bei einem bestehenden Monitor
                    gibt `40021` zurück. Erstellen Sie stattdessen einen neuen
                    Monitor.
                  enum:
                    - company_first
                    - signal_first
                signal_types:
                  type: array
                  items:
                    type: string
                    enum:
                      - jobs
                      - news
                      - advertisements
                      - expansions
                  description: Zu überwachende Signaltypen.
                signal_filters:
                  type: array
                  items:
                    type: object
                    required:
                      - signal_type
                    properties:
                      signal_type:
                        type: string
                        enum:
                          - jobs
                          - news
                          - advertisements
                          - expansions
                        description: Welchen Stream dieser Eintrag filtert.
                      filters:
                        type: object
                        description: >-
                          Filter für diesen Stream. `jobs`, `news` und
                          `advertisements` verwenden die Parameter von
                          [Job-Suche](/de/api-reference/endpoint/companies/job_search),
                          [News-Suche](/de/api-reference/endpoint/companies/news_search)
                          und
                          [Anzeigen-Suche](/de/api-reference/endpoint/companies/advertisements_search).
                          `expansions` verwendet das Vokabular der
                          [Expansion-Suche](/de/api-reference/endpoint/expansions/market_lookup):
                          `froms` / `tos`, `window_days`, `stages`, `scopes`,
                          `momentum`, `freshness`, `signal_types`,
                          `signal_subtypes`, `signal_strengths`, `source_types`.
                          Slugs können über die
                          [Expansion-Referenz](/de/api-reference/endpoint/expansions/types)
                          aufgelöst werden.
                  description: Ein Eintrag pro Signal-Stream, den der Monitor überwacht.
                  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: >-
                    Globale Unternehmensfilter. Akzeptiert dieselben Parameter
                    wie der
                    [Unternehmenssuche](/de/api-reference/endpoint/companies/search)-Endpunkt.
                  example:
                    locations:
                      - US
                    employees:
                      - - 501
                        - 1000
                      - - 1001
                        - 5000
                companies:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: >-
                    Liste von domain_search_id-UUIDs von Unternehmen.
                    Alternative: `domains` oder `linkedin_urls` verwenden.
                domains:
                  type: array
                  items:
                    type: string
                  description: Liste von Unternehmensdomains. Alternative zu `companies`.
                linkedin_urls:
                  type: array
                  items:
                    type: string
                    format: uri
                  description: >-
                    Liste von LinkedIn-Unternehmens-URLs. Alternative zu
                    `companies`.
                is_company_enrichment:
                  type: boolean
                  description: Ob Unternehmensdaten angereichert werden sollen.
                is_people_enrichment:
                  type: boolean
                  description: Ob Personendaten angereichert werden sollen.
                people_enrichment_configs:
                  type: array
                  items:
                    type: object
                  description: >-
                    Array von Personenanreicherungs-Ebenen. Enthält
                    `max_people_to_return` (1-25), `people_contact_types` (siehe
                    [Redeem](/de/api-reference/endpoint/redeem/people)) und
                    `filters` (siehe
                    [Personensuche](/de/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: Typ des Zustellziels.
                  enum:
                    - webhook
                    - email
                    - sequences
                destination_config:
                  type: object
                  description: >-
                    Konfiguration des Ziels. Für Webhook: erfordert
                    `webhook_url` (String), optional `headers` (Objekt) und
                    `body` (Objekt). Für E-Mail: akzeptiert `email` (String)
                    oder `emails` (Array von Strings). Für Sequenzen: erfordert
                    `sequence_identifier` (String) plus mindestens eines von
                    `is_people_search_enrolled` / `is_company_contact_enrolled`
                    auf true gesetzt.
                  example:
                    webhook_url: https://your-webhook.com/endpoint
                    headers:
                      Authorization: Bearer token
                    body:
                      pipeline: my-webhook
                frequency_minute:
                  type: integer
                  description: 'Auslösefrequenz in Minuten. Min: 0, Max: 10080.'
                  minimum: 0
                  maximum: 10080
                max_failure_trigger:
                  type: integer
                  description: >-
                    Maximale Anzahl aufeinanderfolgender Fehlschläge vor der
                    Pausierung. Min: 1, Max: 10.
                  minimum: 1
                  maximum: 10
                max_daily_trigger:
                  type: integer
                  description: 'Maximale Anzahl von Auslösungen pro Tag. Min: 0, Max: 86400.'
                  minimum: 0
                  maximum: 86400
                max_records_per_trigger:
                  type: integer
                  description: >-
                    Steuert die maximale Anzahl der pro Auslösung zugestellten
                    Datensätze. Niedrigere Werte verringern die Payload-Größe
                    pro Zustellung, was für große Ergebnismengen oder
                    ratenbegrenzte Integrationen empfohlen wird. Min: 1, Max:
                    100, Standard: 25. Weitere Hinweise finden Sie unter
                    [Webhooks
                    einrichten](/de/developer-guides/setting-up-webhooks).
                  minimum: 1
                  maximum: 100
                notification_email:
                  type: string
                  format: email
                  description: E-Mail für Fehlerbenachrichtigungen.
                max_retry_per_trigger:
                  type: integer
                  description: 'Maximale Wiederholungen pro Auslösung. Min: 0, Max: 3.'
                  minimum: 0
                  maximum: 3
                retry_delay_second:
                  type: integer
                  description: >-
                    Verzögerung zwischen Wiederholungen in Sekunden. Min: 1,
                    Max: 5.
                  minimum: 1
                  maximum: 5
              required:
                - destination_config
      responses:
        '200':
          description: >-
            Erfolgreiche Antwort mit den Webhook-Validierungsergebnissen — der
            Ziel-Konfiguration und den Test-Request-/Response-Payloads. Bei
            einem Webhook-Fehler antwortet der Endpunkt mit 400
            (MONITOR_WEBHOOK_URL_INVALID) und der Antwort des Webhooks in den
            Fehlerdetails.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      destination_config:
                        type: object
                        description: Die getestete Ziel-Konfiguration.
                      request_payload:
                        type: object
                        description: >-
                          Die während der Validierung an den Webhook gesendete
                          Request-Payload.
                      response_payload:
                        type: object
                        description: Die vom Webhook empfangene Response-Payload.
              example:
                data:
                  destination_config:
                    webhook_url: https://usewebhook.com/example
                    headers:
                      X-Custom-Auth: your-token
                    body:
                      source: pubrio
                  request_payload:
                    monitor:
                      monitor_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      name: My Monitor
                      detection_mode: signal_first
                      signal_types:
                        - jobs
                        - news
                        - advertisements
                      signal_filters:
                        - ...
                      company_filters:
                        ...: ...
                      is_company_enrichment: true
                      is_people_enrichment: true
                      people_enrichment_configs:
                        - ...
                    metadata:
                      total_signals: 3
                      total_companies: 1
                      total_people: 0
                    triggered_at: '2026-04-05T22:43:06.973Z'
                    signals:
                      - signal_type: jobs
                        signal:
                          signal_type: jobs
                          job_search_id: ...
                          companies:
                            - ...
                        companies:
                          - ...
                      - ...
                    source: pubrio
                  response_payload: OK
        '400':
          $ref: '#/components/responses/general_error'
        '429':
          $ref: '#/components/responses/rate_limit_error'
        '500':
          $ref: '#/components/responses/server_error'
components:
  responses:
    general_error:
      description: >-
        Ungültige Anfrage. Die Anfrage war fehlerhaft formatiert oder enthielt
        ungültige Parameter. Prüfen Sie den Fehlercode und die Meldung für
        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 überschritten. Es wurden zu viele Anfragen in einem
        bestimmten Zeitraum gestellt. Versuchen Sie es erneut, nachdem das
        Rate-Limit-Fenster zurückgesetzt wurde.
      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: >-
        Interner Serverfehler. Auf dem Server ist ein unerwarteter Fehler
        aufgetreten. Wenden Sie sich an den Support, falls der Fehler weiterhin
        besteht.
      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: >-
        Ein eindeutiges API-Token, das die von Ihnen über die API durchgeführten
        Aktionen sowie die zugehörigen Berechtigungen und Vorgänge
        repräsentiert. Sie können es über den Bereich
        [Settings](https://dashboard.pubrio.com/#/settings/) erstellen.
      in: header

````