{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/blackbaud/main/json-schema/blackbaud-consent-channel-category-collection-schema.json",
  "title": "ConsentChannelCategoryCollection",
  "description": "A collection of consent channel categories.",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/blackbaud-communication-preference-api-openapi.yml#/components/schemas/ConsentChannelCategoryCollection",
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "description": "The number of consent channel categories in the list.",
      "format": "int32",
      "readOnly": true
    },
    "value": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/ConsentChannelCategory"
      },
      "description": "The set of consent channel categories included in the response."
    }
  },
  "additionalProperties": false,
  "$defs": {
    "ConsentChannelCategory": {
      "type": "object",
      "properties": {
        "channel": {
          "type": [
            "string",
            "null"
          ],
          "description": "The name of the channel included in the channel/category combination."
        },
        "category": {
          "type": [
            "string",
            "null"
          ],
          "description": "The name of the category included in the channel/category combination."
        },
        "sequence": {
          "type": [
            "integer",
            "null"
          ],
          "description": "The placement of the channel/category in the order of channel/category table values, if defined.",
          "format": "int32"
        }
      },
      "additionalProperties": false,
      "description": "Represents a valid consent channel category combination."
    }
  }
}