Better Stack · JSON Structure

Better Stack Monitor Attributes Structure

Attributes of an uptime monitor.

Type: object Properties: 17
IncidentsLogsMonitoringPlatformStatusUptimeObservabilityOn-CallHeartbeats

MonitorAttributes is a JSON Structure definition published by Better Stack, describing 17 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

url pronounceable_name monitor_type status monitor_group_id policy_id check_frequency verify_ssl ssl_expiration call sms email push regions created_at updated_at paused_at

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/better-stack/refs/heads/main/json-structure/better-stack-monitor-attributes-structure.json",
  "name": "MonitorAttributes",
  "description": "Attributes of an uptime monitor.",
  "type": "object",
  "properties": {
    "url": {
      "type": "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": "int32",
      "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": "int32",
      "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": "datetime",
      "description": "When the monitor was created.",
      "example": "2025-01-15T10:00:00Z"
    },
    "updated_at": {
      "type": "datetime",
      "description": "When the monitor was last updated.",
      "example": "2026-04-01T08:30:00Z"
    },
    "paused_at": {
      "type": "datetime",
      "nullable": true,
      "description": "When the monitor was paused, if applicable.",
      "example": null
    }
  }
}