OpsGenie · Schema

OpsGenie Alert

Represents an alert in the OpsGenie incident management platform. Alerts are the primary mechanism for notifying teams about issues that require attention.

AlertsIncident ManagementMonitoringOn-CallOperations

Properties

Name Type Description
id string Unique identifier of the alert assigned by OpsGenie.
tinyId string Short, human-readable identifier for the alert.
alias string Client-defined identifier used for alert deduplication.
message string The alert message, limited to 130 characters.
description string Detailed description providing context about the alert.
status string Current status of the alert.
acknowledged boolean Whether the alert has been acknowledged by a responder.
isSeen boolean Whether the alert has been viewed.
snoozed boolean Whether the alert is currently snoozed.
snoozedUntil string Date and time when the snooze period ends.
tags array Tags attached to the alert for categorization.
count integer Number of times the alert has occurred (deduplication count).
lastOccurredAt string Date and time of the most recent occurrence.
createdAt string Date and time when the alert was first created.
updatedAt string Date and time of the last modification.
source string Source of the alert, typically the integration or tool that created it.
owner string Username of the alert owner (assigned user).
priority string Priority level from P1 (critical) to P5 (informational).
entity string Entity field used to specify the domain of the alert.
responders array Teams, users, escalations, and schedules responsible for the alert.
visibleTo array Teams and users who can see the alert without receiving notifications.
actions array Custom actions available for the alert.
details object Custom key-value pairs providing additional context.
integration object
report object
View JSON Schema on GitHub

JSON Schema

opsgenie-alert-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.api-evangelist.com/opsgenie/alert.json",
  "title": "OpsGenie Alert",
  "description": "Represents an alert in the OpsGenie incident management platform. Alerts are the primary mechanism for notifying teams about issues that require attention.",
  "type": "object",
  "required": ["message"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier of the alert assigned by OpsGenie."
    },
    "tinyId": {
      "type": "string",
      "description": "Short, human-readable identifier for the alert."
    },
    "alias": {
      "type": "string",
      "maxLength": 512,
      "description": "Client-defined identifier used for alert deduplication."
    },
    "message": {
      "type": "string",
      "maxLength": 130,
      "description": "The alert message, limited to 130 characters."
    },
    "description": {
      "type": "string",
      "maxLength": 15000,
      "description": "Detailed description providing context about the alert."
    },
    "status": {
      "type": "string",
      "enum": ["open", "closed"],
      "description": "Current status of the alert."
    },
    "acknowledged": {
      "type": "boolean",
      "description": "Whether the alert has been acknowledged by a responder."
    },
    "isSeen": {
      "type": "boolean",
      "description": "Whether the alert has been viewed."
    },
    "snoozed": {
      "type": "boolean",
      "description": "Whether the alert is currently snoozed."
    },
    "snoozedUntil": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when the snooze period ends."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "description": "Tags attached to the alert for categorization."
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "description": "Number of times the alert has occurred (deduplication count)."
    },
    "lastOccurredAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time of the most recent occurrence."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when the alert was first created."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time of the last modification."
    },
    "source": {
      "type": "string",
      "maxLength": 100,
      "description": "Source of the alert, typically the integration or tool that created it."
    },
    "owner": {
      "type": "string",
      "description": "Username of the alert owner (assigned user)."
    },
    "priority": {
      "type": "string",
      "enum": ["P1", "P2", "P3", "P4", "P5"],
      "description": "Priority level from P1 (critical) to P5 (informational)."
    },
    "entity": {
      "type": "string",
      "maxLength": 512,
      "description": "Entity field used to specify the domain of the alert."
    },
    "responders": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Responder"
      },
      "description": "Teams, users, escalations, and schedules responsible for the alert."
    },
    "visibleTo": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Responder"
      },
      "description": "Teams and users who can see the alert without receiving notifications."
    },
    "actions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "Custom actions available for the alert."
    },
    "details": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Custom key-value pairs providing additional context."
    },
    "integration": {
      "$ref": "#/$defs/Integration"
    },
    "report": {
      "$ref": "#/$defs/AlertReport"
    }
  },
  "$defs": {
    "Responder": {
      "type": "object",
      "required": ["type"],
      "description": "A team, user, escalation, or schedule that responds to alerts.",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier of the responder."
        },
        "name": {
          "type": "string",
          "description": "Name of the responder (teams and schedules)."
        },
        "username": {
          "type": "string",
          "format": "email",
          "description": "Username of the responder (users)."
        },
        "type": {
          "type": "string",
          "enum": ["team", "user", "escalation", "schedule"],
          "description": "Type of the responder entity."
        }
      }
    },
    "Integration": {
      "type": "object",
      "description": "The integration that created the alert.",
      "properties": {
        "id": {
          "type": "string",
          "description": "Integration ID."
        },
        "name": {
          "type": "string",
          "description": "Integration name."
        },
        "type": {
          "type": "string",
          "description": "Integration type."
        }
      }
    },
    "AlertReport": {
      "type": "object",
      "description": "Report containing timing and actor information for the alert lifecycle.",
      "properties": {
        "ackTime": {
          "type": "integer",
          "description": "Time in milliseconds from creation to acknowledgment."
        },
        "closeTime": {
          "type": "integer",
          "description": "Time in milliseconds from creation to closure."
        },
        "acknowledgedBy": {
          "type": "string",
          "description": "Username of the person who acknowledged the alert."
        },
        "closedBy": {
          "type": "string",
          "description": "Username of the person who closed the alert."
        }
      }
    }
  }
}