Skip to main content
A monitor repeats research on a schedule and delivers only what is new since its last run.

Create a monitor

Add keep_updated when you start a run. Once the run succeeds, the agent makes a monitor of it, and the run counts as the monitor’s first run:
POST /runs
The run’s keep_updated.status goes from pending to created (with the monitor_id), failed or not_created.
A new monitor first runs at its next scheduled time. POST /monitors/{monitor_id}/run runs it at the scheduler’s next tick, within 5 minutes; its schedule then continues as before.

Schedule

string
default:"day"
day, week, or hours for hourly runs when your plan allows them.
string
default:"09:00"
Local time, HH:MM (24-hour).
string
default:"UTC"
IANA timezone, for example Europe/Berlin.
integer
Weekly only: 0 is Monday, 6 is Sunday.
integer
With every: hours: hours between runs, counted from at each day. Below your plan’s minimum interval (24 hours on Free and pay-as-you-go) it is refused with invalid_schedule.
The default is daily at 09:00 UTC. Event monitors made from standard or max runs default to weekly, on the weekday the monitor is created, and may run daily too.

Get what a monitor delivered

Each delivered row has a change: new, or update for a story that grew materially since it was last delivered (its version rises).

Pause, resume and change

PATCH /monitors/{monitor_id} changes its name, companies, query, schedule or settings. "enabled": false pauses it and "enabled": true resumes it. When you resume, fill_gap: true (the default) makes the next delivery cover the days it was paused, up to 30 days; false starts from today. The service pauses a monitor by itself in two cases, shown in paused_reason:
  • out_of_credits: your balance no longer covers its runs. Top up, then resume it.
  • idle: your organization’s free monitor was not opened for 14 days. Resume it.
Deleting a monitor keeps its past runs in your history.