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:
curl -X POST "https://catchall.newscatcherapi.com/catchAll/monitors/create" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference_job_id": "295b95d8-6041-4f4b-b132-9f009fc6af70",
    "schedule": "every day at 12 PM UTC",
    "webhook_ids": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"]
  }'
Response:
{
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4",
  "status": "Monitor Created Successfully"
}
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:
curl "https://catchall.newscatcherapi.com/catchAll/monitors" \
  -H "x-api-key: YOUR_API_KEY"
Response:

List monitor jobs

Get execution history for a specific monitor:
curl "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}/jobs" \
  -H "x-api-key: YOUR_API_KEY"
Response:

Get aggregated results

Retrieve all deduplicated records from all monitor jobs:
curl "https://catchall.newscatcherapi.com/catchAll/monitors/pull/{monitor_id}" \
  -H "x-api-key: YOUR_API_KEY"
Response:

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:
curl -X PATCH "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "webhook_ids": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
    "limit": 100
  }'
Response:
{
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4",
  "status": "Monitor updated Successfully"
}
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:
curl -X POST "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}/enable" \
  -H "x-api-key: YOUR_API_KEY"
Response:
{
  "success": true,
  "message": "Monitor enabled successfully.",
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4"
}

Disable monitor

Pause execution without deleting the monitor:
curl -X POST "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}/disable" \
  -H "x-api-key: YOUR_API_KEY"
Response:
{
  "success": true,
  "message": "Monitor disabled successfully.",
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4"
}

Delete monitor

Permanently delete a monitor. This action cannot be undone. Deleted monitors stop executing immediately and no longer appear in list results.
curl -X DELETE "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}" \
  -H "x-api-key: YOUR_API_KEY"
Response:
{
  "success": true,
  "message": "Monitor deleted successfully.",
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4"
}

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.
curl "https://catchall.newscatcherapi.com/catchAll/monitors/{monitor_id}/status" \
  -H "x-api-key: YOUR_API_KEY"

See also