Cronitor · Schema
Cronitor Monitor
A Cronitor monitor object representing a cron job, heartbeat, uptime check, or site check.
MonitoringCron JobsScheduled TasksAlertingUptimeTelemetryStatus Pages
Properties
| Name | Type | Description |
|---|---|---|
| key | string | Unique monitor identifier. |
| name | string | Human-readable display name. |
| type | string | Monitor type. |
| schedule | string | Cron, interval, or time expression. |
| schedules | array | Multiple schedule expressions. |
| timezone | string | IANA timezone string. |
| assertions | array | List of assertion expressions. |
| notify | array | Notification list keys or direct integration strings. |
| realert_interval | string | Follow-up alert timing string. |
| grace_seconds | integer | Pre-alert delay window in seconds. |
| failure_tolerance | integer | Consecutive failures tolerated before alerting. |
| consecutive_alert_threshold | integer | Number of failures required before an alert fires. |
| paused | boolean | Whether the monitor is currently paused. |
| url | string | URL to check for check/site monitors. |
| method | string | HTTP method for check monitors. |
| body | string | HTTP request body for check monitors. |
| headers | object | HTTP headers for check monitors. |
| timeout_seconds | integer | Request timeout in seconds for check monitors. |
| follow_redirects | boolean | Whether to follow HTTP redirects. |
| verify_ssl | boolean | Whether to verify SSL certificates. |
| tags | array | Tags for grouping and filtering monitors. |
| group | string | Group key this monitor belongs to. |
| env | string | Environment identifier. |
| created | string | ISO 8601 creation timestamp. |
| latest_event | object | Most recent telemetry event. |
| latest_issue | objectnull | Most recent issue object, or null. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/cronitor/json-schema/cronitor-monitor-schema.json",
"title": "Cronitor Monitor",
"description": "A Cronitor monitor object representing a cron job, heartbeat, uptime check, or site check.",
"type": "object",
"required": ["key", "type"],
"properties": {
"key": {
"type": "string",
"description": "Unique monitor identifier.",
"example": "daily-backup-job"
},
"name": {
"type": "string",
"description": "Human-readable display name.",
"example": "Daily Backup Job"
},
"type": {
"type": "string",
"enum": ["job", "check", "heartbeat", "site"],
"description": "Monitor type."
},
"schedule": {
"type": "string",
"description": "Cron, interval, or time expression.",
"example": "0 2 * * *"
},
"schedules": {
"type": "array",
"items": { "type": "string" },
"description": "Multiple schedule expressions."
},
"timezone": {
"type": "string",
"description": "IANA timezone string.",
"example": "America/New_York"
},
"assertions": {
"type": "array",
"items": { "type": "string" },
"description": "List of assertion expressions.",
"example": ["response_time < 2000", "status_code = 200"]
},
"notify": {
"type": "array",
"items": { "type": "string" },
"description": "Notification list keys or direct integration strings.",
"example": ["devops-team", "email:[email protected]"]
},
"realert_interval": {
"type": "string",
"description": "Follow-up alert timing string.",
"example": "1 hour"
},
"grace_seconds": {
"type": "integer",
"description": "Pre-alert delay window in seconds.",
"minimum": 0,
"example": 60
},
"failure_tolerance": {
"type": "integer",
"description": "Consecutive failures tolerated before alerting.",
"minimum": 0,
"example": 0
},
"consecutive_alert_threshold": {
"type": "integer",
"description": "Number of failures required before an alert fires.",
"minimum": 1,
"example": 1
},
"paused": {
"type": "boolean",
"description": "Whether the monitor is currently paused.",
"example": false
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to check for check/site monitors.",
"example": "https://example.com/health"
},
"method": {
"type": "string",
"enum": ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "PATCH"],
"description": "HTTP method for check monitors.",
"example": "GET"
},
"body": {
"type": "string",
"description": "HTTP request body for check monitors."
},
"headers": {
"type": "object",
"additionalProperties": { "type": "string" },
"description": "HTTP headers for check monitors."
},
"timeout_seconds": {
"type": "integer",
"minimum": 1,
"maximum": 15,
"description": "Request timeout in seconds for check monitors.",
"example": 10
},
"follow_redirects": {
"type": "boolean",
"description": "Whether to follow HTTP redirects.",
"example": true
},
"verify_ssl": {
"type": "boolean",
"description": "Whether to verify SSL certificates.",
"example": true
},
"tags": {
"type": "array",
"items": { "type": "string" },
"description": "Tags for grouping and filtering monitors.",
"example": ["production", "backend"]
},
"group": {
"type": "string",
"description": "Group key this monitor belongs to.",
"example": "backend-jobs"
},
"env": {
"type": "string",
"description": "Environment identifier.",
"example": "production"
},
"created": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "ISO 8601 creation timestamp."
},
"latest_event": {
"type": "object",
"readOnly": true,
"description": "Most recent telemetry event.",
"properties": {
"stamp": {
"type": "integer",
"description": "Unix timestamp of the last event."
},
"state": {
"type": "string",
"enum": ["run", "complete", "fail", "ok"],
"description": "State of the last event."
}
}
},
"latest_issue": {
"type": ["object", "null"],
"readOnly": true,
"description": "Most recent issue object, or null."
}
},
"additionalProperties": false
}