Overview
Add specific URLs to persistent monitoring. Each monitored URL is automatically re-validated on a schedule, with dedicated tracking, change detection, and alerting.
How It Works
1. User adds URLs to the monitoring list
2. Each URL gets a configurable scan frequency
3. ValidGraph runs scheduled validations
4. Results are tracked and compared over time
5. Alerts fire on regressions or new errors
Tier Availability
| Tier | Max Monitored URLs | Frequency Options |
|——|——————-|——————-|
| Free | — | — |
| Pro | — | — |
| Agency | 50 | Daily, Weekly |
| Enterprise | 200 | Hourly, Daily, Weekly |
Related Features
– Automated Re-scans: The engine that powers scheduled monitoring
– Schema Change Detection: Diff view for monitored URL changes
– Sitemap Auto-Import: Bulk-add URLs from sitemap
Quick Start: Add Your First Monitored URL
Step 1: Add a URL to monitoring
curl -X POST https://api.validgraph.io/wp-json/validgraph/v1/monitoring
-H "Authorization: Bearer YOUR_API_KEY"
-H "Content-Type: application/json"
-d '{
"url": "https://example.com/article-1",
"frequency": "daily",
"label": "Homepage Article"
}'
Step 2: Configure frequency (Agency: daily/weekly; Enterprise: hourly/daily/weekly)
Step 3: View monitoring dashboard — See all monitored URLs and their last scan results
Step 4: Set up email alerts (optional) — Get notified of regressions or new errors
Example workflow:
Your product pages validate with score 85. Set daily monitoring to catch when deployments cause regressions. If score drops below 80, receive email alert.
Technical Details
CRUD API for Monitoring
Create monitoring
POST /wp-json/validgraph/v1/monitoring
Request:
{
"url": "https://example.com/product",
"frequency": "daily",
"label": "Product Page",
"alert_on_score_drop": true,
"alert_threshold": 5,
"alert_recipients": ["[email protected]"]
}
Response:
{
"success": true,
"data": {
"monitoring_id": "mon_abc123",
"url": "https://example.com/product",
"frequency": "daily",
"status": "active",
"created_at": "2024-03-20T10:00:00Z",
"next_scan": "2024-03-21T10:00:00Z",
"last_scan": null,
"last_score": null,
"label": "Product Page"
}
}
List monitored URLs
GET /wp-json/validgraph/v1/monitoring
Response:
{
"success": true,
"data": {
"total": 25,
"limit": 50,
"monitored_urls": [
{
"monitoring_id": "mon_abc123",
"url": "https://example.com/product",
"frequency": "daily",
"status": "active",
"last_scan": "2024-03-20T10:15:00Z",
"last_score": 85,
"last_validation_id": "val_scan_456",
"next_scan": "2024-03-21T10:00:00Z",
"alert_rule_ids": ["alert_rule_xyz"]
},
{
"monitoring_id": "mon_def456",
"url": "https://example.com/article",
"frequency": "weekly",
"status": "active",
"last_scan": "2024-03-19T15:30:00Z",
"last_score": 72,
"next_scan": "2024-03-26T15:30:00Z"
}
]
}
}
Get specific monitoring
GET /wp-json/validgraph/v1/monitoring/mon_abc123
Update monitoring
PUT /wp-json/validgraph/v1/monitoring/mon_abc123
{
"frequency": "weekly",
"alert_threshold": 10
}
Delete monitoring
DELETE /wp-json/validgraph/v1/monitoring/mon_abc123
Frequency Behavior
Agency tier:
– Daily: Rescans every 24 hours at same UTC time
– Weekly: Rescans every 7 days at same UTC time
– Cron expression: Pro tier rescans last 10 URLs weekly; Agency rescans all monitored URLs
Enterprise tier:
– Hourly: Rescans every 60 minutes
– Daily: Rescans every 24 hours
– Weekly: Rescans every 7 days
– Cron expression: Enterprise rescans all monitored URLs at specified frequencies
Monitoring Status Indicators
| Status | Meaning |
|——–|———|
| Active | URL is being monitored; next scan scheduled |
| Paused | Monitoring temporarily disabled |
| Failed | Last scan failed (URL unreachable, timeout, etc.) |
| Checking | Scan currently in progress |
Monitoring with Alert Integration
When creating monitoring with alerts:
{
"url": "https://example.com/article",
"frequency": "daily",
"alerts": {
"on_score_drop": true,
"score_threshold": 5,
"on_new_errors": true,
"on_validation_failure": true,
"recipients": ["[email protected]", "[email protected]"]
}
}
Alerts fire when:
– Score drops by threshold (e.g., 85 → 80)
– New validation errors detected
– URL becomes unreachable
– Validation timeout/failure
References
– REST API Best Practices: https://restfulapi.net/
– Cron Expression Guide: https://crontab.guru/
– URL Monitoring Standards: https://tools.ietf.org/html/rfc3986
– Schema.org Validation: https://schema.org/
– JSON-LD Best Practices: https://json-ld.org/learn