{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/istreamplanet/main/json-schema/istreamplanet-generic-signal-schema.json", "title": "GenericSignal", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/istreamplanet-aventus-channels-openapi.yml#/components/schemas/GenericSignal", "additionalProperties": false, "properties": { "delivery_restrictions": { "$ref": "#/$defs/DeliveryRestrictions", "description": "Delivery restrictions for the resulting signaling segment" }, "duration": { "default": 0, "description": "Splice duration (ms). If no duration or a duration of 0 then the default duration for the segment type is used.", "format": "int64", "type": "integer" }, "event_id": { "description": "Identifies the active signaling segment. Use the same event_id for both START and END to reference the same segment. When signaling two STARTs with the same event_id, the second one will result in an error (ALREADY_EXISTS). Signaling a second start with a different event_id will end a previous active segment of the same type. After a segment has ended, its event_id can be reused. IDs are namespaced by segment type. E.g. it is allowed to have an active Chapter and an active Program with the same event_id. This field corresponds to SCTE-35 segmentation_event_id and splice_event_id.", "format": "int32", "minimum": 0, "type": "integer" }, "segment_type": { "description": "The signaling segment type which is going to start/end/etc. This is used to mark programs, chapters, ad insertion points, video slating, etc.", "enum": [ "splice_insert", "content_id", "program", "program_breakaway", "chapter", "break", "opening_credit", "closing_credit", "provider_placement", "distributor_placement", "provider_overlay", "distributor_overlay", "provider_ad", "distributor_ad", "unscheduled_event", "network", "slate", "timed_metadata" ], "type": "string" }, "signal_type": { "description": "Whether this signal will start/end/etc a signaling segment", "enum": [ "start", "end", "breakaway", "resumption" ], "type": "string" }, "slate_uri": { "description": "Slate url", "format": "uri", "type": "string" }, "timed_metadata_payload": { "description": "Timed metadata opaque payload data", "type": "string" }, "timed_metadata_type": { "description": "The timed metadata signal's type", "type": "string" }, "type": { "description": "Qualifier type", "enum": [ "none", "overlap", "in_progress" ], "type": "string" }, "upids": { "description": "UPIDs", "items": { "type": "string" }, "type": [ "array", "null" ] } }, "required": [ "signal_type", "segment_type", "event_id" ], "type": "object", "$defs": { "DeliveryRestrictions": { "additionalProperties": false, "properties": { "archive_allowed": { "type": "boolean" }, "device_restrictions": { "enum": [ "undefined", "none", "restrict_group0", "restrict_group1", "restrict_group2" ], "type": "string" }, "no_regional_blackout": { "type": "boolean" }, "web_delivery_allowed": { "type": "boolean" } }, "type": "object" } } }