iStreamPlanet · Schema

PutChannelRequestBody

CompanyVideo StreamingLive StreamingMediaCloud VideoSpectralAPI Governance

Properties

Name Type Description
$schema string A URL to the JSON Schema for this object.
created string Date and time the channel was created.
description string A human-readable description of the channel.
desired_state string Desired running state for a channel.
enable_byoip boolean Indicates whether the channel's transcoder needs to run in a designated IP range.
id string External Channel ID provided at channel creation time
ingest object
labels arraynull Optional labels for a channel. Any included labels must be at least 1 character long, but no greater than 256 characters. The maximum number of labels is 50.
modified string Date and time the channel was last modified.
name string A friendly human-readable name for the channel. This will get displayed in user interfaces.
organization string
packaging object
publishing object
region string Region represents the general geolocation for transcoding and stream egress from iStreamPlanet. If no region is provided at channel creation time, then 'US_WEST' is used.
resource_class string If the ResourceClass is unspecified the channel will default to run in the 'DYNAMIC' ResourceClass. Note that changing the ResourceClass for a running channel is supported and will be performed with n
self string Self link for the channel.
signaling object
tags object
transcode object
View JSON Schema on GitHub

JSON Schema

istreamplanet-put-channel-request-body-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/istreamplanet/main/json-schema/istreamplanet-put-channel-request-body-schema.json",
  "title": "PutChannelRequestBody",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/istreamplanet-aventus-channels-openapi.yml#/components/schemas/PutChannelRequestBody",
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "description": "A URL to the JSON Schema for this object.",
      "format": "uri",
      "readOnly": true,
      "type": "string"
    },
    "created": {
      "description": "Date and time the channel was created.",
      "format": "date-time",
      "type": "string"
    },
    "description": {
      "description": "A human-readable description of the channel.",
      "type": "string"
    },
    "desired_state": {
      "description": "Desired running state for a channel.",
      "enum": [
        "ON",
        "OFF"
      ],
      "type": "string"
    },
    "enable_byoip": {
      "description": "Indicates whether the channel's transcoder needs to run in a designated IP range.",
      "type": "boolean"
    },
    "id": {
      "description": "External Channel ID provided at channel creation time",
      "minLength": 1,
      "pattern": "^([a-z0-9]+(-*[a-z0-9]+)*)$",
      "type": "string"
    },
    "ingest": {
      "additionalProperties": false,
      "properties": {
        "slate": {
          "additionalProperties": false,
          "properties": {
            "source_loss_url": {
              "description": "Source loss URL defines the location of the TS file to play when no source is available. It must have one audio and one video stream. Either MPEG2 or H.264 can be used.",
              "format": "uri-reference",
              "type": "string"
            }
          },
          "type": "object"
        },
        "source": {
          "additionalProperties": false,
          "properties": {
            "audio_sources": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "language": {
                    "description": "RFC 5646, e.g. 'en' 'en-US'",
                    "minLength": 1,
                    "type": "string"
                  },
                  "license": {
                    "description": "License specifies how the audio in this source is licensed. If license is not AUDIO_LICENSE_UNSPECIFIED, any remapped AudioSource which names this AudioSource in its remapping table must have the same license value as this AudioSource.",
                    "enum": [
                      "LIVE",
                      "REPLAY"
                    ],
                    "type": "string"
                  },
                  "name": {
                    "description": "Language fiendly name, e.g. 'English', 'Spanish'",
                    "minLength": 1,
                    "type": "string"
                  },
                  "remapping": {
                    "additionalProperties": false,
                    "properties": {
                      "back_left": {
                        "additionalProperties": false,
                        "properties": {
                          "audio_source_id": {
                            "description": "Identifies the ID of the elementary audio source from which this channel will be sourced.",
                            "minLength": 1,
                            "type": "string"
                          },
                          "channel_index": {
                            "description": "Identifies the zero-based channel index within the audio decoded from audio_source_id which is used for this channel mapping. If this index is out of bounds, the audio for this channel will be silent. For SMPTE-302M inputs, channel indices are always in the range 0-8 (unless the Aventus-specific extension for carrying more than 8 channels in one elementary stream is in use) and name the Nth channel of the input. I.e., the base channel index indicated by the input stream is ignored. For non-SMPTE-302M inputs with 1, 2, or 6 channels, the following index-to-channel mapping always applies: - 0 is front left (i.e. the only channel for mono) - 1 is front right - 2 is front center - 3 is LFE - 4 is side left - 5 is side right For non-SMPTE-302M inputs with 3, 4, or 5 channels, no index mapping is guaranteed. For non-SMPTE-302M inputs with more than 6 channels, the index mapping that would be used for 6 channels is guaranteed, and no specific mapping for the other channels is guaranteed.",
                            "format": "int32",
                            "minimum": 0,
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "back_right": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "front_center": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "front_left": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "front_right": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "low_frequency": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "side_left": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "side_right": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "top_back_left": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "top_back_right": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "top_front_left": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "top_front_right": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "top_side_left": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "top_side_right": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "wide_left": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      },
                      "wide_right": {
                        "$ref": "#/$defs/AudioSourceRemappingSource"
                      }
                    },
                    "type": "object"
                  },
                  "selector": {
                    "description": "Expression for choosing an audio track in the stream for this AudioSource https://wbdstreaming.atlassian.net/wiki/spaces/LIVE/pages/250351679/Proposal+Audio+Track+Selection An AudioSource which specifies a selector is an 'elementary audio source' which corresponds to exactly one elementary stream in the input.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "minItems": 1,
              "type": [
                "array",
                "null"
              ]
            },
            "captions_source": {
              "description": "Closed captions source embedding. If unspecified, defaults to ATSC_A53.",
              "enum": [
                "ATSC_A53",
                "SMPTE_2038"
              ],
              "type": "string"
            },
            "id": {
              "description": "Unique identifier for this source.",
              "type": "string"
            },
            "self": {
              "description": "Self link for the source.",
              "format": "uri-reference",
              "type": "string"
            },
            "video_source": {
              "additionalProperties": false,
              "properties": {
                "dynamic_range": {
                  "description": "The highest dynamic range the source will ever send to the transcoder.",
                  "enum": [
                    "SDR",
                    "HDR"
                  ],
                  "type": "string"
                },
                "jpeg_xs": {
                  "description": "If true, the source may be JPEG-XS. Enables allocation of additional resources required to handle the higher bitrate and decode JPEG-XS. If not enabled, JPEG-XS inputs will result in the source-loss slate.",
                  "type": "boolean"
                },
                "max_resolution": {
                  "description": "The maximum resolution the source will ever send to the transcoder.",
                  "enum": [
                    "SD",
                    "HD",
                    "FHD",
                    "TwoK",
                    "QHD",
                    "UHD"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "required": [
            "id"
          ],
          "type": "object"
        }
      },
      "required": [
        "source"
      ],
      "type": "object"
    },
    "labels": {
      "description": "Optional labels for a channel. Any included labels must be at least 1 character long, but no greater than 256 characters. The maximum number of labels is 50.",
      "items": {
        "type": "string"
      },
      "maxItems": 50,
      "type": [
        "array",
        "null"
      ]
    },
    "modified": {
      "description": "Date and time the channel was last modified.",
      "format": "date-time",
      "type": "string"
    },
    "name": {
      "description": "A friendly human-readable name for the channel. This will get displayed in user interfaces.",
      "type": "string"
    },
    "organization": {
      "minLength": 1,
      "type": "string"
    },
    "packaging": {
      "additionalProperties": false,
      "properties": {
        "packagers": {
          "additionalProperties": {
            "additionalProperties": false,
            "properties": {
              "content_protection": {
                "additionalProperties": false,
                "properties": {
                  "atlas": {
                    "additionalProperties": false,
                    "properties": {
                      "asset_id": {
                        "description": "The Asset Identifier which was taken from the token entitlement service request.",
                        "type": "string"
                      },
                      "company_id": {
                        "description": "The Identifier of the Company that this token belongs.",
                        "type": "string"
                      },
                      "drms": {
                        "description": "DRM system keys to request",
                        "items": {
                          "enum": [
                            "WIDEVINE",
                            "FAIRPLAY",
                            "PRIMETIME",
                            "PLAYREADY",
                            "W3C_COMMON_CLEAR_KEY",
                            "BULK_FILE"
                          ],
                          "type": "string"
                        },
                        "type": [
                          "array",
                          "null"
                        ],
                        "uniqueItems": true
                      },
                      "widevine_v0_pssh_box": {
                        "description": "When TRUE the KeyID is not embedded in the pssh box which sets the version to 0. Defaults to generating v1 pssh_boxes that includes the key_id",
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "bulk_file": {
                    "additionalProperties": false,
                    "properties": {
                      "iv_rotation": {
                        "description": "How often the IV should be rotated and how it should be created",
                        "enum": [
                          "RANDOM_PER_KEY",
                          "PER_SEGMENT_NUMBER",
                          "UNIQUE_PER_SEGMENT"
                        ],
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "common": {
                    "additionalProperties": false,
                    "properties": {
                      "scheme_type": {
                        "description": "Defines the scheme that can be used with Common Encryption",
                        "enum": [
                          "CENC",
                          "CBCS"
                        ],
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "cpix": {
                    "additionalProperties": false,
                    "properties": {
                      "certificates_id": {
                        "description": "Unique ID used for certificate settings, unique per distributor.",
                        "type": "string"
                      },
                      "content_id": {
                        "description": "(Optional) Content ID that identifies this channel in the CPIX service. Value is defined by the DRM system owner, and if defined will be included as part of a POST request.",
                        "type": "string"
                      },
                      "credentials_id": {
                        "description": "Unique ID used for credentials settings, unique per distributor.",
                        "type": "string"
                      },
                      "decryption_key_id": {
                        "description": "Unique ID of the decryption key to use in case the server response contains content keys encrypted. The key is unique per distirutor, and configured ahead of time by the publishing team and the CPIX service owner.",
                        "type": "string"
                      },
                      "drms": {
                        "description": "(Optional) DRM system keys to request. If not defined a GET request will be done, and any key returned will be handled. If defined, random kid(s) (key ids) will be generated on rotation for each DRM system, and a POST request will be done to create them.",
                        "items": {
                          "enum": [
                            "WIDEVINE",
                            "FAIRPLAY",
                            "PRIMETIME",
                            "PLAYREADY",
                            "W3C_COMMON_CLEAR_KEY",
                            "BULK_FILE"
                          ],
                          "type": "string"
                        },
                        "type": [
                          "array",
                          "null"
                        ],
                        "uniqueItems": true
                      },
                      "headers_id": {
                        "description": "(Optional) An identifier to a list of HTTP headers to be added to the request sent to the CPIX service.",
                        "type": "string"
                      },
                      "uri": {
                        "description": "CPIX service URI",
                        "format": "uri-reference",
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "key_rotation": {
                    "additionalProperties": false,
                    "properties": {
                      "interval_secs": {
                        "description": "Rotate keys based on the specified time interval. If Program is also provided then this time interval will only apply to media segments that are outside of program boundaries. If Program is NOT provided then only this time interval will be used to decided when to rotate keys.",
                        "format": "float",
                        "minimum": 300,
                        "type": "number"
                      },
                      "program": {
                        "description": "Rotate keys on (SCTE35) program boundaries such that no two programs will be protected with the same key.",
                        "type": "boolean"
                      },
                      "program_overlap_skip_encrypt": {
                        "description": "Do not encrypt segments that are part of more than one SCTE-35 program.",
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "sample_aes": {
                    "additionalProperties": false,
                    "type": "object"
                  },
                  "simple": {
                    "additionalProperties": false,
                    "properties": {
                      "publish_points": {
                        "description": "Pub points where keys should be published. If multiple are specified, only one needs to succeed to consider the key successfully published.",
                        "items": {
                          "additionalProperties": false,
                          "properties": {
                            "basic_auth": {
                              "additionalProperties": false,
                              "properties": {
                                "password": {
                                  "description": "Plain text password for basic auth.",
                                  "type": "string"
                                },
                                "username": {
                                  "description": "Username for basic auth.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "compression": {
                              "description": "Configures whether or not (and how) to compress manifests being published to the origin. If not specified, manifests will not be compressed.",
                              "enum": [
                                "NONE",
                                "GZIP"
                              ],
                              "type": "string"
                            },
                            "do_not_monitor": {
                              "description": "(Optional) Specifies if this pubpoint should not be monitored by PLM.",
                              "type": "boolean"
                            },
                            "headers": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Allows custom HTTP headers to be set via configuration for all HTTP requests.",
                              "type": "object"
                            },
                            "method": {
                              "description": "Method overrides what HTTP method to specify in requests to the Publish Point. If not specified the service will default to POST.",
                              "type": "string"
                            },
                            "playback_base_url": {
                              "description": "The base URL where published playlists will be able to be obtained. This is often different than the publish_base_url for CDN publishing workflows.",
                              "format": "uri-reference",
                              "type": "string"
                            },
                            "playback_query_params": {
                              "description": "Specifies any query parameters that will be added to playback urls. Should not include the initial '?' Example: 'foo=bar&q=golang'",
                              "type": "string"
                            },
                            "publish_base_url": {
                              "description": "The base URL where generated playlists will be sent/published. Each publish point requires a unique 'publish_base_url'.",
                              "format": "uri-reference",
                              "type": "string"
                            },
                            "secure_header_auth": {
                              "additionalProperties": false,
                              "properties": {
                                "arn": {
                                  "description": "arn is the AWS Secret ARN that contains the secure header list to be applied.",
                                  "type": "string"
                                },
                                "version_id": {
                                  "description": "version_id is the AWS Secret's version ID that contains the version of the secret to be applied.",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "type": [
                          "array",
                          "null"
                        ]
                      },
                      "require_publish": {
                        "description": "Indicates which publish points must succeed for segment publishing to use the keys.",
                        "enum": [
                          "ANY",
                          "ALL"
                        ],
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "mp2t": {
                "additionalProperties": false,
                "properties": {
                  "force_unmuxed_audio": {
                    "description": "Forces the Video and Audio Encodings to be unmuxed when there is one audio encodings. This setting will have to be uniformed across MP2T packagers within a config. When there are two or more audio encodings, unmuxed will be used automatically.",
                    "type": "boolean"
                  },
                  "insert_id3_utc_time": {
                    "description": "If true, insert ID3 tags that include a UTC timestamp. This is a Turner/WM-specific extension.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "mp4": {
                "additionalProperties": false,
                "properties": {
                  "caption_placement": {
                    "description": "CaptionPlacement defines where caption messages should be placed in the output MP4.",
                    "enum": [
                      "SEI_PAYLOAD",
                      "CLCP_TRACK"
                    ],
                    "type": "string"
                  },
                  "insert_pssh_box": {
                    "description": "Insert pssh boxes generated by content protection into packaged segments. Defaults to not insert pssh boxes to the packaged segments.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "ttml": {
                "additionalProperties": false,
                "type": "object"
              },
              "web_vtt": {
                "additionalProperties": false,
                "properties": {
                  "file_format": {
                    "description": "The file format used to encapsulate the WebVTT segments.",
                    "enum": [
                      "TEXT",
                      "MP4"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "description": "Defines the list of packagers available for Publications.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "publishing": {
      "additionalProperties": false,
      "properties": {
        "closed_caption_streams": {
          "description": "Configures how captioning information, which references CEA-608 captions embedded in video segments, is published.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "auto_select": {
                "description": "Indicates that the client should play the captioning media selection group if the user has not indicated a user preference. If both auto_select and default are not set, the first captioning media selection group will be used.",
                "enum": [
                  "NO",
                  "YES"
                ],
                "type": "string"
              },
              "default": {
                "description": "Configures the captioning media selection group that will be played if the user has not indicated a user preference. If both auto_select and default are not set, the first captioning media selection group will be used.",
                "enum": [
                  "NO",
                  "YES"
                ],
                "type": "string"
              },
              "language": {
                "description": "Language code as RFC 5646, e.g. 'en' 'en-US'.",
                "type": "string"
              },
              "name": {
                "description": "Source stream name.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "feature_flags": {
          "description": "Set of string identifiers corresponding to features that this Channel is opting in.",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "live2vod": {
          "additionalProperties": false,
          "properties": {
            "clear_capture": {
              "description": "BETA - (Optional) Indicates whether the system should send the unpackaged segments produced from the transcoder to the L2V system for purposes of creating mp4s and/or repackaging.",
              "type": "boolean"
            },
            "product_id": {
              "description": "Product ID that VODs will be associated with in the Live2VOD system. The value of this ID is pre-configured in the Live2VOD portal.",
              "minLength": 1,
              "type": "string"
            },
            "retention_days": {
              "description": "Specifies the retention time, in days, for archived content.",
              "format": "int32",
              "maximum": 30,
              "minimum": 1,
              "type": "integer"
            }
          },
          "type": "object"
        },
        "publications": {
          "description": "A set of individual configurations that each can configure a specific destination and mechanism of delivery for segments and/or playlists.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "audio_encoder_ids": {
                "description": "Optionally specify which audio encoders should be used for this publication. If none are specified, all audio encoders configured for the transcoder will be used.",
                "items": {
                  "type": "string"
                },
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true
              },
              "create_vods": {
                "description": "Create VODs for all publish points in this publication. Note that Live2VOD must also be configured for the parent |Channel|.",
                "type": "boolean"
              },
              "dash": {
                "additionalProperties": false,
                "properties": {
                  "minimum_update_period_secs": {
                    "description": "Sets the minimumUpdatePeriod field in MPD to be this value. If set to 0 (default), segment duration is used. The value shall not exceed the 'suggested_presentation_delay_secs'.",
                    "format": "int32",
                    "type": "integer"
                  },
                  "signaling_formats": {
                    "description": "Signaling formats specifies which SCTE-35 timeline marker formatting to use when rendering playlists.",
                    "items": {
                      "enum": [
                        "SCTE35_SPLICE_INFO_SECTION",
                        "SCTE35_BIN"
                      ],
                      "type": "string"
                    },
                    "type": [
                      "array",
                      "null"
                    ],
                    "uniqueItems": true
                  },
                  "suggested_presentation_delay_secs": {
                    "description": "The suggested amount of time (in seconds) the player should be behind the live stream. This value must be greater or equal to 'minimum_update_period_secs'.",
                    "format": "int32",
                    "minimum": 0,
                    "type": "integer"
                  },
                  "url_type": {
                    "description": "If set to 'URL_TYPE_UNDEFINED' playlist generation will use 'RELATIVE'.",
                    "enum": [
                      "RELATIVE",
                      "ABSOLUTE",
                      "HOST_RELATIVE"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "drms": {
                "description": "Optionally specify which DRMs to advertise in the playlist. If specified, this must be a subset of the DRMs specified by the packager associated with this publication. If omitted or empty, all DRMs specified by the packager will be advertised. This setting can only be used for HLS playlists.",
                "items": {
                  "enum": [
                    "WIDEVINE",
                    "FAIRPLAY",
                    "PRIMETIME",
                    "PLAYREADY",
                    "W3C_COMMON_CLEAR_KEY",
                    "BULK_FILE"
                  ],
                  "type": "string"
                },
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true
              },
              "dvr_window_secs": {
                "description": "DVR window is the max sum(duration of media segments) that will be kept in a manifest at a given time in seconds. The max supported DVR window is 10 hours.",
                "format": "int32",
                "maximum": 36000,
                "minimum": 0,
                "type": "integer"
              },
              "fer_audio_encoder_ids": {
                "description": "Optionally specify which audio encoders should be used when generating the FER of this Presentation, this overrides the 'audio_encoder_ids' used during the live portion. If none are specified, the 'audio_encoder_ids' field will be used.",
                "items": {
                  "type": "string"
                },
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true
              },
              "

# --- truncated at 32 KB (132 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/istreamplanet/refs/heads/main/json-schema/istreamplanet-put-channel-request-body-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/istreamplanet-put-channel-request-body"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.