{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://artifacts.apis.io/impri-dev/json-schema/impri-dev-create-channel-body-schema.json",
  "title": "CreateChannelBody",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/impri-dev-openapi.json#/components/schemas/CreateChannelBody",
  "$ref": "#/$defs/CreateChannelBody",
  "definitions": {
    "CreateChannelBody": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "type": {
          "type": "string",
          "enum": [
            "slack",
            "discord",
            "telegram",
            "ntfy",
            "email",
            "webhook"
          ]
        },
        "config": {
          "type": "object",
          "additionalProperties": {}
        },
        "enabled": {
          "type": "boolean",
          "default": true
        },
        "digest_window_sec": {
          "type": "integer",
          "minimum": 10,
          "maximum": 3600,
          "default": 60
        }
      },
      "required": [
        "name",
        "type",
        "config"
      ],
      "additionalProperties": false
    }
  },
  "$defs": {
    "CreateChannelBody": {
      "$ref": "#/$defs/CreateChannelBody",
      "definitions": {
        "CreateChannelBody": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "type": {
              "type": "string",
              "enum": [
                "slack",
                "discord",
                "telegram",
                "ntfy",
                "email",
                "webhook"
              ]
            },
            "config": {
              "type": "object",
              "additionalProperties": {}
            },
            "enabled": {
              "type": "boolean",
              "default": true
            },
            "digest_window_sec": {
              "type": "integer",
              "minimum": 10,
              "maximum": 3600,
              "default": 60
            }
          },
          "required": [
            "name",
            "type",
            "config"
          ],
          "additionalProperties": false
        }
      },
      "$schema": "http://json-schema.org/draft-07/schema#"
    }
  }
}