Create monitor
create_monitorSchedules a dataset monitor to refill output columns daily, weekly, or monthly, compare each run with the previous one, and POST results or only changes to a webhook.
Instructions
create monitor
Create a monitor: a schedule that fills a dataset's output columns again daily, weekly, or monthly, compares each cell with the previous run, and can POST results (or only changes) to a webhook. Pass dataset_id and optionally columns (output column names; every one when omitted); the rows are the dataset's, no input. Creation is free; every run charges the fill price. estimate_cost: true prices one run. help → monitors.
Example — Daily monitor on a dataset, webhook only on changes: { "dataset_id": "ds_018f5b60-1234-7abc-89ab-0123456789ab", "columns": [ "Headcount", "Latest funding round" ], "cadence": "daily", "hour": 9, "minute": 0, "timezone": "UTC", "alert_rule": "on_diff", "output_format": "include_diffs", "webhook_url": "https://your-server.com/webhook" }
Example — Weekly monitor, every output column, results every run: { "dataset_id": "ds_018f5b60-1234-7abc-89ab-0123456789ab", "cadence": "weekly", "day_of_week": 1, "hour": 7, "minute": 30, "timezone": "America/New_York", "webhook_url": "https://your-server.com/webhook" }
Workflow: Creates a scheduled monitor. Check it with get_monitor, pause it with update_monitor (enabled: false), and list its runs with list_monitor_runs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hour | Yes | Hour of the day to run | |
| input | No | Monitors on a legacy enrichment only — fixed rows every scheduled run enriches (same shape as enrich input). Refused on a dataset monitor; its rows are the dataset's. | |
| minute | Yes | Minute of the hour to run | |
| cadence | Yes | How often the monitor runs | |
| columns | No | Output column names each run fills. Omit for every output column, including ones added later. | |
| timezone | Yes | Timezone (e.g. 'UTC', 'America/New_York') | |
| alert_rule | No | When the webhook fires — every run, only when a monitored cell changed since the previous run, or never (default each_run) | |
| dataset_id | No | The dataset to fill again on the schedule (ds_...). One of dataset_id / enrichment_id is required. | |
| day_of_week | No | Day of the week (0=Sunday, required for weekly) | |
| max_credits | No | Credit ceiling. Refused with 422 credit_cap_exceeded (nothing charged) when the estimate's maximum exceeds it. | |
| webhook_url | No | URL to receive results each scheduled run | |
| day_of_month | No | Day of the month (required for monthly) | |
| enrichment_id | No | Instead of dataset_id — the enrichment bound to the dataset (enr_...). A legacy enrichment's id creates a monitor on it over fixed `input` rows (legacy API docs); the response carries `legacy`. | |
| estimate_cost | No | Validate and price the request without running or charging anything; the 200 response is the credit estimate (EstimateCostResult). | |
| output_format | No | include_diffs adds `previous_value` and `changed` to every cell of the run's output and webhook payload (default current_only) | |
| run_immediately | No | Also run the monitor immediately after creation (a paid run) |