{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/graphiant/main/json-schema/graphiant-v2-notification-create-post-request-schema.json",
  "title": "v2NotificationCreatePostRequest",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/graphiant-notification-api-openapi.yml#/components/schemas/v2NotificationCreatePostRequest",
  "type": "object",
  "properties": {
    "notificationBody": {
      "$ref": "#/$defs/alertserviceNotificationBody"
    },
    "ruleIdList": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "List of rule ids (required)"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "notificationBody",
    "ruleIdList"
  ],
  "$defs": {
    "alertserviceNotificationBody": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of notification"
        },
        "duration": {
          "type": "string",
          "description": "Time interval for notification (required)"
        },
        "enabled": {
          "type": "boolean",
          "description": "Enable or disable notification (required)"
        },
        "frequency": {
          "type": "integer",
          "format": "int64",
          "minimum": 0,
          "description": "Frequency of notifying a continuing alert (required)"
        },
        "messageBody": {
          "type": "string",
          "description": "Message body to prepend to actual message"
        },
        "notificationName": {
          "type": "string",
          "description": "Name of the notification record (required)"
        },
        "opsgenieList": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "List of opsgenie recipients"
          }
        },
        "opsrampList": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "List of opsramp recipients"
          }
        },
        "pagerdutyList": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "List of pagerduty recipients"
          }
        },
        "recipientList": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "Non-empty list of email recipients (required)"
          }
        },
        "teamsList": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "List of teams recipients"
          }
        },
        "webhookUrlList": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "List of webhook_url recipients"
          }
        }
      },
      "additionalProperties": false
    }
  }
}