{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/better-stack/refs/heads/main/json-schema/better-stack-monitor-attributes-schema.json", "title": "MonitorAttributes", "description": "Attributes of an uptime monitor.", "type": "object", "properties": { "url": { "type": "string", "format": "uri", "description": "The URL being monitored.", "example": "https://example.com" }, "pronounceable_name": { "type": "string", "description": "Human-readable name for the monitor.", "example": "Production API" }, "monitor_type": { "type": "string", "description": "Type of monitoring check.", "enum": [ "status", "expected_status_code", "keyword", "keyword_absence", "ping", "tcp", "udp", "smtp", "pop", "imap" ], "example": "status" }, "status": { "type": "string", "description": "Current operational status of the monitor.", "enum": [ "paused", "pending", "maintenance", "up", "validating", "down" ], "example": "up" }, "monitor_group_id": { "type": "string", "nullable": true, "description": "ID of the monitor group this monitor belongs to.", "example": null }, "policy_id": { "type": "string", "nullable": true, "description": "ID of the escalation policy for this monitor.", "example": "300010" }, "check_frequency": { "type": "integer", "description": "How often to check the URL in seconds.", "example": 180 }, "verify_ssl": { "type": "boolean", "description": "Whether to verify SSL certificate validity.", "example": true }, "ssl_expiration": { "type": "integer", "nullable": true, "description": "Days before SSL expiration to start alerting.", "example": 30 }, "call": { "type": "boolean", "description": "Whether to alert via phone call.", "example": false }, "sms": { "type": "boolean", "description": "Whether to alert via SMS.", "example": true }, "email": { "type": "boolean", "description": "Whether to alert via email.", "example": true }, "push": { "type": "boolean", "description": "Whether to alert via push notification.", "example": true }, "regions": { "type": "array", "description": "Geographic regions from which to check the monitor.", "items": { "type": "string" }, "example": [ "us", "eu" ] }, "created_at": { "type": "string", "format": "date-time", "description": "When the monitor was created.", "example": "2025-01-15T10:00:00Z" }, "updated_at": { "type": "string", "format": "date-time", "description": "When the monitor was last updated.", "example": "2026-04-01T08:30:00Z" }, "paused_at": { "type": "string", "format": "date-time", "nullable": true, "description": "When the monitor was paused, if applicable.", "example": null } } }