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.
View JSON Schema on GitHub

JSON Schema

cronitor-monitor-schema.json Raw ↑
{
  "$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:oncall@example.com"]
    },
    "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
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/cronitor-monitor"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.