Skip to main content
Event Monitors automate data collection by running CatchAll jobs on a schedule. Create an event 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 event monitor

Event 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 an event monitor:
Response:
Webhooks are configured separately and attached via webhook_ids. For instructions, see Set up webhooks.

Retrieve results

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

List event monitors

Get all event monitors for your API key:
Response:

List event monitor jobs

Get execution history for a specific event monitor:
Response:

Get aggregated results

Retrieve all deduplicated records from all event 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 event 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 event monitors

Use these endpoints to update webhook assignments, record limit, or schedule; pause, resume, or delete an event monitor; and inspect its execution history.

Update event monitor

Update webhook assignments, the record limit, or the schedule for an existing event monitor. Omitted fields are left unchanged. Pass a new list of webhook IDs to replace existing assignments. Pass an empty array to clear all assignments:
Response:

Change the schedule

Pass schedule to replace the event monitor’s current schedule without recreating it. The event monitor keeps its ID, reference job, webhooks, and execution history:
  • schedule uses the same natural-language format as event monitor creation.
  • timezone (optional, default UTC) sets an IANA timezone for the new schedule, such as America/New_York. A timezone in the schedule text takes precedence. timezone is ignored if schedule is not set.
  • The new schedule takes effect from the next scheduler reload, and the old schedule stops firing.
  • The API returns 422 if the schedule can’t be parsed or runs would be spaced too closely.
The reference job cannot be modified. To change the query, validators, or enrichments, create a new event monitor from a different reference job.

Enable event monitor

Resume execution of a disabled event monitor:
If your account runs out of credits, event monitors are disabled automatically, and you get an email (at most one per day). After adding credits, enable the event monitor again to resume scheduled runs.
Response:

Disable event monitor

Pause execution without deleting the event monitor:
Response:

Delete event monitor

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

Get status history

Get the full execution history of an event 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