Skip to main content

Documentation Index

Fetch the complete documentation index at: https://newscatcherinc-docs.mintlify.dev/docs/llms.txt

Use this file to discover all available pages before exploring further.

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:
  • 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 start

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": {
      "url": "https://your-endpoint.com/catchall",
      "method": "POST"
    }
  }'
Response:
{
  "monitor_id": "3fec5b07-8786-46d7-9486-d43ff67eccd4",
  "status": "Monitor Created Successfully"
}
The webhook parameter is optional. For webhook payload structure and authentication options, see the Webhooks section.

Update monitor webhook

Modify webhook configuration for an existing monitor without recreating it:
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": {
      "url": "https://new-endpoint.com/webhook",
      "method": "POST",
      "headers": {"Authorization": "Bearer NEW_TOKEN"}
    }
  }'
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.

Retrieve results

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

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"

Webhooks

To get HTTP notifications for completed monitor jobs, add a webhook when creating the monitor (see Create a monitor). You can update the webhook at any time using update monitor webhook without recreating the monitor.

Webhook payload

Authentication

See also