Skip to main content
POST
Create monitor

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. Minimum frequency depends on your plan.

Example:

"every day at 12 PM UTC"

timezone
string
default:UTC

The IANA timezone identifier used as the fallback when the schedule string does not include an explicit timezone.

If the schedule includes a timezone abbreviation (for example, "every day at 9am EST"), the parsed timezone takes priority and this value is ignored.

Example:

"America/New_York"

webhook_ids
string<uuid>[]

IDs of centralized webhooks to notify on each run completion. Passing IDs here is equivalent to calling POST /catchAll/webhooks/{webhook_id}/resources for each ID after creation. Maximum 5 per monitor.

Example:
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.

project_id
string<uuid>

Project to assign this monitor to. The monitor appears in the project's resource list after creation.

Example:

"60a85db4-78ec-4b78-876a-bc7d9cdadd04"

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.