Skip to main content
Monitors automate data collection by running CatchAll jobs on a schedule. Create a monitor from a successful job, define when to run it, and receive webhook notifications when new results are available.

How it works

Each scheduled execution does the following:
  • Creates a new job with its own job_id.
  • Uses a rolling date window based on schedule frequency.
  • Applies the reference job’s validators, extractors, and schema.
  • Deduplicates records across all runs and merges the results.

Before you begin

Create a successful job following the Quickstart guide.

Create monitor

Monitors require a reference job with end_date within the last 7 days. If your reference job is older than 7 days, submit a new job first.
Once your reference job completes with status: job_completed, use job_id to create a monitor:
Response:
Webhooks are configured separately and attached via webhook_ids. For instructions, see Set up webhooks.

Retrieve results

Use these endpoints to list monitors, inspect execution history, and pull aggregated records.

List monitors

Get all monitors for your API key:
Response:

List monitor jobs

Get execution history for a specific monitor:
Response:

Get aggregated results

Retrieve all deduplicated records from all monitor jobs:
Response:

Export results as CSV

To download the most recent run’s records as a spreadsheet-friendly file, use GET /catchAll/monitors/pull/{monitor_id}/csv. It returns the latest run as a text/csv download — one row per record, with enrichment fields as columns and citations as a JSON column. If the monitor’s reference job used a connected entity dataset, connected entities are split into event_associated_entities and mention_entities JSON columns. When no entity dataset was used, those two columns are omitted from the export entirely rather than included as empty columns — read columns by header name so both shapes parse correctly.
For agentic workflows and data pipelines, use the JSON endpoint instead. CSV and Excel are notorious for silent encoding issues, truncated long-text fields, and mangled special characters — problems that are hard to catch and harder to debug downstream.

Manage monitors

Use these endpoints to update webhook assignments, pause, resume, or delete a monitor, and inspect its execution history.

Update monitor

Update webhook assignments or the record limit for an existing monitor. Pass a new list of webhook IDs to replace existing assignments. Pass an empty array to clear all assignments:
Response:
Schedule and reference job cannot be modified. To change the query or schedule, create a new monitor.

Enable monitor

Resume execution of a disabled monitor:
Response:

Disable monitor

Pause execution without deleting the monitor:
Response:

Delete monitor

Permanently delete a monitor. This action cannot be undone. Deleted monitors stop executing immediately and no longer appear in list results.
Response:

Get status history

Get the full execution history of a monitor as a list of status entries, ordered from newest to oldest. Each entry records a lifecycle event — creation, enable/disable, a scheduled run, or a completed dump with record counts and webhook delivery result.

See also