{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-mediatailor/json-schema/amazon-mediatailor-update-channel-request-schema.json",
  "title": "UpdateChannelRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-mediatailor-channels-api-openapi.yml#/components/schemas/UpdateChannelRequest",
  "type": "object",
  "properties": {
    "ChannelName": {
      "type": "string",
      "description": "The name of the channel."
    },
    "FillerSlate": {
      "$ref": "#/$defs/SlateSource"
    },
    "Outputs": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/RequestOutputItem"
      },
      "description": "The channel's output properties."
    },
    "TimeShiftConfiguration": {
      "$ref": "#/$defs/TimeShiftConfiguration"
    },
    "Audiences": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The list of audiences defined in channel."
    }
  },
  "required": [
    "ChannelName",
    "Outputs"
  ],
  "$defs": {
    "DashPlaylistSettings": {
      "type": "object",
      "properties": {
        "ManifestWindowSeconds": {
          "type": "integer",
          "description": "The total duration (in seconds) of each manifest. Minimum value: 30 seconds. Maximum value: 3600 seconds."
        },
        "MinBufferTimeSeconds": {
          "type": "integer",
          "description": "Minimum amount of content (measured in seconds) that a player must keep available in the buffer. Minimum value: 2 seconds. Maximum value: 60 seconds."
        },
        "MinUpdatePeriodSeconds": {
          "type": "integer",
          "description": "Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest. Minimum value: 2 seconds. Maximum value: 60 seconds."
        },
        "SuggestedPresentationDelaySeconds": {
          "type": "integer",
          "description": "Amount of time (in seconds) that the player should be from the live point at the end of the manifest. Minimum value: 2 seconds. Maximum value: 60 seconds."
        }
      }
    },
    "HlsPlaylistSettings": {
      "type": "object",
      "properties": {
        "ManifestWindowSeconds": {
          "type": "integer",
          "description": "The total duration (in seconds) of each manifest. Minimum value: 30 seconds. Maximum value: 3600 seconds."
        },
        "AdMarkupType": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "DATERANGE",
              "SCTE35_ENHANCED"
            ]
          },
          "description": "Determines the type of SCTE 35 tags to use in ad markup. Specify DATERANGE to use DATERANGE tags (for live or VOD content). Specify SCTE35_ENHANCED to use EXT-X-CUE-OUT and EXT-X-CUE-IN tags (for VOD content only)."
        }
      }
    },
    "RequestOutputItem": {
      "type": "object",
      "properties": {
        "DashPlaylistSettings": {
          "$ref": "#/$defs/DashPlaylistSettings"
        },
        "HlsPlaylistSettings": {
          "$ref": "#/$defs/HlsPlaylistSettings"
        },
        "ManifestName": {
          "type": "string",
          "description": "The name of the manifest for the channel. The name appears in the PlaybackUrl."
        },
        "SourceGroup": {
          "type": "string",
          "description": "A string used to match which HttpPackageConfiguration is used for each VodSource."
        }
      },
      "required": [
        "ManifestName",
        "SourceGroup"
      ]
    },
    "SlateSource": {
      "type": "object",
      "properties": {
        "SourceLocationName": {
          "type": "string",
          "description": "The name of the source location where the slate VOD source is stored."
        },
        "VodSourceName": {
          "type": "string",
          "description": "The slate VOD source name. The VOD source must already exist in a source location before it can be used for slate."
        }
      }
    },
    "TimeShiftConfiguration": {
      "type": "object",
      "properties": {
        "MaxTimeDelaySeconds": {
          "type": "integer",
          "description": "The maximum time delay for time-shifted viewing. The minimum allowed maximum time delay is 0 seconds, and the maximum allowed maximum time delay is 21600 seconds (6 hours)."
        }
      },
      "required": [
        "MaxTimeDelaySeconds"
      ]
    }
  }
}