Better Stack · Schema

MonitorAttributes

Attributes of an uptime monitor.

IncidentsLogsMonitoringPlatformStatusUptimeObservabilityOn-CallHeartbeats

Properties

Name Type Description
url string The URL being monitored.
pronounceable_name string Human-readable name for the monitor.
monitor_type string Type of monitoring check.
status string Current operational status of the monitor.
monitor_group_id string ID of the monitor group this monitor belongs to.
policy_id string ID of the escalation policy for this monitor.
check_frequency integer How often to check the URL in seconds.
verify_ssl boolean Whether to verify SSL certificate validity.
ssl_expiration integer Days before SSL expiration to start alerting.
call boolean Whether to alert via phone call.
sms boolean Whether to alert via SMS.
email boolean Whether to alert via email.
push boolean Whether to alert via push notification.
regions array Geographic regions from which to check the monitor.
created_at string When the monitor was created.
updated_at string When the monitor was last updated.
paused_at string When the monitor was paused, if applicable.
View JSON Schema on GitHub

JSON Schema

better-stack-monitor-attributes-schema.json Raw ↑
{
  "$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
    }
  }
}