Check intervals
The interval is how often a monitor runs its check. A shorter interval notices an outage sooner and gives finer response-time data; a longer one is enough for things that change slowly. For calendar-style schedules (“every Monday at 09:00”) use a cron schedule instead.
Settings reference
Section titled “Settings reference”| Setting (app label) | API field (v2) | Type / allowed values | Default | Plan limits | What it does for you |
|---|---|---|---|---|---|
| Interval (under Interval schedule) | interval |
Integer seconds; must be one of the account’s allowed values (GET /account -> limits.intervals) and at or above the type’s and your plan’s minimum |
App: per type (table below). API: 180 (3 minutes) |
Your plan sets the fastest interval | How often the check runs. |
| Check interval (Profile -> Defaults) | - (app only) | 1, 3, 5, 10, 15, 30 min; 1, 6, 12, 24 h; or Built-in default | Built-in default | Types with a larger minimum keep their own | The interval the Add Monitor form starts with. |
The values you can pick
Section titled “The values you can pick”The app offers a fixed list per type, so every monitor lands on a value the scheduler supports:
| Monitor types | Intervals offered in the app | App default |
|---|---|---|
| Website/HTTPS, API, Ping, Port, Counter, SNMP | 1, 2, 3, 5, 10, 15, 30, 45 min; 1, 2, 4, 6, 12, 24 h | 3 min (SNMP 5 min) |
| Page speed, Transaction, Web content check, Database | 10, 15, 30, 45 min; 1, 2, 4, 6, 12, 24 h | 15 min (Page speed), 10 min (others) |
| Russian BL check | 30, 45 min; 1, 2, 4, 6, 12, 24 h | 1 h |
| SSL/TLS certificate expiry, Domain expiry, DNSBL | Fixed: every 6 hours | - |
| Web Risk | Fixed: every 12 hours | - |
| Site crawl | Cron only (weekly by default) | Mondays 03:00 UTC |
On the API the same values are sent in seconds: 60, 120, 180, 300, 600, 900, 1800, 2700,
3600, 7200, 14400, 21600, 43200, 86400. The authoritative list for your account is
limits.intervals in GET /account; a value outside it is refused with 422 invalid_interval, and the error’s
allowed array lists the valid ones.
Minimums: your plan and the monitor type
Section titled “Minimums: your plan and the monitor type”Two floors apply on top of the allowed list, and the stricter one wins:
- Your plan’s floor. The permanent free plan checks every 30 minutes; the 30-day trial and the faster paid
plans allow checks every minute (the exact floor depends on the plan). A plan can also set its own floor for specific types (for example Page speed). An
interval below your plan’s floor is refused with
403 package_limit(“Your package’s minimum check interval is …”). - The type’s own floor. Some checks are expensive or change slowly, so HostTracker sets a minimum regardless of plan:
| Type | Minimum interval |
|---|---|
Page speed (waterfall), Database (database) |
10 minutes |
Russian BL check (http with preset bl:ru) |
30 minutes |
| DNSBL, Domain expiry, SSL/TLS certificate expiry | 6 hours (fixed) |
| Web Risk | 12 hours (fixed) |
| Site crawl | 1 day (cron only) |
| Every other type | No minimum above 1 minute |
An interval below the type’s floor is refused with 422 interval_below_type_floor (the error carries
minInterval). If no allowed interval satisfies both floors - a type whose minimum is above everything your plan
offers - the answer is 403 package_interval_conflict.
To read your effective floor per type, call GET /monitor/type with your token: each row’s
accountLimits.minInterval (seconds) is the larger of the type’s floor and your plan’s, and fixedInterval is
present for the fixed-cadence types. MCP: list_monitor_types.
Fixed-cadence types
Section titled “Fixed-cadence types”DNSBL, Domain expiry and SSL/TLS certificate expiry monitors always run every 6 hours, and Web
Risk monitors every 12 hours. The app shows no interval control for them. On the API you can omit
interval - the monitor is created at its fixed cadence; a value you do send is still checked against the
allowed list and the type’s floor, then the fixed cadence is stored anyway. A cron schedule is not supported for
these types (it is cleared with a warning).
The same four checks attached to a website monitor (see Attached sub-checks) run every 12 hours, whatever the parent monitor’s interval.
Set it up in the app
Section titled “Set it up in the app”- On Sites, open the monitor (or click Add Monitor for a new one).
- Expand Main Settings.
- Make sure Interval schedule is selected (not Cron schedule).
- Pick the value in the Interval dropdown, or drag the slider.
- Save.
To change the interval of many monitors at once, select them on Sites and use Edit -> Monitoring interval (see Bulk operations).
Do it with the API or MCP
Section titled “Do it with the API or MCP”# Every 5 minutes (scope monitor:write)curl -X PATCH "https://api2.host-tracker.com/monitor/$MONITOR_ID" \ -H "Authorization: Bearer $HT_TOKEN" -H "Content-Type: application/json" \ -d '{ "interval": 300 }'- Create: include
"interval": 300inPOST /monitor. Omit it to get 3 minutes (or the fixed cadence). - Switch a cron-scheduled monitor back to an interval:
{ "cronSchedule": null, "interval": 300 }. - MCP:
update_monitor(id,interval) andcreate_monitor(interval). Pass seconds (300= 5 minutes): the value is forwarded unchanged to the API’sintervalfield. - Many monitors:
POST /monitor/bulk-updatewith{ "ids": [...], "patch": { "interval": 300 } }, MCPbulk_update_monitors.
What happens next
Section titled “What happens next”The scheduler picks up the new cadence within about a minute of saving; from then on checks are spaced by the new interval. Results already recorded are not changed.
Limits and gotchas
Section titled “Limits and gotchas”- If you create a monitor without
intervaland 3 minutes is not allowed for that type on your plan, the API answers422 validation_failedwithreason: "required"at/intervaland lists the allowed values - send an explicit interval. - A bulk interval change over mixed types fails, item by item, for monitors whose type floor is above the chosen
value (
interval_below_type_floor); the others are updated. - If your plan changes to one with a slower floor, monitors that run faster are slowed to the new floor automatically.
- A monitor that has a cron schedule stores
interval: 0; the two schedules are alternatives.

