Skip to main content
POST
/
catchAll
/
monitors
/
create
Create monitor
curl --request POST \
  --url https://catchall.newscatcherapi.com/catchAll/monitors/create \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "reference_job_id": "5f0c9087-85cb-4917-b3c7-e5a5eff73a0c",
  "schedule": "every day at 12 PM UTC",
  "backfill": true,
  "limit": 10,
  "webhook": {
    "url": "https://your-endpoint.com/webhook",
    "method": "POST",
    "headers": {
      "Authorization": "Bearer your_token_here"
    }
  }
}
'
{
  "monitor_id": "7f3a8b2c-1e4d-4a5b-9c8d-6e7f8a9b0c1d",
  "status": "Monitor Created Successfully"
}

Authorizations

x-api-key
string
header
required

API key for authentication.

Body

application/json
reference_job_id
string<uuid>
required

Job ID to use as template for scheduled runs. Defines the query, validators, and enrichments used for each scheduled run.

If backfill is true, the job's end_date must be within the last 7 days.

schedule
string
required

Monitor schedule in plain text format (e.g. 'every day at 12 PM UTC', 'every 48 hours').

Minimum frequency depends on your plan.

Example:

"every day at 12 PM UTC"

webhook
object

Optional webhook to receive notifications when jobs complete.

limit
integer

Maximum number of records per monitor run. If not provided, defaults to the plan limit.

Required range: x >= 10
backfill
boolean
default:true

If true, fills the data gap between the reference job's end_date and the first scheduled run. The reference job's end_date must be within the last 7 days.

If false, no gap filling occurs and the first run uses the current cron window only — the reference job's age does not matter.

Response

Monitor created successfully

status
string
required

Creation status or error message

Example:

"Monitor Created Successfully"

monitor_id
string<uuid> | null

Monitor ID if successful, null if error.