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

# Get event monitor results

> Retrieve aggregated results from all jobs executed by an event monitor.



## OpenAPI

````yaml catch-all-api get /catchAll/monitors/pull/{monitor_id}
openapi: 3.1.0
info:
  title: NewsCatcher CatchAll API
  version: 1.8.1
  description: >
    CatchAll is a web search API that generates unique datasets that don't exist
    anywhere else on the web. Built on NewsCatcher's proprietary real-world
    event index, it delivers state-of-the-art recall—finding all relevant
    events, not just top results.


    ### Authentication


    All endpoints except /health and /version require `x-api-key` header. If the
    key is invalid or missing, the API returns the `403 Forbidden` error.


    ### Job workflow


    1. (Optional) Get suggestions via /catchAll/initialize

    2. Submit a query via /catchAll/submit with optional date ranges and custom
    validators/enrichments

    3. Poll /catchAll/status/{job_id} until completed (10-15 minutes)

    4. Retrieve results via /catchAll/pull/{job_id}


    ### Event monitor workflow


    1. Create successful job via /catchAll/submit

    2. Create event monitor via /catchAll/monitors/create with schedule

    3. Retrieve aggregated results via /catchAll/monitors/pull/{monitor_id}


    ### Webhook workflow


    1. Create a webhook via `POST /catchAll/webhooks`

    2. Attach it to a job or event monitor via `POST
    /catchAll/webhooks/{webhook_id}/resources`,
       or pass `webhook_ids` at job or event monitor creation time
    3. Receive HTTP notifications at the configured URL when each job completes


    ### Company search workflow


    1. Create a dataset via `POST /catchAll/datasets/` or `POST
    /catchAll/datasets/upload`

    2. Wait for the dataset `latest_status` to reach `ready`

    3. Submit a job with `connected_dataset_ids` pointing to your dataset

    4. Retrieve results — each record includes a `connected_entities` array
       with relevance scores per matched company

    ### Important notes


    **Dynamic schemas**: Response schemas are generated dynamically by LLMs.
    Field names in the `enrichment` object may vary and are not deterministic
    across jobs unless explicitly specified.
  contact:
    name: NewsCatcher
    url: https://newscatcherapi.com
    email: support@newscatcherapi.com
servers:
  - url: https://catchall.newscatcherapi.com
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: Jobs
    description: Operations to create, monitor, and retrieve job results.
    externalDocs:
      description: Learn about job lifecycle and status tracking
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/get-started/quickstart
  - name: Event Monitors
    description: Operations to create, operate and retrieve event monitor results.
    externalDocs:
      description: >-
        Automate recurring queries with scheduled jobs and webhook
        notifications.
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/concepts/event-monitors
  - name: Webhooks
    description: >
      Operations to create and manage reusable webhook endpoints.


      A webhook is a named HTTP endpoint that receives a POST notification

      when a job or event monitor completes. Create webhooks once at the
      organization

      level and attach them to any number of jobs or event monitors via
      `webhook_ids`.

      Supports Slack, Microsoft Teams, and generic HTTP targets with
      configurable

      delivery modes, authentication, and headers.
    externalDocs:
      description: Learn about centralized webhooks and notification setup
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/guides-and-concepts/webhooks
  - name: Entities
    description: >
      Operations to create, update, and delete company entities.


      Entities are the building blocks of Company Monitors. Each entity
      represents

      a company (or person) you want to track. Add identifying information such
      as

      domain, alternative names, and key persons to improve matching quality.
    externalDocs:
      description: Learn about Company Monitors and entities
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/concepts/company-monitors
  - name: Datasets
    description: >
      Operations to create and manage datasets of entities.


      A dataset is a named collection of entities — think of it as a watchlist
      or

      portfolio. Connect a dataset to a job via `connected_dataset_ids` to
      activate

      Company Monitors. Datasets can be reused across multiple jobs and event
      monitors.
    externalDocs:
      description: Learn about datasets and Company Monitors
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/concepts/company-monitors
  - name: Projects
    description: >
      Operations to create, organize, and manage projects.


      A project is a named container for jobs, event monitors, and datasets.
      Group

      related resources by use case, team, or client, and share them with

      teammates. Resources can be assigned at creation time or post-hoc.
    externalDocs:
      description: Learn about projects and resource organization
      url: https://www.newscatcherapi.com/docs/web-search-api/concepts/projects
  - name: Meta
    description: Operations to check API health and version.
externalDocs:
  description: Find out more about NewsCatcher CatchAll API
  url: https://www.newscatcherapi.com/docs/web-search-api/get-started/introduction
paths:
  /catchAll/monitors/pull/{monitor_id}:
    get:
      tags:
        - Event Monitors
      summary: Get event monitor results
      description: Retrieve aggregated results from all jobs executed by an event monitor.
      operationId: pullMonitorResults
      parameters:
        - name: monitor_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Event monitor identifier.
      responses:
        '200':
          $ref: '#/components/responses/PullMonitorResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '422':
          $ref: '#/components/responses/ValidationError'
components:
  responses:
    PullMonitorResponse:
      description: Event monitor results retrieved successfully
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PullMonitorResponseDto'
    UnauthorizedError:
      description: >
        The caller could not be identified: the `x-api-key` header is missing,
        the key is

        unknown or disabled, or the key belongs to a different organization than
        the one

        requested.


        Once identity is established, an access failure returns `403` instead.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            detail: X-API-Key header is required for this endpoint
    NotFoundError:
      description: Job/event monitor not found or results not available
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ValidationError:
      description: Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrorResponse'
  schemas:
    PullMonitorResponseDto:
      type: object
      required:
        - monitor_id
        - reference_job
        - status
      properties:
        monitor_id:
          type: string
          format: uuid
          description: Unique identifier for the event monitor.
          example: 7f3a8b2c-1e4d-4a5b-9c8d-6e7f8a9b0c1d
        cron_expression:
          type: string
          description: >
            The cron expression for an event monitor schedule parsed from the
            text schedule you provide.


            Standard cron format (minute hour day month day-of-week).
          example: 0 12 * * *
        timezone:
          type: string
          description: Timezone used for schedule execution.
          example: UTC
        reference_job:
          $ref: '#/components/schemas/ReferenceJob'
        run_info:
          type: object
          description: Execution time range for this event monitor.
          properties:
            first_run:
              type: string
              format: date-time
              description: Timestamp of the first job execution.
              example: '2025-10-23T12:00:00Z'
            last_run:
              type: string
              format: date-time
              description: Timestamp of the most recent job execution.
              example: '2025-11-07T12:00:00Z'
        records:
          type: integer
          default: 0
          description: Total number of records collected across all event monitor jobs.
          example: 487
        status:
          type: string
          description: >-
            Current event monitor status or error message if event monitor
            creation failed.
          example: Done
        all_records:
          type: array
          items:
            $ref: '#/components/schemas/MonitorRecord'
          description: >
            Aggregated records from all jobs executed by this event monitor.
            Each record includes structured data extracted from web sources with
            citations.
        limit:
          type:
            - integer
            - 'null'
          description: Record limit applied to this event monitor's jobs.
          example: 100
        connected_datasets:
          type: array
          items:
            $ref: '#/components/schemas/ConnectedDataset'
          description: |
            Datasets used to narrow retrieval scope, each with `id` and `name`.
        is_all_news_query:
          type: boolean
          description: >
            True when the reference job was submitted as an all-news
            (watchlist-generic) query.
    Error:
      type: object
      properties:
        detail:
          type: string
          description: Error message.
          example: Invalid API key
    ValidationErrorResponse:
      type: object
      properties:
        detail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorDetail'
    ReferenceJob:
      type: object
      properties:
        query:
          type: string
          description: Plain text query from the reference job.
          example: Series B funding rounds for SaaS startups
        context:
          type: string
          description: Context provided with the reference job query.
          example: Focus on funding amount and company name
        source_groups:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/SourceGroupRef'
          description: >
            Source groups attached to the reference job, each with `slug`,
            `name`, and

            `description`. `null` when the reference job was not scoped to any
            source group.
    MonitorRecord:
      allOf:
        - $ref: '#/components/schemas/BaseRecord'
        - type: object
          required:
            - citations
          properties:
            citations:
              type: array
              items:
                $ref: '#/components/schemas/MonitorCitation'
              description: >-
                Source documents with event monitor-specific metadata (job_id,
                added_on timestamps).
            added_on:
              type: string
              format: date-time
              description: >-
                The date when this record was first added to event monitor
                results in ISO 8601 format with UTC timezone.
              example: '2025-11-14T21:00:00Z'
            updated_on:
              type: string
              format: date-time
              description: >-
                The date when this record was last updated in event monitor
                results in ISO 8601 format with UTC timezone.
              example: '2025-11-14T21:00:00Z'
      description: >
        Record with event monitor-specific metadata. Used in event monitor
        results and webhook payloads.


        Includes timestamps tracking when records were added and updated, and
        citations include job tracking.
    ConnectedDataset:
      type: object
      required:
        - id
        - name
      description: >
        A dataset used to narrow the retrieval scope of a job or event monitor,
        returned with its identifier and name.
      properties:
        id:
          type: string
          format: uuid
          description: Dataset identifier.
          example: 9f3a8b2c-1e4d-4a5b-9c8d-6e7f8a9b0c1d
        name:
          type: string
          description: >
            Dataset name as stored. Check `is_deleted` to determine whether the
            dataset is still active.
          example: My Portfolio
        is_deleted:
          type: boolean
          default: false
          description: True when the dataset has been deleted.
          example: false
    ValidationErrorDetail:
      type: object
      properties:
        loc:
          type: array
          items:
            oneOf:
              - type: string
              - type: integer
          description: Location of the validation error
        msg:
          type: string
          description: Error message
        type:
          type: string
          description: Error type
    SourceGroupRef:
      type: object
      required:
        - slug
        - name
      description: >
        A source group attached to a job, returned with its slug, name, and
        description.


        Source groups are curated domain allowlists maintained by NewsCatcher.
        Attach one

        to a job with `source_groups` on job creation to scope fetching to its
        domains.
      properties:
        slug:
          type: string
          description: >
            Stable identifier for the source group. This is the value you pass
            in

            `source_groups` when creating a job.
          example: top-100-us-finance
        name:
          type: string
          description: Human-readable name of the source group.
          example: Top 100 US Finance
        description:
          type:
            - string
            - 'null'
          description: What the group covers, when set.
          example: Leading US financial news and trade publications.
    BaseRecord:
      type: object
      required:
        - record_id
        - record_title
        - enrichment
      properties:
        record_id:
          type: string
          description: Unique identifier for the record.
          example: '6983973854314692457'
        record_title:
          type: string
          description: Short title summarizing the record.
          example: VulnCheck Raises $25M Series B Funding
        enrichment:
          type: object
          description: >
            Structured data extracted from web pages. Schema is dynamically
            generated per job. Field names are chosen semantically to match the
            content.


            **Note:** The system always includes the `enrichment_confidence`
            field within the `enrichment` object, regardless of whether
            enrichments are generated or specified by you.

             For integration guidance, see [Dynamic schemas](https://www.newscatcherapi.com/docs/web-search-api/concepts/dynamic-schemas)
          properties:
            enrichment_confidence:
              type:
                - string
                - 'null'
              enum:
                - low
                - medium
                - high
                - null
              description: Overall confidence score for the enrichment extraction.
              example: high
          additionalProperties: {}
          example:
            enrichment_confidence: high
            funding_amount: 25000000
            funding_currency: USD
            funding_date: '2026-02-17'
            investee_company:
              source_text: VulnCheck
              confidence: 0.99
              metadata:
                name: VulnCheck
                domain_url: vulncheck.com
                domain_url_confidence: high
            investor_company:
              source_text: Sorenson Capital
              confidence: 0.99
              metadata:
                name: Sorenson Capital
                domain_url: null
                domain_url_confidence: null
            valuation: 25000000
            other_investors: National Grid Partners, Ten Eleven Ventures, In-Q-Tel
    MonitorCitation:
      allOf:
        - $ref: '#/components/schemas/Citation'
        - type: object
          required:
            - id
            - job_id
            - added_on
          properties:
            id:
              type: string
              description: Unique identifier of the document in the search index.
              example: 8760624448e9815f9fb4abd114c75e76
            job_id:
              type: string
              format: uuid
              description: Job ID that found this citation.
              example: 6269aa54-c332-4fff-8a65-0d4e82a365e8
            added_on:
              type: string
              format: date-time
              description: >-
                The date when the citation was added to the record in ISO 8601
                format with UTC timezone.
              example: '2025-11-14T21:00:00Z'
      description: >
        Citation with event monitor-specific metadata. Used in event monitor
        results and webhook payloads.

        Extends base citation with tracking information for job_id and
        timestamps.
    Citation:
      type: object
      required:
        - title
        - link
        - published_date
      properties:
        title:
          type: string
          description: The title of the source document.
          example: >-
            Exclusive: VulnCheck raises $25M funding to help companies patch
            software bugs
        link:
          type: string
          format: uri
          description: URL to the source document.
          example: >-
            https://www.msn.com/en-us/money/other/exclusive-vulncheck-raises-25m-funding-to-help-companies-patch-software-bugs/ar-AA1WwdjW
        published_date:
          type: string
          format: date-time
          description: >-
            The publication date of the source document in ISO 8601 format (UTC
            timezone).
          example: '2026-02-17T14:01:05Z'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication.

````