Description

The Synamedia DAI configuration

config

Properties

Name Type Default Description
version string
“1.0.0” Define the configuration version schema
settings object(categories)
Global settings definition
     server object
Server settings
         httpResponseHeaders object
Headers to include in the HTTP responses
             global [object]
Headers to include in the HTTP global responses
                 header * string
HTTP header
                 value * string
Value of the HTTP header
         cdnReqId object
CDN request ID is used to trace all requests. If not set, CDN request ID will not be traced.
             possibleHeaders [string]
List of possible HTTP headers used by the CDNs to trace the requests. The first header found in incoming requests or response will be used as cdnReqId.
                 Header string
     traces object
         humanReadable boolean
false If true, logs will be printed in non-json format
         level string
[“error”, “warn”, “info”, “http”, “verbose”, “debug”, “silly”]
“info” Log severity level
     accessLog object(categories)
         type string
[“stdout”, “clickhouse”]
“stdout”
         manifestManipulator object
Define the rules to log the HTTP access to manifest manipulator
             enabled boolean
true If true, access log is enabled for manifest manipulator
             includeCacheHit boolean
false If true, include in the access logs requests coming from cache
             filtering object
Define any conditions to log the HTTP access
                 httpError boolean
If true, log access about HTTP errors
                 requestDuration number
If higher than 0, log access that takes longer than this duration in milliseconds
                 vastRequest boolean
If true, log access about VAST/VMAP requests
         prebidder object
Define the rules to log the HTTP access to prebidder
             enabled boolean
true If true, access log is enabled for prebidder
             includeCacheHit boolean
false If true, include in the access logs requests coming from cache
         sessionManager object
Define the rules to log the HTTP access to session manager
             enabled boolean
true If true, access log is enabled for session manager
             includeCacheHit boolean
false If true, include in the access logs requests coming from cache
             filtering object
Define any conditions to log the HTTP access
                 httpError boolean
If true, log access about HTTP errors
                 requestDuration number
If higher than 0, log access that takes longer than this duration in milliseconds
         trackingServerProxy object
Define the rules to log the HTTP access to tracking server proxy
             enabled boolean
true If true, access log is enabled for tracking server proxy
     debug object(categories)
Debug configuration which allows to dump data and replay requests via dumped data
         returnTraceParent boolean
false If true, http response returns the main request traceparent header
         userData boolean
false If true, additionnal debug log for user data will be added
         vastData boolean
false If true, additionnal debug log for vast data will be added
         manifestManipulator object
             dump object
                 enable string
[“true”, “false”, “onDemand”]
“false” If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server.
                 directory string
“/tmp/dump” Directory where dumped input requests and data will be stored.
For S3 storage, use the s3://bucket-name/path/to/directory/ format.

Available tokens:
- ${sessionIdentification}: Session identification
                 s3Access object
                     accessKeyId * string
                     secretAccessKey * string
                     region string
                 compress boolean
false If true, dump files will be compressed using gzip
                 filtering object
                     traceId string
regex to filter input requests on trace Id (ex: 1{4}$)
                     url string
regex to filter input requests on session Identification (ex: ^Device1
         prebidder object
             dump object
                 enable string
[“true”, “false”, “onDemand”]
“false” If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server.
                 directory string
“/tmp/dump” Directory where dumped input requests and data will be stored.
For S3 storage, use the s3://bucket-name/path/to/directory/ format.

Available tokens:
- ${sessionIdentification}: Session identification
                 s3Access object
                     accessKeyId * string
                     secretAccessKey * string
                     region string
                 compress boolean
false If true, dump files will be compressed using gzip
                 filtering object
                     traceId string
regex to filter input requests on trace Id (ex: 2{4}$)
                     url string
regex to filter input requests on session Identification (ex: ^Device1
         sessionManager object
             dump object
                 enable string
[“true”, “false”, “onDemand”]
“false” If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server.
                 directory string
“/tmp/dump” Directory where dumped input requests and data will be stored.
For S3 storage, use the s3://bucket-name/path/to/directory/ format.

Available tokens:
- ${sessionIdentification}: Session identification
                 s3Access object
                     accessKeyId * string
                     secretAccessKey * string
                     region string
                 compress boolean
false If true, dump files will be compressed using gzip
                 filtering object
                     traceId string
regex to filter input requests on trace Id (ex: 3{4}$)
                     url string
regex to filter input requests on session Identification (ex: ^Device1
         trackingServerProxy object
             dump object
                 enable string
[“true”, “false”, “onDemand”]
“false” If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server.
                 directory string
“/tmp/dump” Directory where dumped input requests and data will be stored.
For S3 storage, use the s3://bucket-name/path/to/directory/ format.

Available tokens:
- ${sessionIdentification}: Session identification
                 s3Access object
                     accessKeyId * string
                     secretAccessKey * string
                     region string
                 compress boolean
false If true, dump files will be compressed using gzip
                 filtering object
                     traceId string
regex to filter input requests on trace Id (ex: 4{4}$)
                     url string
regex to filter input requests on session Identification (ex: ^Device1
     graphicalUserInterface object
Graphical user interface settings which allow to customize the appearance
         name string
Name of the cluster
         primaryColor string
“#00B2BF” Primary color of the top bar
         secondaryColor string
“#006EBF” Secondary color of the top bar
     eventSignalingFormats object(categories)
Event Signaling Formats
         hls [object]
HLS Placement Signaling Formats
             HLS Event Signaling Format object(categories)
The operation is triggered if any of the trigger conditions are fullfilled
                 id * string
ID of the event signaling format
                 tags * object
Collection of tags describing the placement signaling
                     first * [object]
First tags
                         Tag object
Base Tag matching XML string as defined in RFC 8216 specification
                             name * string
Name of the tag matching XML string
                     span [object]
Span tags
                         Tag object
Base Tag matching XML string as defined in RFC 8216 specification
                             name * string
Name of the tag matching XML string
                     last [object]
Last tags
                         Tag object
Base Tag matching XML string as defined in RFC 8216 specification
                             name * string
Name of the tag matching XML string
                 variables * object
Collection of variables present in event signalings
                     id object
Event Id
can be used with token ${event.id} in VAST requests
Also used internally for generating tracking events
                         type * string
[“string”]
“string” Type of the value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“hls”]
“hls” Type of the valueDataSource
                                 tagName * string
Name of the tag carrying the value
                                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                     anonymous object(grid)
Source is the tag Value
                                         type * string
[“tagValue”]
“tagValue” Type of the value
                                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                     anonymous object(grid)
Source is an attribute of the tag
                                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                     scte35 object
SCTE35 value
Used for basic and advanced matching of splice events
Can be used with tokens ${splice.[param]} in VAST requests
                         type * string
[“scte35”]
“scte35” Type of the value
                         format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“hls”]
“hls” Type of the valueDataSource
                                 tagName * string
Name of the tag carrying the value
                                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                     anonymous object(grid)
Source is the tag Value
                                         type * string
[“tagValue”]
“tagValue” Type of the value
                                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                     anonymous object(grid)
Source is an attribute of the tag
                                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                     duration object
Duration value
Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests
                         type * string
[“time”]
“time” Type of the value
                         format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“hls”]
“hls” Type of the valueDataSource
                                 tagName * string
Name of the tag carrying the value
                                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                     anonymous object(grid)
Source is the tag Value
                                         type * string
[“tagValue”]
“tagValue” Type of the value
                                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                     anonymous object(grid)
Source is an attribute of the tag
                                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                     elapsedTime object
Elapsed Time value (used internally to track time since event started)
                         type * string
[“time”]
“time” Type of the value
                         format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“hls”]
“hls” Type of the valueDataSource
                                 tagName * string
Name of the tag carrying the value
                                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                     anonymous object(grid)
Source is the tag Value
                                         type * string
[“tagValue”]
“tagValue” Type of the value
                                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                     anonymous object(grid)
Source is an attribute of the tag
                                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                     scte224Policy object
Scte224 Policy value
                         type * string
[“string”]
“string” Type of the value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“hls”]
“hls” Type of the valueDataSource
                                 tagName * string
Name of the tag carrying the value
                                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                     anonymous object(grid)
Source is the tag Value
                                         type * string
[“tagValue”]
“tagValue” Type of the value
                                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                     anonymous object(grid)
Source is an attribute of the tag
                                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                     custom [oneOf]
Collection of customable variables that can be used in for VAST requests using token ${event.}

* : mandatory fields.

String Value

Name Type Default Description
                         anonymous object
                             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             type * string
[“string”]
“string” Type of the value
                             locations * [object]
Possible locations of the value
                                 Source of the value object(grid)
Source of the value
                                     type * string
[“hls”]
“hls” Type of the valueDataSource
                                     tagName * string
Name of the tag carrying the value
                                     location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                         anonymous object(grid)
Source is the tag Value
                                             type * string
[“tagValue”]
“tagValue” Type of the value
                                             position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                         anonymous object(grid)
Source is an attribute of the tag
                                             type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                             attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a split method
                                             type * string
[“split”]
“split” Type of the transform
                                             separator * string
Separator used to split the value
                                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Base64 decode method
                                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Key Value List method
                                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                             key * string
Key to retrieve the value
                                             listSeparator * string
“,” Separator used to split each key value pair in the list
                                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Time Value

Name Type Default Description
                         anonymous object
                             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             type * string
[“time”]
“time” Type of the value
                             format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
                             locations * [object]
Possible locations of the value
                                 Source of the value object(grid)
Source of the value
                                     type * string
[“hls”]
“hls” Type of the valueDataSource
                                     tagName * string
Name of the tag carrying the value
                                     location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                         anonymous object(grid)
Source is the tag Value
                                             type * string
[“tagValue”]
“tagValue” Type of the value
                                             position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                         anonymous object(grid)
Source is an attribute of the tag
                                             type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                             attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a split method
                                             type * string
[“split”]
“split” Type of the transform
                                             separator * string
Separator used to split the value
                                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Base64 decode method
                                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Key Value List method
                                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                             key * string
Key to retrieve the value
                                             listSeparator * string
“,” Separator used to split each key value pair in the list
                                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

SCTE35 Value

Name Type Default Description
                         anonymous object
                             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             type * string
[“scte35”]
“scte35” Type of the value
                             format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                             locations * [object]
Possible locations of the value
                                 Source of the value object(grid)
Source of the value
                                     type * string
[“hls”]
“hls” Type of the valueDataSource
                                     tagName * string
Name of the tag carrying the value
                                     location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                         anonymous object(grid)
Source is the tag Value
                                             type * string
[“tagValue”]
“tagValue” Type of the value
                                             position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                         anonymous object(grid)
Source is an attribute of the tag
                                             type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                             attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a split method
                                             type * string
[“split”]
“split” Type of the transform
                                             separator * string
Separator used to split the value
                                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Base64 decode method
                                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Key Value List method
                                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                             key * string
Key to retrieve the value
                                             listSeparator * string
“,” Separator used to split each key value pair in the list
                                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
         dash [object]
DASH Placement Signaling Formats
             Dash Event Signaling Format object(categories)
The operation is triggered if any of the trigger conditions are fullfilled
                 id * string
ID of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats.
                 schemeIdUri * string
Scheme ID URI of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats.
                 variables * object
Collection of variables present in event signalings
                     id object
Event Id
can be used with token ${event.id} in VAST requests
Also used internally for generating tracking events
                         type * string
[“string”]
“string” Type of the value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“dash”]
“dash” Type of the valueDataSource
                                 xpath * string
XPath of the Event element carrying the value
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                     scte35 object
SCTE35 value
Used for basic and advanced matching of splice events
Can be used with tokens ${splice.[param]} in VAST requests
                         type * string
[“scte35”]
“scte35” Type of the value
                         format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“dash”]
“dash” Type of the valueDataSource
                                 xpath * string
XPath of the Event element carrying the value
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                     duration object
Duration value
Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests
                         type * string
[“time”]
“time” Type of the value
                         format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”]
“seconds” Format of the time value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“dash”]
“dash” Type of the valueDataSource
                                 xpath * string
XPath of the Event element carrying the value
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                     scte224Policy object
Scte224 Policy value
                         type * string
[“string”]
“string” Type of the value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“dash”]
“dash” Type of the valueDataSource
                                 xpath * string
XPath of the Event element carrying the value
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                     custom [oneOf]
Collection of customable variables that can be used in for VAST requests using token ${event.}

* : mandatory fields.

String Value

Name Type Default Description
                         anonymous object
                             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             type * string
[“string”]
“string” Type of the value
                             locations * [object]
Possible locations of the value
                                 Source of the value object(grid)
Source of the value
                                     type * string
[“dash”]
“dash” Type of the valueDataSource
                                     xpath * string
XPath of the Event element carrying the value
                                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a split method
                                             type * string
[“split”]
“split” Type of the transform
                                             separator * string
Separator used to split the value
                                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Base64 decode method
                                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Key Value List method
                                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                             key * string
Key to retrieve the value
                                             listSeparator * string
“,” Separator used to split each key value pair in the list
                                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Time Value

Name Type Default Description
                         anonymous object
                             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             type * string
[“time”]
“time” Type of the value
                             format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”]
“seconds” Format of the time value
                             locations * [object]
Possible locations of the value
                                 Source of the value object(grid)
Source of the value
                                     type * string
[“dash”]
“dash” Type of the valueDataSource
                                     xpath * string
XPath of the Event element carrying the value
                                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a split method
                                             type * string
[“split”]
“split” Type of the transform
                                             separator * string
Separator used to split the value
                                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Base64 decode method
                                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Key Value List method
                                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                             key * string
Key to retrieve the value
                                             listSeparator * string
“,” Separator used to split each key value pair in the list
                                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

SCTE35 Value

Name Type Default Description
                         anonymous object
                             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             type * string
[“scte35”]
“scte35” Type of the value
                             format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                             locations * [object]
Possible locations of the value
                                 Source of the value object(grid)
Source of the value
                                     type * string
[“dash”]
“dash” Type of the valueDataSource
                                     xpath * string
XPath of the Event element carrying the value
                                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a split method
                                             type * string
[“split”]
“split” Type of the transform
                                             separator * string
Separator used to split the value
                                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Base64 decode method
                                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                         anonymous object
Value has to be retrieved using a Key Value List method
                                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                             key * string
Key to retrieve the value
                                             listSeparator * string
“,” Separator used to split each key value pair in the list
                                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     cache object
Cache settings
         dash object(grid-strict)
Cache settings for DASH documents
             source object
{“default_ttl”:1} Source used for splicing
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
             ad object
{“default_ttl”:1000000, “max_entry_size_mb”:100} Advertising
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
             alternate object
{“default_ttl”:1} Alternate / Blackout
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
         hlsMediaPlaylist object(grid-strict)
Cache settings for HLS media playlists
             source object
{“default_ttl”:1} Source used for splicing
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
             ad object
{“default_ttl”:1000000, “max_entry_size_mb”:100} Advertising
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
             alternate object
{“default_ttl”:1} Alternate / Blackout
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
         hlsMasterPlaylist object(grid-strict)
Cache settings for HLS master playlists
when dynamic matching is enabled.
             ad object
{“default_ttl”:1000000, “max_entry_size_mb”:100} Advertising
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
             alternate object
{“default_ttl”:1} Alternate / Blackout
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
         http object(grid-strict)
Cache settings for HTTP requests
which don’t necesitate parsing of the document and can be cached as is.
             source object
{“default_ttl”:1} Source transmitted as is
in absence of any operation
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
             adManager object
{“default_ttl”:1000000, “max_entry_size_mb”:100} AD Transcoding
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
             scte224 object
{“default_ttl”:1000000, “max_entry_size_mb”:100} SCTE-224
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
             scte250 object
{“default_ttl”:1000000, “max_entry_size_mb”:100} SCTE-250
                 default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
                 min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
                 max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
                 max_entry_size_mb integer
Maximum size for cache entries (in MB)
                 max_entry_count integer
Maximum number of element in the cache.
     advanced object(categories)
Advanced settings
         loggingRules [object]
List of logging rules to apply to the log messages
         sessionManager object
Session manager advanced settings
         accessLog object
Access log advanced settings
sessionManagers [object]
Session managers which allow to set session data according to customer rules.
     Session manager object(categories)
         id * string
         userDataKey string
The key to be used to store session data in REDIS.
         debug boolean
Return error message of the helper function.
         enableAccessLog boolean
Enable access logging for this session manager.
         accessLogLevel string
[“error”, “info”]
“info” Access log severity level
         expandQueryParameters [oneOf]
Automatically add query parameters to the request.

* : mandatory fields.

Constant

Name Type Default Description
             anonymous object
                 type * string
[“constant”]
The type of the query parameter expansion.
                 inputQueryParameter * string
Name of the received query parameter.
                 map * [object]
Additional query parameters to be added to the request according to the mapping.
                     value * string
The value which can match to the input query parameter.
                     additionalQueryParameters * string
The additional query parameters to be added. Example: ad.id=1234&ad.type=video

* : mandatory fields.

External Parameter

Name Type Default Description
             anonymous object
                 type * string
[“externalData”]
The type of the query parameter expansion.
                 inputQueryParameter * string
Name of the received query parameter.
                 property * string
The external data ressource which must contains a valid JSON with a list of value/additionalQueryParameters.
Example:
[
{
“value”: “qlv”,
“additionalQueryParameters”: “ad.id=1234&ad.type=video”
},
{
“value”: “otherValue”,
“additionalQueryParameters”: “ad.id=5678&ad.type=audio”
}
]

* : mandatory fields.

Name Type Default Description
         attributes * [oneOf]
[] Attributes are input variables used to drive decision-making within the process.
Like any other variables, they can be saved in the session and reused by session-manager and manifest-manipulator.
To access session data, the following attributes must be defined:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID (automatically generated if not provided through attributes)

To ensure complete access logging and traceability, the following variables should be stored in the session:
- TENANT_ID
- ASSET_ID
- DEVICE_TYPE
- DEVICE_ID
- DEVICE_IP
- SESSION_START_TIME
             Attribute object
Input attribute

* : mandatory fields.

String attribute

Name Type Default Description
                 anonymous object
                     name * string
                     source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                         anonymous object
                             type * string
[“queryParams”]
                             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                         anonymous object
                             type * string
[“httpHeaders”]
                             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                         anonymous object
                             type * string
[“url”]
                             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                         anonymous object
                             type * string
[“constant”]
                             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                         anonymous object
                             type * string
[“environment”]
                             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                             type * string
[“sessionData”]
                             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                         anonymous object
                             type * string
[“externalData”]
                             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
                     required boolean
                     default string
                     saveInSessionData boolean
                     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 5+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
                     type * string
[“string”]

* : mandatory fields.

Boolean attribute

Name Type Default Description
                 anonymous object
                     name * string
                     source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                         anonymous object
                             type * string
[“queryParams”]
                             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                         anonymous object
                             type * string
[“httpHeaders”]
                             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                         anonymous object
                             type * string
[“url”]
                             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                         anonymous object
                             type * string
[“constant”]
                             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                         anonymous object
                             type * string
[“environment”]
                             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                             type * string
[“sessionData”]
                             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                         anonymous object
                             type * string
[“externalData”]
                             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
                     required boolean
                     default string
                     saveInSessionData boolean
                     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 6+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
                     type * string
[“boolean”]

* : mandatory fields.

Number attribute

Name Type Default Description
                 anonymous object
                     name * string
                     source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                         anonymous object
                             type * string
[“queryParams”]
                             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                         anonymous object
                             type * string
[“httpHeaders”]
                             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                         anonymous object
                             type * string
[“url”]
                             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                         anonymous object
                             type * string
[“constant”]
                             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                         anonymous object
                             type * string
[“environment”]
                             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                             type * string
[“sessionData”]
                             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                         anonymous object
                             type * string
[“externalData”]
                             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
                     required boolean
                     default string
                     saveInSessionData boolean
                     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 7+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
                     type * string
[“number”]

* : mandatory fields.

Array attribute

Name Type Default Description
                 anonymous object
Array attribute allows to convert an input string into an array of strings, using “,” as a separator.
Can be used in condition of a decision to check if the attribute ‘contains’ a value.

Example: “value1,value2,value3” will be converted into [“value1”, “value2”, “value3”].
                     name * string
                     source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                         anonymous object
                             type * string
[“queryParams”]
                             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                         anonymous object
                             type * string
[“httpHeaders”]
                             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                         anonymous object
                             type * string
[“url”]
                             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                         anonymous object
                             type * string
[“constant”]
                             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                         anonymous object
                             type * string
[“environment”]
                             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                             type * string
[“sessionData”]
                             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                         anonymous object
                             type * string
[“externalData”]
                             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
                     required boolean
                     default string
                     saveInSessionData boolean
                     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 8+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
                     type * string
[“array”]
                     separator string
The separator to use to split the input string into an array. Defaults to “,”.

* : mandatory fields.

Range attribute

Name Type Default Description
                 anonymous object
Range attribute allows to create a couple of attributes min and max from an input value based on the “-” separator.

Example: with an input value “10-20” and attribute name is “myAttribute”, the 2 created attributes will be :
- “myAttribute.min” with value “10”
- “myAttribute.max” with value “20”
                     name * string
                     source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                         anonymous object
                             type * string
[“queryParams”]
                             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                         anonymous object
                             type * string
[“httpHeaders”]
                             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                         anonymous object
                             type * string
[“url”]
                             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                         anonymous object
                             type * string
[“constant”]
                             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                         anonymous object
                             type * string
[“environment”]
                             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                             type * string
[“sessionData”]
                             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                         anonymous object
                             type * string
[“externalData”]
                             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
                     required boolean
                     default string
                     saveInSessionData boolean
                     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 9+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
                     type * string
[“range”]

* : mandatory fields.

Mapping attribute

Name Type Default Description
                 anonymous object
Mapping attribute allows to map an input value to a decision value based on a defined mapping, the first matching will be applied. By default, exact matching is used, but can be changed via the “operator” property.
A default value can also be defined if no mapping matches via the “defaultMappingResult” property.

Example:
With map [{source: “HD”, destination: “high”}, {source: “SD”, destination: “standard”}], operator “equals” and an input value “HD”, the attribute will have the value “high”.
With the same map and operator “startsWith”, an input value “HD-1234” will also be mapped to “high”.
                     name * string
                     source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                         anonymous object
                             type * string
[“queryParams”]
                             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                         anonymous object
                             type * string
[“httpHeaders”]
                             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                         anonymous object
                             type * string
[“url”]
                             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                         anonymous object
                             type * string
[“constant”]
                             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                         anonymous object
                             type * string
[“environment”]
                             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                             type * string
[“sessionData”]
                             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                         anonymous object
                             type * string
[“externalData”]
                             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
                     required boolean
                     default string
                     saveInSessionData boolean
                     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 10+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
                     type * string
[“mapping”]
                     operator string
[“equals”, “startsWith”, “endsWith”, “contains”]
The operator to use for the mapping. Defaults to “equals”.
                     map * [object]
Mapping of the attribute value to the decision value, the first matching will be applied.
By default, exact matching is used, can be changed via the “operator” property.
                         source * string
The attribute value to be mapped.
                         destination * string
The decision value to be mapped to.
                     defaultMappingResult string
The default value if no mapping matches.

* : mandatory fields.

JSON field attribute

Name Type Default Description
                 anonymous object
JSON field attribute allows to extract a value from a JSON input, using the “field” property as the path to the value to be extracted.

Example: with field “supported_tracks.key_id” and an input parameter ‘{“key_id”:“value_to_extract,”an_other_key”:“another_value”}’, the attribute will have the value “value_to_extract”.
                     name * string
                     source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                         anonymous object
                             type * string
[“queryParams”]
                             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                         anonymous object
                             type * string
[“httpHeaders”]
                             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                         anonymous object
                             type * string
[“url”]
                             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                         anonymous object
                             type * string
[“constant”]
                             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                         anonymous object
                             type * string
[“environment”]
                             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                             type * string
[“sessionData”]
                             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                         anonymous object
                             type * string
[“externalData”]
                             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
                     required boolean
                     default string
                     saveInSessionData boolean
                     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 11+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
                     type * string
[“jsonField”]
                     field * string
The field to be extracted from the JSON query parameter.

* : mandatory fields.

Key/Value attribute

Name Type Default Description
                 anonymous object
Key/Value attribute allows creating variables from an input string of key-value pairs.

Example: “key1=value1,key2=value2” will be converted into variables “key1”=“value1” and “key2”=“value2”.
                     name * string
                     source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                         anonymous object
                             type * string
[“queryParams”]
                             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                         anonymous object
                             type * string
[“httpHeaders”]
                             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                         anonymous object
                             type * string
[“url”]
                             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                         anonymous object
                             type * string
[“constant”]
                             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                         anonymous object
                             type * string
[“environment”]
                             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                             type * string
[“sessionData”]
                             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                         anonymous object
                             type * string
[“externalData”]
                             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
                     required boolean
                     default string
                     saveInSessionData boolean
                     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 12+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
                     type * string
[“keyValue”]
                     listSeparator * string
“;” The separator to use to split the input string into items. Variable tokens “${}” are supported. Defaults to “;”.
                     keyValueSeparator * string
“=” The separator to use to split the key and value in each item. Variable tokens “${}” are supported. Defaults to “=”.
                     prefix string
An optional prefix to add to the variable names created from the keys.
For example, with prefix “myPrefix”, “key1=value1,key2=value2” will create variables “myPrefix.key1”=“value1” and “myPrefix.key2”=“value2”.
                     defaultValue string
Allows a default value to be used if no value is defined for a key.
         decisions * [object]
             conditions * any
Define a list of conditions to be met to trigger the event.

* : mandatory fields.

All

Name Type Default Description
                 anonymous object
Define a list of conditions that must all be met to trigger the event.
                     all * [oneOf]

* : mandatory fields.

Condition

Name Type Default Description
                         anonymous object(grid)
Define a condition to be met to trigger the event.
                             fact * string
The attribute to be checked.
                             operator * string
[“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”]
The operator to be used to compare the attribute value.
                             value * string,number
The value to be compared to the attribute value.

* : mandatory fields.

Any

Name Type Default Description
                         anonymous object
Define a list of conditions where at least one must be met to trigger the event.
                             any * [oneOf]
                                 Condition object(grid)
Define a condition to be met to trigger the event.
                                     fact * string
The attribute to be checked.
                                     operator * string
[“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”]
The operator to be used to compare the attribute value.
                                     value * string,number
The value to be compared to the attribute value.

* : mandatory fields.

Any

Name Type Default Description
                 anonymous object
Define a list of conditions where at least one must be met to trigger the event.
                     any * [oneOf]
                         Condition object(grid)
Define a condition to be met to trigger the event.
                             fact * string
The attribute to be checked.
                             operator * string
[“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”]
The operator to be used to compare the attribute value.
                             value * string,number
The value to be compared to the attribute value.

* : mandatory fields.

Name Type Default Description
             event * object
                 type * string
[“define”]
                 params * [object]
                     name * string
The parameter name to be passed to the event.
                     value * string,number,boolean
The parameter value to be passed to the event.
                     saveInSessionData boolean
false
         response * any

* : mandatory fields.

Document response

Name Type Default Description
             anonymous object(categories)
                 type * string
[“document”]
                 contentType * string
[“application/json”, “text/plain”]
                 statusCode string
“200” Status code
                 httpResponseHeaders [object]
HTTP headers to be added to responses
                     header * string
Http header
                     value * string
Value of the http header
                 updateSessionData object
                     behavior * string
[“keep”, “update”, “replace”, “none”]
                     dynamicBehavior string
Dynamical behavior can be based on variable. It will override the behavior property when it is set.
                     sessionExpiration string
“14400” Duration in seconds after which the session data will expire.
                     queryParameters object
                         enabled * boolean
false
                         filters [string]
Supported filters are blog patterns.

examples:
- “var.*” : All query parameters whose names start with “var.”
- “**/!(var.unexpected)” : All query parameters, except for “var.unexpected”
                     httpHeaders object
                         enabled * boolean
false
                         filters [string]
Supported filters are blog patterns.

examples:
- “var.*” : All HTTP headers whose names start with “var.”
- “**/!(var.unexpected)” : All HTTP headers, except for “var.unexpected”
                 document * string(javascript)
The document to be sent to the player.

* : mandatory fields.

Redirect response

Name Type Default Description
             anonymous object(categories)
                 type * string
[“redirect”]
                 statusCode * string
“307” Status code
                 httpResponseHeaders [object]
HTTP headers to be added to responses
                     header * string
Http header
                     value * string
Value of the http header
                 updateSessionData object
                     behavior * string
[“keep”, “update”, “replace”, “none”]
                     dynamicBehavior string
Dynamical behavior can be based on variable. It will override the behavior property when it is set.
                     sessionExpiration string
“14400” Duration in seconds after which the session data will expire.
                     queryParameters object
                         enabled * boolean
false
                         filters [string]
Supported filters are blog patterns.

examples:
- “var.*” : All query parameters whose names start with “var.”
- “**/!(var.unexpected)” : All query parameters, except for “var.unexpected”
                     httpHeaders object
                         enabled * boolean
false
                         filters [string]
Supported filters are blog patterns.

examples:
- “var.*” : All HTTP headers whose names start with “var.”
- “**/!(var.unexpected)” : All HTTP headers, except for “var.unexpected”
                 url * string
The redirect URL to be sent to the player.

* : mandatory fields.

Name Type Default Description
decisionServers object
     vmapServers [object]
List of ADS VMAP servers
         VMAP server object(categories)
             id * string
             endpointUrl * string
ADS url without any query parameter
             followAdditionalWrappers integer
5 Define how many subsequent Wrappers after a requested VAST response are allowed
             request object
                 queryParameters [object]
[] ADS request query parameters.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${manifest.durationS}: VOD asset duration in seconds (integer)
- ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision)

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source

Example:
- ${requestQueryParameter.sessionId}${requestUrl.manifestName}
- @roundToMultiple:${timestampS};15@
- name=@slice:${sourceName};3@ and value=@match:sessionData;startsWith;ad.;${sourceValue}@
                     name * string
                     value * string
                     separator string
“&”
                     encode boolean
true
                 httpHeaders [object]
[] ADS request HTTP headers.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${manifest.durationS}: VOD asset duration in seconds (integer)
- ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision)

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source

Example:
- ${sessionData.sessionId}
- ${requestHttpHeader.x-forwarded-host}
                     header * string
                     value * string
             connection object
{}
                 directCall object
{}
                     timeout integer
5000 Timeout while fetching decision server at the time of the ad break (in milliseconds)
                     retryCount integer
0 Retry count while fetching decision server at the time of the ad break (in milliseconds)
                 prefetchCall object
{}
                     timeout integer
5000 Timeout while prefetching decision server before the time of the ad break (in milliseconds)
                     retryCount integer
0 Retry count while prefetching decision server before the time of the ad break (in milliseconds)
             missingAdsTranscoding object
If present, trigger the ad transcoding to make it available later on
                 type * string
[“internal”]
                 assetPathDestination * string
“${adId}” Templatable path to define where to store the ads transcoding result.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Example: ${adId}/${profileId}
                 waitForTranscodingResponse boolean
true Wait for a response from the ads transcoding service before continuing processing.
                 profileIds [string]
[] No selection means all profiles will be used
     vastServers [object]
List of ADS VAST servers
         VAST server object(categories)
             id * string
             endpointUrl * string
ADS url without any query parameter
             followAdditionalWrappers integer
5 Define how many subsequent Wrappers after a requested VAST response are allowed
             midRollRequest object
                 queryParameters [object]
[] ADS request query parameters.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${splice.id}: splice identifier
- ${splice(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the splice in different formats
- ${event.[param]}: value of parameter [param] from custom event
- ${event(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the event in different formats
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${assetIdentifier.value}: Asset Identifier value from the break period
- ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the break period

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source
- @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto
                     name * string
                     value * string
                     separator string
“&”
                     encode boolean
true
                 httpHeaders [object]
[] ADS request HTTP headers.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${splice.id}: splice identifier
- ${splice(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the splice in different formats
- ${event.[param]}: value of parameter [param] from custom event
- ${event(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the event in different formats
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${assetIdentifier.value}: Asset Identifier value from the break period
- ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the break period

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source
- @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto
                     header * string
                     value * string
             preRollRequest object
                 queryParameters [object]
[] ADS request query parameters.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}

Example: ${requestQueryParameter.prerollDuration}
                     name * string
                     value * string
                     separator string
“&”
                     encode boolean
true
                 httpHeaders [object]
[] ADS request HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}

Example: ${requestQueryParameter.prerollDuration}
                     header * string
                     value * string
             postRollRequest object
                 queryParameters [object]
[] ADS request query parameters.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}

Example: ${requestQueryParameter.postrollDuration})
                     name * string
                     value * string
                     separator string
“&”
                     encode boolean
true
                 httpHeaders [object]
[] ADS request HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}

Example: ${requestQueryParameter.postrollDuration})
                     header * string
                     value * string
             connection object
{}
                 directCall object
{}
                     timeout integer
1000 Timeout while fetching decision server at the time of the ad break (in milliseconds)
                     retryCount integer
0 Retry count while fetching decision server at the time of the ad break (in milliseconds)
                 prefetchCall object
{}
                     timeout integer
2000 Timeout while prefetching decision server before the time of the ad break (in milliseconds)
                     retryCount integer
0 Retry count while prefetching decision server before the time of the ad break (in milliseconds)
             missingAdsTranscoding object
If present, trigger the ad transcoding to make it available later on
                 type * string
[“internal”]
                 assetPathDestination * string
“${adId}” Templatable path to define where to store the ads transcoding result.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Example: ${adId}/${profileId}
                 waitForTranscodingResponse boolean
true Wait for a response from the ads transcoding service before continuing processing.
                 profileIds [string]
[] No selection means all profiles will be used
     scte224Servers [object]
List of LRM SCTE-224 servers
         SCTE-224 server object
             id * string
             endpointUrl * string
SCTE-224 server endpoint url
             mediaName string
“${assetPath}” Media name templatable. Usable token is ${assetPath}
             audienceMapping [object]
[] Mapping between input request parameter and audience characteristics
                 audienceName * string
Audience characteristics name. (audience:Zip, audience:Network …)
                 source * string
[“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                 value * string
     scte250Servers [object]
List of LRM SCTE-250 servers
         SCTE-250 server object(categories)
             id * string
             endpointUrl * string
SCTE-250 server endpoint url, without any query parameter
             request object
                 queryParameters [object]
[] Signal Decision System request query parameters.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${event.id}: event identifier
- ${event.[param]}: value of parameter [param] from custom event
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${assetIdentifier.value}: Asset Identifier value from the segment period
- ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the segment period

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source
- @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto
                     name * string
                     value * string
                     separator string
“&”
                     encode boolean
true
                 httpHeaders [object]
[] Signal Decision System request HTTP headers.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${event.id}: event identifier
- ${event.[param]}: value of parameter [param] from custom event
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${assetIdentifier.value}: Asset Identifier value from the segment period
- ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the segment period

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source
- @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto
                     header * string
                     value * string
             connection object
{} Connection settings for fetching decision server
                 timeout integer
5000 Timeout while fetching decision server (in milliseconds)
                 retryCount integer
0 Retry count while fetching decision server (in milliseconds)
processings object
     hls [object]
Set of processings done on HLS playlist requests
         HLS playlist processing object(categories)
Processing done on HLS playlist input request
             id * string
Processing Id used in the input URL
             sessionManagement object
{} Define management of session.
                 accessPolicy any
{“type”:“auto”} Defines how access of session data from the remote cache is managed (auto or manual).

* : mandatory fields.

Automatic (session data access is managed by the system)

Name Type Default Description
                     anonymous object
                         type * string
[“auto”]

* : mandatory fields.

Manual (session data access can be managed finely by the user)

Name Type Default Description
                     anonymous object(grid)
                         type * string
[“manual”]
                         read * boolean
Allow read access
                         write * boolean
Allow write access
                         ttl * boolean
Update TTL

* : mandatory fields.

Name Type Default Description
                 identification [object]
[{“source”:“inputRequestQuery”, “value”:“sessionId”}] Define how to identify a user session or a group of users session from an input request
                     source * string
[“inputUrl”, “inputRequestQuery”, “inputHttpHeader”]
                     value * string
                 expiration integer
Define the session data expiration in seconds. If not set, the default expiration will be applied.
             tenantId string
Tenant Id. Prefix used in the input URL
             source * any
Define how to get the reference playlist

* : mandatory fields.

Fetch the playlist from an origin server

Name Type Default Description
                 anonymous object
                     type * string
[“hlsPlaylistFetch”]
                     sourceBaseUrl * string
URL template to reach the origin server.
Playlist filename is extracted from incoming URL.

Available token:
- ${assetPath}: path to the asset from the incoming request URL.
                     distributionUrl string
URL template to reach the origin server. Token is ${assetPath}
                     queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                         rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                         exceptions [string]
[] List of query parameter names that are exceptions to the rule
                             Query Parameter string
                     httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                         HTTP Headers string
                     connection object
{} HTTP connection settings
                         timeout integer
5000 Timeout while fetching source (in milliseconds)
                         retryCount integer
0 Retry count while fetching source (in milliseconds)
                     defaultProfileId string
Default encoding profile identifier used when fetching ad playlists.
This value is used if the encoding profile identifier is not present in the source playlist.

Related tokens:
- ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination
                     customEventSignaling string
Use custom event placement signaling for this source.
Must match a event placement signaling defined in the settings

* : mandatory fields.

Generate a interstitial from a ADS response

Name Type Default Description
                 anonymous object
                     type * string
[“hlsAdInterstitial”]
                     decisionServerId * string
VAST decision server
                     adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
                     adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                         rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                         exceptions [string]
[] List of query parameter names that are exceptions to the rule
                             Query Parameter string
                     adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                         HTTP Headers string
                     adsConnection object
{} HTTP connection settings
                         timeout integer
5000 Timeout while fetching source (in milliseconds)
                         retryCount integer
0 Retry count while fetching source (in milliseconds)
                     paddingAssetUrl string
Url of the asset used to pad to minimize discontinuity
                     minPaddingDuration integer
100 Define the min duration of a padding segment ms

* : mandatory fields.

Name Type Default Description
             output object
{} Customize the output
                 stringReplacements [object]
[]
                     pattern * string
pattern to replace in the output
                     source * string
[“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”]
source replacement
                     name * string
name of property used for replacement
             authorization object
The request is authorized if the request fullfills all conditions
                 rejectionErrorCode integer
401 The HTTP error code to return if the request is not authorized
                 rejectionErrorMessage string
“Unauthorized” The error message to return if the request is not authorized
                 authorizations [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             masterPlaylist object
{} Define master playlist behavior
                 naming object
{} Define master playlist naming prefix and suffix
                     prefix string
“” Prefix added to the master playlist name
                     suffix string
“” Suffix added to the master playlist name (before extension)
             mediaPlaylist object
{} Define media playlist behavior
                 naming object
{} Define media playlist naming prefix and suffix
                     prefix string
“” Prefix added to media playlist names
                     suffix string
“” Suffix added to media playlist names (before extension)
                 masterQueryParameterForward object
Define which query parameters from the input request are forwarded to media playlist URIs in the master playlist
                     rule * string
[“all”, “none”]
“all” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                     exceptions [string]
[] List of query parameter names that are exceptions to the rule
                         Query Parameter string
             operations * [oneOf]
[] List of operations
                 Operation any
transformation applied to a hls playlist

* : mandatory fields.

Ad Insertion

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“hlsAdInsertion”]
                         name string
“Ad Insertion”
                         decisionServerId * string
VMAP decision server Id
                         adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
                         adsDistributionUrl string
URL template to reach an ads server.

Available tokens from VMAP response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID
                         adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                 Query Parameter string
                         adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                             HTTP Headers string
                         adsConnection object
{} HTTP connection settings
                             timeout integer
5000 Timeout while fetching source (in milliseconds)
                             retryCount integer
0 Retry count while fetching source (in milliseconds)
                         insertionLocation string
[“nearestSegment”, “nearestPeriod”]
“nearestSegment” Ad insertion location
                         tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
                             anonymous object
                                 type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
                             anonymous object
                                 type * string
[“serverSide”]
                                 trackingServerEndpoint * string
                                 trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                                     header * string
                                     value * string
                                 trackingMacros object
Tracking macros management
                                     enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                                     filtering [string]
Define the macros to be forwarded
                                         Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
                             anonymous object
                                 type * string
[“clientSideProxing”]
                                 trackingServerEndpoint * string
                                 trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                                     header * string
                                     value * string
                                 trackingMacros object
Tracking macros management
                                     enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                                     filtering [string]
Define the macros to be forwarded
                                         Macro name string

* : mandatory fields.

Name Type Default Description
                         adSignalingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad signaling is formatted by the manifest manipulator
                             EXT-X-DATERANGE tag object
                                 type * string
[“dateRangeTag”]
Format type
                                 clientAttributes * [object]
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] List of client attributes to insert
                                     name * string
Name of the client attribute
                                     value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
                         breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
                             breakStart [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the start of a break
                                 EXT-X-DATERANGE tag object
                                     type * string
[“dateRangeTag”]
Format type
                                     clientAttributes * [object]
[] List of client attributes to insert
                                         name * string
Name of the client attribute
                                         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
                             breakEnd [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the end of a break
                                 EXT-X-DATERANGE tag object
                                     type * string
[“dateRangeTag”]
Format type
                                     clientAttributes * [object]
[] List of client attributes to insert
                                         name * string
Name of the client attribute
                                         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
                         adTrackingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad tracking is formatted by the manifest manipulator
                             EXT-X-DATERANGE tag object
                                 type * string
[“dateRangeTag”]
Format type
                                 clientAttributes * [object]
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] List of client attributes to insert
                                     name * string
Name of the client attribute
                                     value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}.
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
                         playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
                             anonymous object
Playlist name mapping between the source and ad playlists.
If source playlist name is not in the array, source playlist name is used for ad playlists fetching
                                 type * string
[“staticMapping”]
                                 mappings * [object]
                                     sourceName * string
                                     adsName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
                             anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
                                 type * string
[“dynamicMapping”]
                                 videoOnly object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 audioOnly object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“audioCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“channels”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 audioVideo object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“audioCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“channels”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 iFrame object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 subtitles object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 image object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Ad Replacement

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“hlsAdReplacement”]
                         name string
“Ad Replacement”
                         decisionServerId * string
VAST decision server Id
                         adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
                         adsDistributionUrl string
URL template to reach an ads server.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID
                         adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                 Query Parameter string
                         adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                             HTTP Headers string
                         adsConnection object
{} HTTP connection settings
                             timeout integer
5000 Timeout while fetching source (in milliseconds)
                             retryCount integer
0 Retry count while fetching source (in milliseconds)
                         staticAssetBehavior object
                             midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
                                 anonymous object
                                     type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
                                 anonymous object
                                     type * string
[“keepOriginalAdBreak”]
                                     maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                                     maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                                     maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                                     paddingDistribution object
                                         breakStart boolean
false Enable padding at start of break.
                                         betweenAds boolean
false Enable padding between ads of break.
                                         breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
                             enablePreRoll boolean
false Enable pre-roll ad insertion
                             enablePostRoll boolean
false Enable post-roll ad insertion
                         dynamicAssetBehavior object
                             midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
                                 anonymous object
                                     type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
                                 anonymous object
                                     type * string
[“keepOriginalAdBreak”]
                                     maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                                     maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                                     maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                                     paddingDistribution object
                                         breakStart boolean
false Enable padding at start of break.
                                         betweenAds boolean
false Enable padding between ads of break.
                                         breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
                             adReplacementWindow integer
Define the edge time window in seconds during which ad replacement will be done.
                         prebidding string
[“disabled”, “enabled”, “required”]
“disabled” Prebidding configuration
                         tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
                             anonymous object
                                 type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
                             anonymous object
                                 type * string
[“serverSide”]
                                 trackingServerEndpoint * string
                                 trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                                     header * string
                                     value * string
                                 trackingMacros object
Tracking macros management
                                     enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                                     filtering [string]
Define the macros to be forwarded
                                         Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
                             anonymous object
                                 type * string
[“clientSideProxing”]
                                 trackingServerEndpoint * string
                                 trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                                     header * string
                                     value * string
                                 trackingMacros object
Tracking macros management
                                     enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                                     filtering [string]
Define the macros to be forwarded
                                         Macro name string

* : mandatory fields.

Name Type Default Description
                         adSignalingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad signaling is formatted by the manifest manipulator
                             EXT-X-DATERANGE tag object
                                 type * string
[“dateRangeTag”]
Format type
                                 clientAttributes * [object]
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] List of client attributes to insert
                                     name * string
Name of the client attribute
                                     value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
                         breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
                             breakStart [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the start of a break
                                 EXT-X-DATERANGE tag object
                                     type * string
[“dateRangeTag”]
Format type
                                     clientAttributes * [object]
[] List of client attributes to insert
                                         name * string
Name of the client attribute
                                         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
                             breakEnd [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the end of a break
                                 EXT-X-DATERANGE tag object
                                     type * string
[“dateRangeTag”]
Format type
                                     clientAttributes * [object]
[] List of client attributes to insert
                                         name * string
Name of the client attribute
                                         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
                         adTrackingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad tracking is formatted by the manifest manipulator
                             EXT-X-DATERANGE tag object
                                 type * string
[“dateRangeTag”]
Format type
                                 clientAttributes * [object]
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] List of client attributes to insert
                                     name * string
Name of the client attribute
                                     value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}.
                         paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                             baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                                 Base URL string
                             distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                             queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                     Query Parameter string
                             httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                                 HTTP Headers string
                             connection object
{} HTTP connection settings
                                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                                 retryCount integer
0 Retry count while fetching source (in milliseconds)
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
                         playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
                             anonymous object
Playlist name mapping between the source and ad playlists.
If source playlist name is not in the array, source playlist name is used for ad playlists fetching
                                 type * string
[“staticMapping”]
                                 mappings * [object]
                                     sourceName * string
                                     adsName * string
                                     paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
                             anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
                                 type * string
[“dynamicMapping”]
                                 videoOnly object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 audioOnly object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“audioCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“channels”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 audioVideo object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“audioCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“channels”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 iFrame object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 subtitles object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 image object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                         eventIdentification object
Select splice fields required to uniquely identify an event
                             spliceEventId boolean
true SpliceInsert EventId or TimeSignal SegmentationEventId
                             spliceTime boolean
false Splice Time PTS

* : mandatory fields.

Trimming

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“hlsTrimming”]
                         name string
“Trimming”
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Alternate Live Content

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“hlsAlternateContent”]
                         name string
“Alternate Content”
                         decisionServerId string
SCTE-224 or SCTE-250 decision server
                         alternateSourceUrl * string
“${action:Content}” Templatable value to access the alternate content master playlist.
The master playlist must contain all available media playlists.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
                         alternateDistributionUrl string
URL template to reach the origin server.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
                         alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                 Query Parameter string
                         alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                             HTTP Headers string
                         alternateConnection object
{} HTTP connection settings
                             timeout integer
5000 Timeout while fetching source (in milliseconds)
                             retryCount integer
0 Retry count while fetching source (in milliseconds)
                         behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
                         paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                             baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                                 Base URL string
                             distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                             queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                     Query Parameter string
                             httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                                 HTTP Headers string
                             connection object
{} HTTP connection settings
                                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                                 retryCount integer
0 Retry count while fetching source (in milliseconds)
                         maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
                         maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
                         minAlternateDelay integer
12000 Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation.
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
                         playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
                             anonymous object
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching
                                 type * string
[“staticMapping”]
                                 mappings * [object]
                                     sourceName * string
                                     alternateName * string
                                     paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
                             anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
                                 type * string
[“dynamicMapping”]
                                 videoOnly object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 audioOnly object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“audioCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“channels”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 audioVideo object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“audioCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“channels”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 iFrame object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 subtitles object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 image object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Blackout VOD Content

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“hlsBlackout”]
                         name string
“Blackout”
                         decisionServerId string
SCTE-224 or SCTE-250 decision server
                         alternateSourceUrl * string
“${action:Content}” Templatable value to access the Blackout master playlist.
The Blackout master playlist must contain all available VOD media playlists.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
                         alternateDistributionUrl string
URL template to reach the origin server.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
                         alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                 Query Parameter string
                         alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                             HTTP Headers string
                         alternateConnection object
{} HTTP connection settings
                             timeout integer
5000 Timeout while fetching source (in milliseconds)
                             retryCount integer
0 Retry count while fetching source (in milliseconds)
                         behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
                         paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                             baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                                 Base URL string
                             distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                             queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                     Query Parameter string
                             httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                                 HTTP Headers string
                             connection object
{} HTTP connection settings
                                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                                 retryCount integer
0 Retry count while fetching source (in milliseconds)
                         maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
                         maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
                         playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
                             anonymous object
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching
                                 type * string
[“staticMapping”]
                                 mappings * [object]
                                     sourceName * string
                                     alternateName * string
                                     paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
                             anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
                                 type * string
[“dynamicMapping”]
                                 videoOnly object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 audioOnly object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“audioCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“channels”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 audioVideo object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“audioCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“channels”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 iFrame object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 subtitles object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“language”]
                                                 tolerance string
[“exactMatching”, “alternateLanguage”]
                                                 alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“groupId”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                                 image object
                                     rules * [oneOf]
[]
                                         Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“videoCodec”]
                                                 tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“bandwidth”, “averageBandwidth”]
                                                 toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“frameRate”]
                                                 toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                                 toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                             anonymous object(grid-strict)
                                                 type * string
[“width”, “height”]
                                                 tolerance * string
[“exactMatching”]

* : mandatory fields.

Timeline Info

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“hlsTimelineInfo”]
                         name string
“Timeline Info”
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string

* : mandatory fields.

Name Type Default Description
             httpResponseHeaders [object]
[{“header”:“Content-Type”, “value”:“application/vnd.apple.mpegurl”, “enableMaster”:true, “enableMedia”:true}, {“header”:“Access-Control-Allow-Origin”, “value”:“*“,”enableMaster”:true, “enableMedia”:true}] HTTP headers to be added to responses
                 header * string
Http header
                 value * string
Value of the http header
                 enableMaster * boolean
true Apply this header to master playlists
                 enableMedia * boolean
true Apply this header to media playlists
     dash [object]
Set of processings done on DASH manifest requests
         DASH manifest processing object(categories)
Processing done on a DASH manifest input request
             id * string
Processing Id
             sessionManagement object
{} Define management of session.
                 accessPolicy any
{“type”:“auto”} Defines how access of session data from the remote cache is managed (auto or manual).

* : mandatory fields.

Automatic (session data access is managed by the system)

Name Type Default Description
                     anonymous object
                         type * string
[“auto”]

* : mandatory fields.

Manual (session data access can be managed finely by the user)

Name Type Default Description
                     anonymous object(grid)
                         type * string
[“manual”]
                         read * boolean
Allow read access
                         write * boolean
Allow write access
                         ttl * boolean
Update TTL

* : mandatory fields.

Name Type Default Description
                 identification [object]
[{“source”:“inputRequestQuery”, “value”:“sessionId”}] Define how to identify a user session or a group of users session from an input request
                     source * string
[“inputUrl”, “inputRequestQuery”, “inputHttpHeader”]
                     value * string
                 expiration integer
Define the session data expiration in seconds. If not set, the default expiration will be applied.
             tenantId string
Tenant Id
             source * any
Define how to get the reference manifest

* : mandatory fields.

Fetch the manifest from an origin server

Name Type Default Description
                 anonymous object
                     type * string
[“dashManifestFetch”]
                     sourceBaseUrl * string
URL template to reach the origin server.
Manifest filename is extracted from incoming URL.

Available token:
- ${assetPath}: path to the asset from the incoming request URL.
                     distributionUrls [string]
URL template to reach a list of origin servers. Token is ${assetPath}
                         Distribution URLs string
                     queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                         rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                         exceptions [string]
[] List of query parameter names that are exceptions to the rule
                             Query Parameter string
                     httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                         HTTP Headers string
                     connection object
{} HTTP connection settings
                         timeout integer
5000 Timeout while fetching source (in milliseconds)
                         retryCount integer
0 Retry count while fetching source (in milliseconds)
                     defaultProfileId string
Default encoding profile identifier used when fetching ad manifests.
This value is used if the encoding profile identifier is not present in the source manifest.

Available token:
- ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination
                     customEventSignaling [string]
Use custom event placements signaling for this source.
Must match an event placement signaling Id defined in the settings.
Selecting an Id will result in the use of the corresponding event(s) signaling format for this source

* : mandatory fields.

Name Type Default Description
                 anonymous object
                     type * string
[“dashAdsXlinkResolution”]
                     decisionServerId * string
VAST decision server
                     queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                         rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                         exceptions [string]
[] List of query parameter names that are exceptions to the rule
                             Query Parameter string
                     httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                         HTTP Headers string
                     paddingAssetUrl string
Url of the asset used to pad to minimize discontinuity
                     minPaddingDuration integer
100 define the min duration of a padding segment ms

* : mandatory fields.

Name Type Default Description
             output object
{} Customize the output
                 manifestNaming object
                     prefix string
define manifest name prefix.
                     suffix string
define manifest name suffix.
                 stringReplacements [object]
[]
                     pattern * string
pattern to replace in the output
                     source * string
[“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”]
source replacement
                     name * string
name of property used for replacement
                 format any
[“none”, “linearize”, “indent”, “indentAttributes”]
“none” Format the manifest output (this may impact performance)
                 removeExistingTimelineForIndex boolean
false Remove existing for based on $Number$ index
                 usePeriodStartTimeAsId boolean
false Set each period’s ID attribute to match its start time value.
The period ID is derived from the start attribute by removing the ISO 8601 duration format prefix (PT) and suffix (S).
For example, a period with start=“PT12.5S” will have its id set to “12.5”
             authorization object
The request is authorized if the request fullfills all conditions
                 rejectionErrorCode integer
401 The HTTP error code to return if the request is not authorized
                 rejectionErrorMessage string
“Unauthorized” The error message to return if the request is not authorized
                 authorizations [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             operations * [oneOf]
[] List of operations
                 Operation any
Transformation applied to a dash manifest

* : mandatory fields.

Ad Insertion

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“dashAdInsertion”]
                         name string
“Ad Insertion”
                         decisionServerId * string
VMAP decision server Id
                         adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
                         adsDistributionUrls [string]
URL template to reach a list of ads servers.

Available tokens from VMAP response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag
                             Distribution URLs string
                         adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                 Query Parameter string
                         adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                             HTTP Headers string
                         adsConnection object
{} HTTP connection settings
                             timeout integer
5000 Timeout while fetching source (in milliseconds)
                             retryCount integer
0 Retry count while fetching source (in milliseconds)
                         insertionLocation string
[“nearestSegment”, “nearestPeriod”]
“nearestSegment” Ad insertion location
                         tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
                             anonymous object
                                 type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
                             anonymous object
                                 type * string
[“serverSide”]
                                 trackingServerEndpoint * string
                                 trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                                     header * string
                                     value * string
                                 trackingMacros object
Tracking macros management
                                     enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                                     filtering [string]
Define the macros to be forwarded
                                         Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
                             anonymous object
                                 type * string
[“clientSideProxing”]
                                 trackingServerEndpoint * string
                                 trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                                     header * string
                                     value * string
                                 trackingMacros object
Tracking macros management
                                     enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                                     filtering [string]
Define the macros to be forwarded
                                         Macro name string

* : mandatory fields.

Name Type Default Description
                         adSignalingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad signaling is formatted by the manifest manipulator
                             EventStream object
                                 type * string
[“eventStream”]
Format type
                                 schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                                 value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                                 eventClientAttributes [object]
[] List of event client attributes
                                     name * string
Name of the client attribute
                                     value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                                 eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
                         breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
                             breakStart [oneOf]
[{“type”:“eventStream”}] Signaling format for the start of a break
                                 EventStream object
                                     type * string
[“eventStream”]
Format type
                                     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                                     value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                                     eventClientAttributes [object]
[] List of event client attributes
                                         name * string
Name of the client attribute
                                         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                                     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
                             breakEnd [oneOf]
[{“type”:“eventStream”}] Signaling format for the end of a break
                                 EventStream object
                                     type * string
[“eventStream”]
Format type
                                     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                                     value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                                     eventClientAttributes [object]
[] List of event client attributes
                                         name * string
Name of the client attribute
                                         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                                     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
                         adTrackingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad tracking is formatted by the manifest manipulator
                             EventStream object
                                 type * string
[“eventStream”]
Format type
                                 schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                                 value * string
“com.synamedia.dai.tracking.v2” Value to insert for the event stream value attribute
                                 eventClientAttributes [object]
[] List of event client attributes
                                     name * string
Name of the client attribute
                                     value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
                                 eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Ad Replacement

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“dashAdReplacement”]
                         name string
“Ad Replacement”
                         decisionServerId * string
VAST decision server Id
                         adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
                         adsDistributionUrls [string]
URL template to reach a list of ads servers.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag
                             Distribution URLs string
                         adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                 Query Parameter string
                         adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                             HTTP Headers string
                         adsConnection object
{} HTTP connection settings
                             timeout integer
5000 Timeout while fetching source (in milliseconds)
                             retryCount integer
0 Retry count while fetching source (in milliseconds)
                         staticAssetBehavior object
                             midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
                                 anonymous object
                                     type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
                                 anonymous object
                                     type * string
[“keepOriginalAdBreak”]
                                     maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                                     maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                                     maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                                     paddingDistribution object
                                         breakStart boolean
false Enable padding at start of break.
                                         betweenAds boolean
false Enable padding between ads of break.
                                         breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
                             enablePreRoll boolean
false Enable pre-roll ad insertion
                             enablePostRoll boolean
false Enable post-roll ad insertion
                         dynamicAssetBehavior object
                             midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
                                 anonymous object
                                     type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
                                 anonymous object
                                     type * string
[“keepOriginalAdBreak”]
                                     maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                                     maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                                     maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                                     paddingDistribution object
                                         breakStart boolean
false Enable padding at start of break.
                                         betweenAds boolean
false Enable padding between ads of break.
                                         breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
                             adReplacementWindow integer
Define the edge time window in seconds during which ad replacement will be done.
                         prebidding string
[“disabled”, “enabled”, “required”]
“disabled” Prebidding configuration
                         tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
                             anonymous object
                                 type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
                             anonymous object
                                 type * string
[“serverSide”]
                                 trackingServerEndpoint * string
                                 trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                                     header * string
                                     value * string
                                 trackingMacros object
Tracking macros management
                                     enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                                     filtering [string]
Define the macros to be forwarded
                                         Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
                             anonymous object
                                 type * string
[“clientSideProxing”]
                                 trackingServerEndpoint * string
                                 trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                                     header * string
                                     value * string
                                 trackingMacros object
Tracking macros management
                                     enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                                     filtering [string]
Define the macros to be forwarded
                                         Macro name string

* : mandatory fields.

Name Type Default Description
                         adSignalingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad signaling is formatted by the manifest manipulator
                             EventStream object
                                 type * string
[“eventStream”]
Format type
                                 schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                                 value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                                 eventClientAttributes [object]
[] List of event client attributes
                                     name * string
Name of the client attribute
                                     value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                                 eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
                         breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
                             breakStart [oneOf]
[{“type”:“eventStream”}] Signaling format for the start of a break
                                 EventStream object
                                     type * string
[“eventStream”]
Format type
                                     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                                     value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                                     eventClientAttributes [object]
[] List of event client attributes
                                         name * string
Name of the client attribute
                                         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                                     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
                             breakEnd [oneOf]
[{“type”:“eventStream”}] Signaling format for the end of a break
                                 EventStream object
                                     type * string
[“eventStream”]
Format type
                                     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                                     value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                                     eventClientAttributes [object]
[] List of event client attributes
                                         name * string
Name of the client attribute
                                         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                                     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
                         adTrackingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad tracking is formatted by the manifest manipulator
                             EventStream object
                                 type * string
[“eventStream”]
Format type
                                 schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                                 value * string
“com.synamedia.dai.tracking.v2” Value to insert for the event stream value attribute
                                 eventClientAttributes [object]
[] List of event client attributes
                                     name * string
Name of the client attribute
                                     value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
                                 eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
                         paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                             baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                                 Base URL string
                             distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                                 Distribution Base URL string
                             queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                     Query Parameter string
                             httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                                 HTTP Headers string
                             connection object
{} HTTP connection settings
                                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                                 retryCount integer
0 Retry count while fetching source (in milliseconds)
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
                         eventIdentification object
Select splice fields required to uniquely identify an event
                             spliceEventId boolean
true SpliceInsert EventId or TimeSignal SegmentationEventId
                             spliceTime boolean
false Splice Time PTS

* : mandatory fields.

Trimming

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“dashTrimming”]
                         name string
“Trimming”
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Remove Content Signaling

Name Type Default Description
                     anonymous object(categories)
Allows removal of specific SCTE-35 events from manifest.
                         type * string
[“dashRemoveSignaling”]
                         name string
“Remove Content Signaling”
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         contentSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Alternate Live Content

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“dashAlternateContent”]
                         name string
“Alternate Content”
                         decisionServerId string
SCTE-224 or SCTE-250 decision server
                         alternateSourceUrl * string
“${action:Content}” Templatable value to access the alternate content manifest.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
                         alternateDistributionUrls [string]
URL template to reach a list of origin servers.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Encoding profile ID
                             Distribution URLs string
                         alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                 Query Parameter string
                         alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                             HTTP Headers string
                         alternateConnection object
{} HTTP connection settings
                             timeout integer
5000 Timeout while fetching source (in milliseconds)
                             retryCount integer
0 Retry count while fetching source (in milliseconds)
                         behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
                         paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                             baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                                 Base URL string
                             distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                                 Distribution Base URL string
                             queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                     Query Parameter string
                             httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                                 HTTP Headers string
                             connection object
{} HTTP connection settings
                                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                                 retryCount integer
0 Retry count while fetching source (in milliseconds)
                         maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
                         maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
                         minAlternateDelay integer
12000 Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation.
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Blackout VOD Content

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“dashBlackout”]
                         name string
“Blackout”
                         decisionServerId string
SCTE-224 or SCTE-250 decision server
                         alternateSourceUrl * string
“${action:Content}” Templatable value to access the Blackout content manifest.
The Blackout content must be a static manifest

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
                         alternateDistributionUrls [string]
URL template to reach a list of origin servers.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
                             Distribution URLs string
                         alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                 Query Parameter string
                         alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                             HTTP Headers string
                         alternateConnection object
{} HTTP connection settings
                             timeout integer
5000 Timeout while fetching source (in milliseconds)
                             retryCount integer
0 Retry count while fetching source (in milliseconds)
                         behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
                         paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                             baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                                 Base URL string
                             distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                                 Distribution Base URL string
                             queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                                     Query Parameter string
                             httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                                 HTTP Headers string
                             connection object
{} HTTP connection settings
                                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                                 retryCount integer
0 Retry count while fetching source (in milliseconds)
                         maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
                         maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string
                         placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceBasicMatching”]
Trigger type
                                 spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                                 segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                                 durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“spliceAdvancedMatching”]
                                 signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                             anonymous object
                                 type * string
[“customEventMatching”]
                                 customVariables [object]
Custom values from event signaling matching
                                     custom Variables object(grid)
Custom values from event signaling matching
                                         name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                                         present boolean
custom value must be present
                                         value string
Expected Value
                                 durationPresent boolean
Duration must be available in the event
                                 idPresent boolean
ID must be available in the event
                                 scte35Present boolean
SCTE35 must be available in the event
                                 scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Lookback

Name Type Default Description
                     anonymous object(categories)
Allows request segments from a specific point in the past within a live stream.
Can be used for catch-up and rewind.
                         type * string
[“dashLookback”]
                         name string
“Lookback”
                         start object
                             source * string
[“constant”, “inputRequestQuery”]
source
                             value * string
property/value used for determinating end time of the lookback of the lookback.
The content should be an ISO 8601 date-time string or “now” or now-<h
                         end object
                             source * string
[“constant”, “inputRequestQuery”]
source replacement
                             value * string
property/value used for determinating end time of the lookback.
The content should be an ISO 8601 date-time string or “now”.
                         enableReLocation boolean
false modify or set tag if original start of the window is outdated
                         adjustFirstPeriodStartBasedOnPTO boolean
false Adjust the period@start of the first period based on the Presentation Time Offset (PTO).
When enabled, shifts the first period@start to align with the lowest Presentation Time Offset (PTO)
across segment templates (and their event streams) for start-over scenarios.
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string

* : mandatory fields.

Timeline Info

Name Type Default Description
                     anonymous object(categories)
                         type * string
[“dashTimelineInfo”]
                         name string
“Timeline Info”
                         operationTriggers object
The operation is triggered if the request fullfills all conditions
                             inputRequest [object]
                                 source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                                 name * string
                                 condition * string
[“contains”, “doesNotContain”]
                                 value * string

* : mandatory fields.

Name Type Default Description
             httpResponseHeaders [object]
[{“header”:“Content-Type”, “value”:“application/dash+xml”}, {“header”:“Access-Control-Allow-Origin”, “value”:“*“}] HTTP headers to be added to responses
                 header * string
Http header
                 value * string
Value of the http header
adManager object(categories)
Ad manager transcoding
     s3CredentialsKey string
Credentials key to use to S3 access.
     transcoder * object
         type * string
[“hybrik”]
         apiUrl * string
         basicAuth * object
             user * string
             pwd * string
         login * object
             authKey * string
             authSecret * string
         compliance string
“20240524”
         userTag string
         DPLC boolean
false Enable Dolby Professional Loudness Correction for audio layers
         computingGroup string
         packagerImageUrl * string
         thumbnailsGeneratorImageUrl * string
     videoSettings [object]
         id * string
         setting * string(json)
Video setting JSON which will could be applied with the profile video layers.
     audioSettings [object]
         id * string
         setting * string(json)
Audio setting JSON which will could be applied with the profile audio layers.
     packagerSettings [object]
         id * string
         args * string(json)
VOD packager args JSON which will could be applied with the profile.
     thumbnailSettings [object]
         id * string
         args * string(json)
thumbnail args JSON which will could be applied with the profile.
     profiles * [object]
         id * string
Profile Id
         destinationBaseUrl * string
Destination directory
         segmentDuration integer
6 Segment duration in seconds
         packagerSettingId string
Reference to the packager settings to be used for this profile.
         thumbnailSettingId string
Reference to the thumbnail settings to be used for this profile.
         videoLayers * [object]
             settingId string
Reference to the video setting to be used for this layer.
             bandwidth * integer
6000 Bandwitdh in kilobits per second
             codec * string
[“h264”, “h265”]
Codec used to transcode.
             width * integer
1920 Output width
             height * integer
1080 Output height
             frameRate number
29.97 Output framerate
         audioLayers * [object]
             settingId string
Reference to the audio setting to be used for this layer.
             bandwidth * integer
128 Bandwitdh in kilobits per second
             codec * string
[“aac”, “aac_lc”, “heaac_v1”, “heaac_v2”, “ac3”, “eac3”, “copy”]
Codec used to transcode. Copy passthrough the elementary stream without change.
             channels integer
2 Output channel count

* : mandatory fields.

Example

decisionServers:
  vastServers:
    - id: ads
      endpointUrl: http://myAdsServer
      endpointQueryParameters:
        - name: duration
          source: splicePoint
          value: durationS

vmapServer

Properties

Name Type Default Description
id * string
endpointUrl * string
ADS url without any query parameter
followAdditionalWrappers integer
5 Define how many subsequent Wrappers after a requested VAST response are allowed
request object
     queryParameters [object]
[] ADS request query parameters.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${manifest.durationS}: VOD asset duration in seconds (integer)
- ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision)

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source

Example:
- ${requestQueryParameter.sessionId}${requestUrl.manifestName}
- @roundToMultiple:${timestampS};15@
- name=@slice:${sourceName};3@ and value=@match:sessionData;startsWith;ad.;${sourceValue}@
         name * string
         value * string
         separator string
“&”
         encode boolean
true
     httpHeaders [object]
[] ADS request HTTP headers.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${manifest.durationS}: VOD asset duration in seconds (integer)
- ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision)

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source

Example:
- ${sessionData.sessionId}
- ${requestHttpHeader.x-forwarded-host}
         header * string
         value * string
connection object
{}
     directCall object
{}
         timeout integer
5000 Timeout while fetching decision server at the time of the ad break (in milliseconds)
         retryCount integer
0 Retry count while fetching decision server at the time of the ad break (in milliseconds)
     prefetchCall object
{}
         timeout integer
5000 Timeout while prefetching decision server before the time of the ad break (in milliseconds)
         retryCount integer
0 Retry count while prefetching decision server before the time of the ad break (in milliseconds)
missingAdsTranscoding object
If present, trigger the ad transcoding to make it available later on
     type * string
[“internal”]
     assetPathDestination * string
“${adId}” Templatable path to define where to store the ads transcoding result.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Example: ${adId}/${profileId}
     waitForTranscodingResponse boolean
true Wait for a response from the ads transcoding service before continuing processing.
     profileIds [string]
[] No selection means all profiles will be used

* : mandatory fields.

Example

id: ADS
endpointUrl: https://securepubads.g.doubleclick.net/gampad/ads
followAdditionalWrappers: 5
request:
  queryParameters: []
  httpHeaders: []
connection: {}
missingAdsTranscoding:
  type: internal
  assetPathDestination: ads/${adId}
  waitForTranscodingResponse: true
  profileIds: []

vastServer

Properties

Name Type Default Description
id * string
endpointUrl * string
ADS url without any query parameter
followAdditionalWrappers integer
5 Define how many subsequent Wrappers after a requested VAST response are allowed
midRollRequest object
     queryParameters [object]
[] ADS request query parameters.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${splice.id}: splice identifier
- ${splice(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the splice in different formats
- ${event.[param]}: value of parameter [param] from custom event
- ${event(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the event in different formats
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${assetIdentifier.value}: Asset Identifier value from the break period
- ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the break period

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source
- @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto
         name * string
         value * string
         separator string
“&”
         encode boolean
true
     httpHeaders [object]
[] ADS request HTTP headers.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${splice.id}: splice identifier
- ${splice(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the splice in different formats
- ${event.[param]}: value of parameter [param] from custom event
- ${event(.durationS,.durationMs,.durationSms,.durationHMS)}: duration of the event in different formats
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${assetIdentifier.value}: Asset Identifier value from the break period
- ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the break period

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source
- @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto
         header * string
         value * string
preRollRequest object
     queryParameters [object]
[] ADS request query parameters.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}

Example: ${requestQueryParameter.prerollDuration}
         name * string
         value * string
         separator string
“&”
         encode boolean
true
     httpHeaders [object]
[] ADS request HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}

Example: ${requestQueryParameter.prerollDuration}
         header * string
         value * string
postRollRequest object
     queryParameters [object]
[] ADS request query parameters.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}

Example: ${requestQueryParameter.postrollDuration})
         name * string
         value * string
         separator string
“&”
         encode boolean
true
     httpHeaders [object]
[] ADS request HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}

Example: ${requestQueryParameter.postrollDuration})
         header * string
         value * string
connection object
{}
     directCall object
{}
         timeout integer
1000 Timeout while fetching decision server at the time of the ad break (in milliseconds)
         retryCount integer
0 Retry count while fetching decision server at the time of the ad break (in milliseconds)
     prefetchCall object
{}
         timeout integer
2000 Timeout while prefetching decision server before the time of the ad break (in milliseconds)
         retryCount integer
0 Retry count while prefetching decision server before the time of the ad break (in milliseconds)
missingAdsTranscoding object
If present, trigger the ad transcoding to make it available later on
     type * string
[“internal”]
     assetPathDestination * string
“${adId}” Templatable path to define where to store the ads transcoding result.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Example: ${adId}/${profileId}
     waitForTranscodingResponse boolean
true Wait for a response from the ads transcoding service before continuing processing.
     profileIds [string]
[] No selection means all profiles will be used

* : mandatory fields.

Example

id: ADS
endpointUrl: https://securepubads.g.doubleclick.net/gampad/ads
followAdditionalWrappers: 5
midRollRequest:
  queryParameters: []
  httpHeaders: []
preRollRequest:
  queryParameters: []
  httpHeaders: []
postRollRequest:
  queryParameters: []
  httpHeaders: []
connection: {}
missingAdsTranscoding:
  type: internal
  assetPathDestination: ads/${adId}
  waitForTranscodingResponse: true
  profileIds: []

scte224Server

Properties

Name Type Default Description
id * string
endpointUrl * string
SCTE-224 server endpoint url
mediaName string
“${assetPath}” Media name templatable. Usable token is ${assetPath}
audienceMapping [object]
[] Mapping between input request parameter and audience characteristics
     audienceName * string
Audience characteristics name. (audience:Zip, audience:Network …)
     source * string
[“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”]
     value * string

* : mandatory fields.

Example

id: EsniServer
endpointUrl: string
mediaName: ${assetPath}
audienceMapping: []

scte250Server

Properties

Name Type Default Description
id * string
endpointUrl * string
SCTE-250 server endpoint url, without any query parameter
request object
     queryParameters [object]
[] Signal Decision System request query parameters.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${event.id}: event identifier
- ${event.[param]}: value of parameter [param] from custom event
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${assetIdentifier.value}: Asset Identifier value from the segment period
- ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the segment period

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source
- @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto
         name * string
         value * string
         separator string
“&”
         encode boolean
true
     httpHeaders [object]
[] Signal Decision System request HTTP headers.

Available tokens:
- ${sessionData.[param]}: value of parameter [param] from the session data
- ${requestQueryParameter.[param]}: value of parameter [param] from URL query parameters
- ${requestHttpHeader.header}: value of HTTP header ‘header’
- ${requestUrl.assetPath}: value the channelId (asset path)
- ${requestUrl.manifestName}: value the manifest name
- ${event.id}: event identifier
- ${event.[param]}: value of parameter [param] from custom event
- ${traceId}: Request trace ID
- ${dateTimeISO}: Current date/time in ISO 8601 format (e.g., “2025-10-28T14:30:00.000Z”)
- ${timestampS}: Unix timestamp in seconds
- ${timestampMs}: Unix timestamp in milliseconds
- ${programInformation.[param]}: value of parameter [param] from program information
- ${assetIdentifier.value}: Asset Identifier value from the segment period
- ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri from the segment period

Additionnal functions:
- @randomNumber:min;max@: Generates a random number between min and max (inclusive)
- @slice:stringToSlice;start;end@: Extracts a substring (similar to JavaScript String.slice())
- @roundToMultiple:number;multiple@: Returns a number rounded to the desired multiple
- @match:source;matchOperator;pattern;resultValueTemplate@: Multiple extraction from source
- @{scte35Extract:xpath[;flagAsBoolean][;upidFormat=auto
         header * string
         value * string
connection object
{} Connection settings for fetching decision server
     timeout integer
5000 Timeout while fetching decision server (in milliseconds)
     retryCount integer
0 Retry count while fetching decision server (in milliseconds)

* : mandatory fields.

Example

id: SDS
endpointUrl: http://sds/media/1/instruction
request:
  queryParameters: []
  httpHeaders: []
connection: {}

dashProcessings

Properties

Name Type Default Description
id * string
Processing Id
sessionManagement object
{} Define management of session.
     accessPolicy any
{“type”:“auto”} Defines how access of session data from the remote cache is managed (auto or manual).

* : mandatory fields.

Automatic (session data access is managed by the system)

Name Type Default Description
         anonymous object
             type * string
[“auto”]

* : mandatory fields.

Manual (session data access can be managed finely by the user)

Name Type Default Description
         anonymous object(grid)
             type * string
[“manual”]
             read * boolean
Allow read access
             write * boolean
Allow write access
             ttl * boolean
Update TTL

* : mandatory fields.

Name Type Default Description
     identification [object]
[{“source”:“inputRequestQuery”, “value”:“sessionId”}] Define how to identify a user session or a group of users session from an input request
         source * string
[“inputUrl”, “inputRequestQuery”, “inputHttpHeader”]
         value * string
     expiration integer
Define the session data expiration in seconds. If not set, the default expiration will be applied.
tenantId string
Tenant Id
source * any
Define how to get the reference manifest

* : mandatory fields.

Fetch the manifest from an origin server

Name Type Default Description
     anonymous object
         type * string
[“dashManifestFetch”]
         sourceBaseUrl * string
URL template to reach the origin server.
Manifest filename is extracted from incoming URL.

Available token:
- ${assetPath}: path to the asset from the incoming request URL.
         distributionUrls [string]
URL template to reach a list of origin servers. Token is ${assetPath}
             Distribution URLs string
         queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                 Query Parameter string
         httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
             HTTP Headers string
         connection object
{} HTTP connection settings
             timeout integer
5000 Timeout while fetching source (in milliseconds)
             retryCount integer
0 Retry count while fetching source (in milliseconds)
         defaultProfileId string
Default encoding profile identifier used when fetching ad manifests.
This value is used if the encoding profile identifier is not present in the source manifest.

Available token:
- ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination
         customEventSignaling [string]
Use custom event placements signaling for this source.
Must match an event placement signaling Id defined in the settings.
Selecting an Id will result in the use of the corresponding event(s) signaling format for this source

* : mandatory fields.

Name Type Default Description
     anonymous object
         type * string
[“dashAdsXlinkResolution”]
         decisionServerId * string
VAST decision server
         queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                 Query Parameter string
         httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
             HTTP Headers string
         paddingAssetUrl string
Url of the asset used to pad to minimize discontinuity
         minPaddingDuration integer
100 define the min duration of a padding segment ms

* : mandatory fields.

Name Type Default Description
output object
{} Customize the output
     manifestNaming object
         prefix string
define manifest name prefix.
         suffix string
define manifest name suffix.
     stringReplacements [object]
[]
         pattern * string
pattern to replace in the output
         source * string
[“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”]
source replacement
         name * string
name of property used for replacement
     format any
[“none”, “linearize”, “indent”, “indentAttributes”]
“none” Format the manifest output (this may impact performance)
     removeExistingTimelineForIndex boolean
false Remove existing for based on $Number$ index
     usePeriodStartTimeAsId boolean
false Set each period’s ID attribute to match its start time value.
The period ID is derived from the start attribute by removing the ISO 8601 duration format prefix (PT) and suffix (S).
For example, a period with start=“PT12.5S” will have its id set to “12.5”
authorization object
The request is authorized if the request fullfills all conditions
     rejectionErrorCode integer
401 The HTTP error code to return if the request is not authorized
     rejectionErrorMessage string
“Unauthorized” The error message to return if the request is not authorized
     authorizations [object]
         source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
         name * string
         condition * string
[“contains”, “doesNotContain”]
         value * string
operations * [oneOf]
[] List of operations
     Operation any
Transformation applied to a dash manifest

* : mandatory fields.

Ad Insertion

Name Type Default Description
         anonymous object(categories)
             type * string
[“dashAdInsertion”]
             name string
“Ad Insertion”
             decisionServerId * string
VMAP decision server Id
             adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
             adsDistributionUrls [string]
URL template to reach a list of ads servers.

Available tokens from VMAP response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag
                 Distribution URLs string
             adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                     Query Parameter string
             adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                 HTTP Headers string
             adsConnection object
{} HTTP connection settings
                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                 retryCount integer
0 Retry count while fetching source (in milliseconds)
             insertionLocation string
[“nearestSegment”, “nearestPeriod”]
“nearestSegment” Ad insertion location
             tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
                 anonymous object
                     type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
                 anonymous object
                     type * string
[“serverSide”]
                     trackingServerEndpoint * string
                     trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                         header * string
                         value * string
                     trackingMacros object
Tracking macros management
                         enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                         filtering [string]
Define the macros to be forwarded
                             Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
                 anonymous object
                     type * string
[“clientSideProxing”]
                     trackingServerEndpoint * string
                     trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                         header * string
                         value * string
                     trackingMacros object
Tracking macros management
                         enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                         filtering [string]
Define the macros to be forwarded
                             Macro name string

* : mandatory fields.

Name Type Default Description
             adSignalingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad signaling is formatted by the manifest manipulator
                 EventStream object
                     type * string
[“eventStream”]
Format type
                     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                     value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                     eventClientAttributes [object]
[] List of event client attributes
                         name * string
Name of the client attribute
                         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
             breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
                 breakStart [oneOf]
[{“type”:“eventStream”}] Signaling format for the start of a break
                     EventStream object
                         type * string
[“eventStream”]
Format type
                         schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                         value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                         eventClientAttributes [object]
[] List of event client attributes
                             name * string
Name of the client attribute
                             value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                         eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
                 breakEnd [oneOf]
[{“type”:“eventStream”}] Signaling format for the end of a break
                     EventStream object
                         type * string
[“eventStream”]
Format type
                         schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                         value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                         eventClientAttributes [object]
[] List of event client attributes
                             name * string
Name of the client attribute
                             value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                         eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
             adTrackingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad tracking is formatted by the manifest manipulator
                 EventStream object
                     type * string
[“eventStream”]
Format type
                     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                     value * string
“com.synamedia.dai.tracking.v2” Value to insert for the event stream value attribute
                     eventClientAttributes [object]
[] List of event client attributes
                         name * string
Name of the client attribute
                         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
                     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Ad Replacement

Name Type Default Description
         anonymous object(categories)
             type * string
[“dashAdReplacement”]
             name string
“Ad Replacement”
             decisionServerId * string
VAST decision server Id
             adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
             adsDistributionUrls [string]
URL template to reach a list of ads servers.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag
                 Distribution URLs string
             adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                     Query Parameter string
             adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                 HTTP Headers string
             adsConnection object
{} HTTP connection settings
                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                 retryCount integer
0 Retry count while fetching source (in milliseconds)
             staticAssetBehavior object
                 midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
                     anonymous object
                         type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
                     anonymous object
                         type * string
[“keepOriginalAdBreak”]
                         maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                         maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                         maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                         paddingDistribution object
                             breakStart boolean
false Enable padding at start of break.
                             betweenAds boolean
false Enable padding between ads of break.
                             breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
                 enablePreRoll boolean
false Enable pre-roll ad insertion
                 enablePostRoll boolean
false Enable post-roll ad insertion
             dynamicAssetBehavior object
                 midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
                     anonymous object
                         type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
                     anonymous object
                         type * string
[“keepOriginalAdBreak”]
                         maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                         maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                         maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                         paddingDistribution object
                             breakStart boolean
false Enable padding at start of break.
                             betweenAds boolean
false Enable padding between ads of break.
                             breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
                 adReplacementWindow integer
Define the edge time window in seconds during which ad replacement will be done.
             prebidding string
[“disabled”, “enabled”, “required”]
“disabled” Prebidding configuration
             tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
                 anonymous object
                     type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
                 anonymous object
                     type * string
[“serverSide”]
                     trackingServerEndpoint * string
                     trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                         header * string
                         value * string
                     trackingMacros object
Tracking macros management
                         enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                         filtering [string]
Define the macros to be forwarded
                             Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
                 anonymous object
                     type * string
[“clientSideProxing”]
                     trackingServerEndpoint * string
                     trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                         header * string
                         value * string
                     trackingMacros object
Tracking macros management
                         enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                         filtering [string]
Define the macros to be forwarded
                             Macro name string

* : mandatory fields.

Name Type Default Description
             adSignalingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad signaling is formatted by the manifest manipulator
                 EventStream object
                     type * string
[“eventStream”]
Format type
                     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                     value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                     eventClientAttributes [object]
[] List of event client attributes
                         name * string
Name of the client attribute
                         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
             breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
                 breakStart [oneOf]
[{“type”:“eventStream”}] Signaling format for the start of a break
                     EventStream object
                         type * string
[“eventStream”]
Format type
                         schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                         value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                         eventClientAttributes [object]
[] List of event client attributes
                             name * string
Name of the client attribute
                             value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                         eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
                 breakEnd [oneOf]
[{“type”:“eventStream”}] Signaling format for the end of a break
                     EventStream object
                         type * string
[“eventStream”]
Format type
                         schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                         value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                         eventClientAttributes [object]
[] List of event client attributes
                             name * string
Name of the client attribute
                             value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                         eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
             adTrackingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad tracking is formatted by the manifest manipulator
                 EventStream object
                     type * string
[“eventStream”]
Format type
                     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                     value * string
“com.synamedia.dai.tracking.v2” Value to insert for the event stream value attribute
                     eventClientAttributes [object]
[] List of event client attributes
                         name * string
Name of the client attribute
                         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
                     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
             paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                 baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                     Base URL string
                 distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                     Distribution Base URL string
                 queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                     rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                     exceptions [string]
[] List of query parameter names that are exceptions to the rule
                         Query Parameter string
                 httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                     HTTP Headers string
                 connection object
{} HTTP connection settings
                     timeout integer
5000 Timeout while fetching source (in milliseconds)
                     retryCount integer
0 Retry count while fetching source (in milliseconds)
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
             eventIdentification object
Select splice fields required to uniquely identify an event
                 spliceEventId boolean
true SpliceInsert EventId or TimeSignal SegmentationEventId
                 spliceTime boolean
false Splice Time PTS

* : mandatory fields.

Trimming

Name Type Default Description
         anonymous object(categories)
             type * string
[“dashTrimming”]
             name string
“Trimming”
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Remove Content Signaling

Name Type Default Description
         anonymous object(categories)
Allows removal of specific SCTE-35 events from manifest.
             type * string
[“dashRemoveSignaling”]
             name string
“Remove Content Signaling”
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             contentSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Alternate Live Content

Name Type Default Description
         anonymous object(categories)
             type * string
[“dashAlternateContent”]
             name string
“Alternate Content”
             decisionServerId string
SCTE-224 or SCTE-250 decision server
             alternateSourceUrl * string
“${action:Content}” Templatable value to access the alternate content manifest.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
             alternateDistributionUrls [string]
URL template to reach a list of origin servers.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Encoding profile ID
                 Distribution URLs string
             alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                     Query Parameter string
             alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                 HTTP Headers string
             alternateConnection object
{} HTTP connection settings
                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                 retryCount integer
0 Retry count while fetching source (in milliseconds)
             behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
             paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                 baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                     Base URL string
                 distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                     Distribution Base URL string
                 queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                     rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                     exceptions [string]
[] List of query parameter names that are exceptions to the rule
                         Query Parameter string
                 httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                     HTTP Headers string
                 connection object
{} HTTP connection settings
                     timeout integer
5000 Timeout while fetching source (in milliseconds)
                     retryCount integer
0 Retry count while fetching source (in milliseconds)
             maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
             maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
             minAlternateDelay integer
12000 Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation.
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Blackout VOD Content

Name Type Default Description
         anonymous object(categories)
             type * string
[“dashBlackout”]
             name string
“Blackout”
             decisionServerId string
SCTE-224 or SCTE-250 decision server
             alternateSourceUrl * string
“${action:Content}” Templatable value to access the Blackout content manifest.
The Blackout content must be a static manifest

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
             alternateDistributionUrls [string]
URL template to reach a list of origin servers.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
                 Distribution URLs string
             alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                     Query Parameter string
             alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                 HTTP Headers string
             alternateConnection object
{} HTTP connection settings
                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                 retryCount integer
0 Retry count while fetching source (in milliseconds)
             behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
             paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                 baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                     Base URL string
                 distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                     Distribution Base URL string
                 queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                     rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                     exceptions [string]
[] List of query parameter names that are exceptions to the rule
                         Query Parameter string
                 httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                     HTTP Headers string
                 connection object
{} HTTP connection settings
                     timeout integer
5000 Timeout while fetching source (in milliseconds)
                     retryCount integer
0 Retry count while fetching source (in milliseconds)
             maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
             maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Lookback

Name Type Default Description
         anonymous object(categories)
Allows request segments from a specific point in the past within a live stream.
Can be used for catch-up and rewind.
             type * string
[“dashLookback”]
             name string
“Lookback”
             start object
                 source * string
[“constant”, “inputRequestQuery”]
source
                 value * string
property/value used for determinating end time of the lookback of the lookback.
The content should be an ISO 8601 date-time string or “now” or now-<h
             end object
                 source * string
[“constant”, “inputRequestQuery”]
source replacement
                 value * string
property/value used for determinating end time of the lookback.
The content should be an ISO 8601 date-time string or “now”.
             enableReLocation boolean
false modify or set tag if original start of the window is outdated
             adjustFirstPeriodStartBasedOnPTO boolean
false Adjust the period@start of the first period based on the Presentation Time Offset (PTO).
When enabled, shifts the first period@start to align with the lowest Presentation Time Offset (PTO)
across segment templates (and their event streams) for start-over scenarios.
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string

* : mandatory fields.

Timeline Info

Name Type Default Description
         anonymous object(categories)
             type * string
[“dashTimelineInfo”]
             name string
“Timeline Info”
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string

* : mandatory fields.

Name Type Default Description
httpResponseHeaders [object]
[{“header”:“Content-Type”, “value”:“application/dash+xml”}, {“header”:“Access-Control-Allow-Origin”, “value”:“*“}] HTTP headers to be added to responses
     header * string
Http header
     value * string
Value of the http header

* : mandatory fields.

Example

id: cmaf
sessionManagement: {}
tenantId: synamedia
source:
  type: dashManifestFetch
  sourceBaseUrl: http://myCDN/dash/cdvr/${assetPath}
  distributionUrls:
    - https://myCDN/dash/cdvr/${assetPath}
  queryParameterForward:
    rule: all
    exceptions: []
  httpHeaderForward:
    - x-amz-cf-id
  connection: {}
  defaultProfileId: HD
  customEventSignaling:
    - string
output: {}
authorization:
  rejectionErrorCode: 401
  rejectionErrorMessage: Unauthorized
  authorizations:
    - source: inputRequestQuery
      name: string
      condition: contains
      value: string
operations: []
httpResponseHeaders:
  - header: Content-Type
    value: application/dash+xml
  - header: Access-Control-Allow-Origin
    value: "*"

dashSource

Properties

Name Type Default Description
Source any
Define how to get the reference manifest

* : mandatory fields.

Fetch the manifest from an origin server

Name Type Default Description
type * string
[“dashManifestFetch”]
sourceBaseUrl * string
URL template to reach the origin server.
Manifest filename is extracted from incoming URL.

Available token:
- ${assetPath}: path to the asset from the incoming request URL.
distributionUrls [string]
URL template to reach a list of origin servers. Token is ${assetPath}
    Distribution URLs string
queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
connection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
defaultProfileId string
Default encoding profile identifier used when fetching ad manifests.
This value is used if the encoding profile identifier is not present in the source manifest.

Available token:
- ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination
customEventSignaling [string]
Use custom event placements signaling for this source.
Must match an event placement signaling Id defined in the settings.
Selecting an Id will result in the use of the corresponding event(s) signaling format for this source

* : mandatory fields.

Name Type Default Description
type * string
[“dashAdsXlinkResolution”]
decisionServerId * string
VAST decision server
queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
paddingAssetUrl string
Url of the asset used to pad to minimize discontinuity
minPaddingDuration integer
100 define the min duration of a padding segment ms

* : mandatory fields.

Example

type: dashManifestFetch
sourceBaseUrl: http://myCDN/dash/cdvr/${assetPath}
distributionUrls:
  - https://myCDN/dash/cdvr/${assetPath}
queryParameterForward:
  rule: all
  exceptions: []
httpHeaderForward:
  - x-amz-cf-id
connection: {}
defaultProfileId: HD
customEventSignaling:
  - string

dashOperation

Properties

Name Type Default Description
Operation any
Transformation applied to a dash manifest

* : mandatory fields.

Ad Insertion

Name Type Default Description
type * string
[“dashAdInsertion”]
name string
“Ad Insertion”
decisionServerId * string
VMAP decision server Id
adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
adsDistributionUrls [string]
URL template to reach a list of ads servers.

Available tokens from VMAP response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag
    Distribution URLs string
adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
adsConnection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
insertionLocation string
[“nearestSegment”, “nearestPeriod”]
“nearestSegment” Ad insertion location
tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
         anonymous object
             type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
         anonymous object
             type * string
[“serverSide”]
             trackingServerEndpoint * string
             trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                 header * string
                 value * string
             trackingMacros object
Tracking macros management
                 enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                 filtering [string]
Define the macros to be forwarded
                     Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
         anonymous object
             type * string
[“clientSideProxing”]
             trackingServerEndpoint * string
             trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                 header * string
                 value * string
             trackingMacros object
Tracking macros management
                 enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                 filtering [string]
Define the macros to be forwarded
                     Macro name string

* : mandatory fields.

Name Type Default Description
     adSignalingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad signaling is formatted by the manifest manipulator
         EventStream object
             type * string
[“eventStream”]
Format type
             schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
             value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
             eventClientAttributes [object]
[] List of event client attributes
                 name * string
Name of the client attribute
                 value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
             eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
     breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
         breakStart [oneOf]
[{“type”:“eventStream”}] Signaling format for the start of a break
             EventStream object
                 type * string
[“eventStream”]
Format type
                 schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                 value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                 eventClientAttributes [object]
[] List of event client attributes
                     name * string
Name of the client attribute
                     value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                 eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
         breakEnd [oneOf]
[{“type”:“eventStream”}] Signaling format for the end of a break
             EventStream object
                 type * string
[“eventStream”]
Format type
                 schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                 value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                 eventClientAttributes [object]
[] List of event client attributes
                     name * string
Name of the client attribute
                     value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                 eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
     adTrackingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad tracking is formatted by the manifest manipulator
         EventStream object
             type * string
[“eventStream”]
Format type
             schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
             value * string
“com.synamedia.dai.tracking.v2” Value to insert for the event stream value attribute
             eventClientAttributes [object]
[] List of event client attributes
                 name * string
Name of the client attribute
                 value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
             eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
     operationTriggers object
The operation is triggered if the request fullfills all conditions
         inputRequest [object]
             source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
             name * string
             condition * string
[“contains”, “doesNotContain”]
             value * string
     placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Ad Replacement

Name Type Default Description
type * string
[“dashAdReplacement”]
name string
“Ad Replacement”
decisionServerId * string
VAST decision server Id
adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
adsDistributionUrls [string]
URL template to reach a list of ads servers.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID from SessionData PROFILE_ID or /ProgramInformation/ext:EncodingProfile tag
    Distribution URLs string
adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
adsConnection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
staticAssetBehavior object
    midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
             anonymous object
                 type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
             anonymous object
                 type * string
[“keepOriginalAdBreak”]
                 maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                 maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                 maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                 paddingDistribution object
                     breakStart boolean
false Enable padding at start of break.
                     betweenAds boolean
false Enable padding between ads of break.
                     breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
         enablePreRoll boolean
false Enable pre-roll ad insertion
         enablePostRoll boolean
false Enable post-roll ad insertion
     dynamicAssetBehavior object
         midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
             anonymous object
                 type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
             anonymous object
                 type * string
[“keepOriginalAdBreak”]
                 maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                 maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                 maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                 paddingDistribution object
                     breakStart boolean
false Enable padding at start of break.
                     betweenAds boolean
false Enable padding between ads of break.
                     breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
         adReplacementWindow integer
Define the edge time window in seconds during which ad replacement will be done.
     prebidding string
[“disabled”, “enabled”, “required”]
“disabled” Prebidding configuration
     tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
         anonymous object
             type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
         anonymous object
             type * string
[“serverSide”]
             trackingServerEndpoint * string
             trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                 header * string
                 value * string
             trackingMacros object
Tracking macros management
                 enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                 filtering [string]
Define the macros to be forwarded
                     Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
         anonymous object
             type * string
[“clientSideProxing”]
             trackingServerEndpoint * string
             trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                 header * string
                 value * string
             trackingMacros object
Tracking macros management
                 enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                 filtering [string]
Define the macros to be forwarded
                     Macro name string

* : mandatory fields.

Name Type Default Description
     adSignalingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad signaling is formatted by the manifest manipulator
         EventStream object
             type * string
[“eventStream”]
Format type
             schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
             value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
             eventClientAttributes [object]
[] List of event client attributes
                 name * string
Name of the client attribute
                 value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
             eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
     breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
         breakStart [oneOf]
[{“type”:“eventStream”}] Signaling format for the start of a break
             EventStream object
                 type * string
[“eventStream”]
Format type
                 schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                 value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                 eventClientAttributes [object]
[] List of event client attributes
                     name * string
Name of the client attribute
                     value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                 eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
         breakEnd [oneOf]
[{“type”:“eventStream”}] Signaling format for the end of a break
             EventStream object
                 type * string
[“eventStream”]
Format type
                 schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
                 value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
                 eventClientAttributes [object]
[] List of event client attributes
                     name * string
Name of the client attribute
                     value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
                 eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
     adTrackingFormat [oneOf]
[{“type”:“eventStream”}] Define how ad tracking is formatted by the manifest manipulator
         EventStream object
             type * string
[“eventStream”]
Format type
             schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
             value * string
“com.synamedia.dai.tracking.v2” Value to insert for the event stream value attribute
             eventClientAttributes [object]
[] List of event client attributes
                 name * string
Name of the client attribute
                 value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
             eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
     paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
         baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
             Base URL string
         distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
             Distribution Base URL string
         queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                 Query Parameter string
         httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
             HTTP Headers string
         connection object
{} HTTP connection settings
             timeout integer
5000 Timeout while fetching source (in milliseconds)
             retryCount integer
0 Retry count while fetching source (in milliseconds)
     operationTriggers object
The operation is triggered if the request fullfills all conditions
         inputRequest [object]
             source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
             name * string
             condition * string
[“contains”, “doesNotContain”]
             value * string
     placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
     eventIdentification object
Select splice fields required to uniquely identify an event
         spliceEventId boolean
true SpliceInsert EventId or TimeSignal SegmentationEventId
         spliceTime boolean
false Splice Time PTS

* : mandatory fields.

Trimming

Name Type Default Description
type * string
[“dashTrimming”]
name string
“Trimming”
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string
placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Remove Content Signaling

Name Type Default Description
type * string
[“dashRemoveSignaling”]
name string
“Remove Content Signaling”
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string
contentSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Alternate Live Content

Name Type Default Description
type * string
[“dashAlternateContent”]
name string
“Alternate Content”
decisionServerId string
SCTE-224 or SCTE-250 decision server
alternateSourceUrl * string
“${action:Content}” Templatable value to access the alternate content manifest.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
alternateDistributionUrls [string]
URL template to reach a list of origin servers.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Encoding profile ID
    Distribution URLs string
alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
alternateConnection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
    baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
        Base URL string
    distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
        Distribution Base URL string
    queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
        rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
        exceptions [string]
[] List of query parameter names that are exceptions to the rule
            Query Parameter string
    httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
        HTTP Headers string
    connection object
{} HTTP connection settings
        timeout integer
5000 Timeout while fetching source (in milliseconds)
        retryCount integer
0 Retry count while fetching source (in milliseconds)
maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
minAlternateDelay integer
12000 Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation.
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string
placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Blackout VOD Content

Name Type Default Description
type * string
[“dashBlackout”]
name string
“Blackout”
decisionServerId string
SCTE-224 or SCTE-250 decision server
alternateSourceUrl * string
“${action:Content}” Templatable value to access the Blackout content manifest.
The Blackout content must be a static manifest

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
alternateDistributionUrls [string]
URL template to reach a list of origin servers.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
    Distribution URLs string
alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
alternateConnection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
    baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
        Base URL string
    distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
        Distribution Base URL string
    queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
        rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
        exceptions [string]
[] List of query parameter names that are exceptions to the rule
            Query Parameter string
    httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
        HTTP Headers string
    connection object
{} HTTP connection settings
        timeout integer
5000 Timeout while fetching source (in milliseconds)
        retryCount integer
0 Retry count while fetching source (in milliseconds)
maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string
placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Lookback

Name Type Default Description
type * string
[“dashLookback”]
name string
“Lookback”
start object
    source * string
[“constant”, “inputRequestQuery”]
source
    value * string
property/value used for determinating end time of the lookback of the lookback.
The content should be an ISO 8601 date-time string or “now” or now-<h
end object
    source * string
[“constant”, “inputRequestQuery”]
source replacement
    value * string
property/value used for determinating end time of the lookback.
The content should be an ISO 8601 date-time string or “now”.
enableReLocation boolean
false modify or set tag if original start of the window is outdated
adjustFirstPeriodStartBasedOnPTO boolean
false Adjust the period@start of the first period based on the Presentation Time Offset (PTO).
When enabled, shifts the first period@start to align with the lowest Presentation Time Offset (PTO)
across segment templates (and their event streams) for start-over scenarios.
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string

* : mandatory fields.

Timeline Info

Name Type Default Description
type * string
[“dashTimelineInfo”]
name string
“Timeline Info”
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string

* : mandatory fields.

Example

type: dashAdInsertion
name: Ad Insertion
decisionServerId: string
adsSourceUrl: http://cdn.example.com/ads/${adId}/${profileId}/manifest.mpd
adsDistributionUrls:
  - string
adsQueryParameterForward:
  rule: all
  exceptions: []
adsHttpHeaderForward:
  - x-amz-cf-id
adsConnection: {}
insertionLocation: nearestSegment
tracking:
  type: direct
adSignalingFormat:
  - type: eventStream
breakSignalingFormat:
  breakStart:
    - type: eventStream
  breakEnd:
    - type: eventStream
adTrackingFormat:
  - type: eventStream
operationTriggers:
  inputRequest:
    - source: inputRequestQuery
      name: string
      condition: contains
      value: string
placementSignaling:
  - type: spliceBasicMatching
    spliceCommandType: spliceInsert
    segmentationTypeId: 15
    durationPresent: true

dashAdSignalingFormat

Properties

Name Type Default Description
Ad Signaling Format [oneOf]
[{“type”:“eventStream”}] Define how ad signaling is formatted by the manifest manipulator
EventStream object
     type * string
[“eventStream”]
Format type
     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
     value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
     eventClientAttributes [object]
[] List of event client attributes
         name * string
Name of the client attribute
         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.

* : mandatory fields.

Example

- type: eventStream

dashBreakSignalingFormat

Properties

Name Type Default Description
breakStart [oneOf]
[{“type”:“eventStream”}] Signaling format for the start of a break
     EventStream object
         type * string
[“eventStream”]
Format type
         schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
         value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
         eventClientAttributes [object]
[] List of event client attributes
             name * string
Name of the client attribute
             value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
         eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.
breakEnd [oneOf]
[{“type”:“eventStream”}] Signaling format for the end of a break
     EventStream object
         type * string
[“eventStream”]
Format type
         schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
         value * string
“com.synamedia.dai.adbreak.v2” Value to insert for the event stream value attribute
         eventClientAttributes [object]
[] List of event client attributes
             name * string
Name of the client attribute
             value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${adType}.
         eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${adType}.

* : mandatory fields.

Example

breakStart:
  - type: eventStream
breakEnd:
  - type: eventStream

dashAdTrackingFormat

Properties

Name Type Default Description
Ad Tracking Format [oneOf]
[{“type”:“eventStream”}] Define how ad tracking is formatted by the manifest manipulator
EventStream object
     type * string
[“eventStream”]
Format type
     schemeIdUri * string
“urn:synamedia:dai:2023:measurement” Value to insert for the event stream schemeIdUri attribute
     value * string
“com.synamedia.dai.tracking.v2” Value to insert for the event stream value attribute
     eventClientAttributes [object]
[] List of event client attributes
         name * string
Name of the client attribute
         value * string
Templated value of the client attribute. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.
     eventContent string
Templated value to insert in the event content. Usable tokens from the ADS response are ${trackingEvent}, ${trackingUrl} or ${trackingUrlEscaped}.

* : mandatory fields.

Example

- type: eventStream

dashPaddingAssets

Properties

Name Type Default Description
baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
     Base URL string
distributionBaseUrls [string]
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
     Distribution Base URL string
queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
     rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
     exceptions [string]
[] List of query parameter names that are exceptions to the rule
         Query Parameter string
httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
     HTTP Headers string
connection object
{} HTTP connection settings
     timeout integer
5000 Timeout while fetching source (in milliseconds)
     retryCount integer
0 Retry count while fetching source (in milliseconds)

* : mandatory fields.

Example

baseUrls:
  - http://myCDN/cmaf/black-500ms/
distributionBaseUrls:
  - https://myCDN/dash/cdvr/${profileId}
queryParameterForward:
  rule: all
  exceptions: []
httpHeaderForward:
  - x-amz-cf-id
connection: {}

hlsProcessings

Properties

Name Type Default Description
id * string
Processing Id used in the input URL
sessionManagement object
{} Define management of session.
     accessPolicy any
{“type”:“auto”} Defines how access of session data from the remote cache is managed (auto or manual).

* : mandatory fields.

Automatic (session data access is managed by the system)

Name Type Default Description
         anonymous object
             type * string
[“auto”]

* : mandatory fields.

Manual (session data access can be managed finely by the user)

Name Type Default Description
         anonymous object(grid)
             type * string
[“manual”]
             read * boolean
Allow read access
             write * boolean
Allow write access
             ttl * boolean
Update TTL

* : mandatory fields.

Name Type Default Description
     identification [object]
[{“source”:“inputRequestQuery”, “value”:“sessionId”}] Define how to identify a user session or a group of users session from an input request
         source * string
[“inputUrl”, “inputRequestQuery”, “inputHttpHeader”]
         value * string
     expiration integer
Define the session data expiration in seconds. If not set, the default expiration will be applied.
tenantId string
Tenant Id. Prefix used in the input URL
source * any
Define how to get the reference playlist

* : mandatory fields.

Fetch the playlist from an origin server

Name Type Default Description
     anonymous object
         type * string
[“hlsPlaylistFetch”]
         sourceBaseUrl * string
URL template to reach the origin server.
Playlist filename is extracted from incoming URL.

Available token:
- ${assetPath}: path to the asset from the incoming request URL.
         distributionUrl string
URL template to reach the origin server. Token is ${assetPath}
         queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                 Query Parameter string
         httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
             HTTP Headers string
         connection object
{} HTTP connection settings
             timeout integer
5000 Timeout while fetching source (in milliseconds)
             retryCount integer
0 Retry count while fetching source (in milliseconds)
         defaultProfileId string
Default encoding profile identifier used when fetching ad playlists.
This value is used if the encoding profile identifier is not present in the source playlist.

Related tokens:
- ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination
         customEventSignaling string
Use custom event placement signaling for this source.
Must match a event placement signaling defined in the settings

* : mandatory fields.

Generate a interstitial from a ADS response

Name Type Default Description
     anonymous object
         type * string
[“hlsAdInterstitial”]
         decisionServerId * string
VAST decision server
         adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
         adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                 Query Parameter string
         adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
             HTTP Headers string
         adsConnection object
{} HTTP connection settings
             timeout integer
5000 Timeout while fetching source (in milliseconds)
             retryCount integer
0 Retry count while fetching source (in milliseconds)
         paddingAssetUrl string
Url of the asset used to pad to minimize discontinuity
         minPaddingDuration integer
100 Define the min duration of a padding segment ms

* : mandatory fields.

Name Type Default Description
output object
{} Customize the output
     stringReplacements [object]
[]
         pattern * string
pattern to replace in the output
         source * string
[“constant”, “inputRequestQuery”, “inputHttpHeader”, “sessionData”]
source replacement
         name * string
name of property used for replacement
authorization object
The request is authorized if the request fullfills all conditions
     rejectionErrorCode integer
401 The HTTP error code to return if the request is not authorized
     rejectionErrorMessage string
“Unauthorized” The error message to return if the request is not authorized
     authorizations [object]
         source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
         name * string
         condition * string
[“contains”, “doesNotContain”]
         value * string
masterPlaylist object
{} Define master playlist behavior
     naming object
{} Define master playlist naming prefix and suffix
         prefix string
“” Prefix added to the master playlist name
         suffix string
“” Suffix added to the master playlist name (before extension)
mediaPlaylist object
{} Define media playlist behavior
     naming object
{} Define media playlist naming prefix and suffix
         prefix string
“” Prefix added to media playlist names
         suffix string
“” Suffix added to media playlist names (before extension)
     masterQueryParameterForward object
Define which query parameters from the input request are forwarded to media playlist URIs in the master playlist
         rule * string
[“all”, “none”]
“all” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
         exceptions [string]
[] List of query parameter names that are exceptions to the rule
             Query Parameter string
operations * [oneOf]
[] List of operations
     Operation any
transformation applied to a hls playlist

* : mandatory fields.

Ad Insertion

Name Type Default Description
         anonymous object(categories)
             type * string
[“hlsAdInsertion”]
             name string
“Ad Insertion”
             decisionServerId * string
VMAP decision server Id
             adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
             adsDistributionUrl string
URL template to reach an ads server.

Available tokens from VMAP response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID
             adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                     Query Parameter string
             adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                 HTTP Headers string
             adsConnection object
{} HTTP connection settings
                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                 retryCount integer
0 Retry count while fetching source (in milliseconds)
             insertionLocation string
[“nearestSegment”, “nearestPeriod”]
“nearestSegment” Ad insertion location
             tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
                 anonymous object
                     type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
                 anonymous object
                     type * string
[“serverSide”]
                     trackingServerEndpoint * string
                     trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                         header * string
                         value * string
                     trackingMacros object
Tracking macros management
                         enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                         filtering [string]
Define the macros to be forwarded
                             Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
                 anonymous object
                     type * string
[“clientSideProxing”]
                     trackingServerEndpoint * string
                     trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                         header * string
                         value * string
                     trackingMacros object
Tracking macros management
                         enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                         filtering [string]
Define the macros to be forwarded
                             Macro name string

* : mandatory fields.

Name Type Default Description
             adSignalingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad signaling is formatted by the manifest manipulator
                 EXT-X-DATERANGE tag object
                     type * string
[“dateRangeTag”]
Format type
                     clientAttributes * [object]
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] List of client attributes to insert
                         name * string
Name of the client attribute
                         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
             breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
                 breakStart [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the start of a break
                     EXT-X-DATERANGE tag object
                         type * string
[“dateRangeTag”]
Format type
                         clientAttributes * [object]
[] List of client attributes to insert
                             name * string
Name of the client attribute
                             value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
                 breakEnd [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the end of a break
                     EXT-X-DATERANGE tag object
                         type * string
[“dateRangeTag”]
Format type
                         clientAttributes * [object]
[] List of client attributes to insert
                             name * string
Name of the client attribute
                             value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
             adTrackingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad tracking is formatted by the manifest manipulator
                 EXT-X-DATERANGE tag object
                     type * string
[“dateRangeTag”]
Format type
                     clientAttributes * [object]
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] List of client attributes to insert
                         name * string
Name of the client attribute
                         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}.
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
             playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
                 anonymous object
Playlist name mapping between the source and ad playlists.
If source playlist name is not in the array, source playlist name is used for ad playlists fetching
                     type * string
[“staticMapping”]
                     mappings * [object]
                         sourceName * string
                         adsName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
                 anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
                     type * string
[“dynamicMapping”]
                     videoOnly object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     audioOnly object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“audioCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“channels”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     audioVideo object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“audioCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“channels”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     iFrame object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     subtitles object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     image object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Ad Replacement

Name Type Default Description
         anonymous object(categories)
             type * string
[“hlsAdReplacement”]
             name string
“Ad Replacement”
             decisionServerId * string
VAST decision server Id
             adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
             adsDistributionUrl string
URL template to reach an ads server.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID
             adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                     Query Parameter string
             adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                 HTTP Headers string
             adsConnection object
{} HTTP connection settings
                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                 retryCount integer
0 Retry count while fetching source (in milliseconds)
             staticAssetBehavior object
                 midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
                     anonymous object
                         type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
                     anonymous object
                         type * string
[“keepOriginalAdBreak”]
                         maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                         maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                         maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                         paddingDistribution object
                             breakStart boolean
false Enable padding at start of break.
                             betweenAds boolean
false Enable padding between ads of break.
                             breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
                 enablePreRoll boolean
false Enable pre-roll ad insertion
                 enablePostRoll boolean
false Enable post-roll ad insertion
             dynamicAssetBehavior object
                 midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
                     anonymous object
                         type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
                     anonymous object
                         type * string
[“keepOriginalAdBreak”]
                         maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                         maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                         maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                         paddingDistribution object
                             breakStart boolean
false Enable padding at start of break.
                             betweenAds boolean
false Enable padding between ads of break.
                             breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
                 adReplacementWindow integer
Define the edge time window in seconds during which ad replacement will be done.
             prebidding string
[“disabled”, “enabled”, “required”]
“disabled” Prebidding configuration
             tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
                 anonymous object
                     type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
                 anonymous object
                     type * string
[“serverSide”]
                     trackingServerEndpoint * string
                     trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                         header * string
                         value * string
                     trackingMacros object
Tracking macros management
                         enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                         filtering [string]
Define the macros to be forwarded
                             Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
                 anonymous object
                     type * string
[“clientSideProxing”]
                     trackingServerEndpoint * string
                     trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                         header * string
                         value * string
                     trackingMacros object
Tracking macros management
                         enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                         filtering [string]
Define the macros to be forwarded
                             Macro name string

* : mandatory fields.

Name Type Default Description
             adSignalingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad signaling is formatted by the manifest manipulator
                 EXT-X-DATERANGE tag object
                     type * string
[“dateRangeTag”]
Format type
                     clientAttributes * [object]
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] List of client attributes to insert
                         name * string
Name of the client attribute
                         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
             breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
                 breakStart [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the start of a break
                     EXT-X-DATERANGE tag object
                         type * string
[“dateRangeTag”]
Format type
                         clientAttributes * [object]
[] List of client attributes to insert
                             name * string
Name of the client attribute
                             value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
                 breakEnd [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the end of a break
                     EXT-X-DATERANGE tag object
                         type * string
[“dateRangeTag”]
Format type
                         clientAttributes * [object]
[] List of client attributes to insert
                             name * string
Name of the client attribute
                             value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
             adTrackingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad tracking is formatted by the manifest manipulator
                 EXT-X-DATERANGE tag object
                     type * string
[“dateRangeTag”]
Format type
                     clientAttributes * [object]
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] List of client attributes to insert
                         name * string
Name of the client attribute
                         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}.
             paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                 baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                     Base URL string
                 distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                 queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                     rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                     exceptions [string]
[] List of query parameter names that are exceptions to the rule
                         Query Parameter string
                 httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                     HTTP Headers string
                 connection object
{} HTTP connection settings
                     timeout integer
5000 Timeout while fetching source (in milliseconds)
                     retryCount integer
0 Retry count while fetching source (in milliseconds)
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
             playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
                 anonymous object
Playlist name mapping between the source and ad playlists.
If source playlist name is not in the array, source playlist name is used for ad playlists fetching
                     type * string
[“staticMapping”]
                     mappings * [object]
                         sourceName * string
                         adsName * string
                         paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
                 anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
                     type * string
[“dynamicMapping”]
                     videoOnly object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     audioOnly object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“audioCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“channels”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     audioVideo object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“audioCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“channels”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     iFrame object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     subtitles object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     image object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             eventIdentification object
Select splice fields required to uniquely identify an event
                 spliceEventId boolean
true SpliceInsert EventId or TimeSignal SegmentationEventId
                 spliceTime boolean
false Splice Time PTS

* : mandatory fields.

Trimming

Name Type Default Description
         anonymous object(categories)
             type * string
[“hlsTrimming”]
             name string
“Trimming”
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Alternate Live Content

Name Type Default Description
         anonymous object(categories)
             type * string
[“hlsAlternateContent”]
             name string
“Alternate Content”
             decisionServerId string
SCTE-224 or SCTE-250 decision server
             alternateSourceUrl * string
“${action:Content}” Templatable value to access the alternate content master playlist.
The master playlist must contain all available media playlists.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
             alternateDistributionUrl string
URL template to reach the origin server.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
             alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                     Query Parameter string
             alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                 HTTP Headers string
             alternateConnection object
{} HTTP connection settings
                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                 retryCount integer
0 Retry count while fetching source (in milliseconds)
             behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
             paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                 baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                     Base URL string
                 distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                 queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                     rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                     exceptions [string]
[] List of query parameter names that are exceptions to the rule
                         Query Parameter string
                 httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                     HTTP Headers string
                 connection object
{} HTTP connection settings
                     timeout integer
5000 Timeout while fetching source (in milliseconds)
                     retryCount integer
0 Retry count while fetching source (in milliseconds)
             maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
             maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
             minAlternateDelay integer
12000 Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation.
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
             playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
                 anonymous object
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching
                     type * string
[“staticMapping”]
                     mappings * [object]
                         sourceName * string
                         alternateName * string
                         paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
                 anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
                     type * string
[“dynamicMapping”]
                     videoOnly object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     audioOnly object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“audioCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“channels”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     audioVideo object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“audioCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“channels”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     iFrame object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     subtitles object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     image object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Blackout VOD Content

Name Type Default Description
         anonymous object(categories)
             type * string
[“hlsBlackout”]
             name string
“Blackout”
             decisionServerId string
SCTE-224 or SCTE-250 decision server
             alternateSourceUrl * string
“${action:Content}” Templatable value to access the Blackout master playlist.
The Blackout master playlist must contain all available VOD media playlists.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
             alternateDistributionUrl string
URL template to reach the origin server.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
             alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                 rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                 exceptions [string]
[] List of query parameter names that are exceptions to the rule
                     Query Parameter string
             alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                 HTTP Headers string
             alternateConnection object
{} HTTP connection settings
                 timeout integer
5000 Timeout while fetching source (in milliseconds)
                 retryCount integer
0 Retry count while fetching source (in milliseconds)
             behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
             paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
                 baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
                     Base URL string
                 distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
                 queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
                     rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
                     exceptions [string]
[] List of query parameter names that are exceptions to the rule
                         Query Parameter string
                 httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
                     HTTP Headers string
                 connection object
{} HTTP connection settings
                     timeout integer
5000 Timeout while fetching source (in milliseconds)
                     retryCount integer
0 Retry count while fetching source (in milliseconds)
             maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
             maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string
             placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceBasicMatching”]
Trigger type
                     spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
                     segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
                     durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
                 anonymous object
                     type * string
[“spliceAdvancedMatching”]
                     signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
                 anonymous object
                     type * string
[“customEventMatching”]
                     customVariables [object]
Custom values from event signaling matching
                         custom Variables object(grid)
Custom values from event signaling matching
                             name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                             present boolean
custom value must be present
                             value string
Expected Value
                     durationPresent boolean
Duration must be available in the event
                     idPresent boolean
ID must be available in the event
                     scte35Present boolean
SCTE35 must be available in the event
                     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
             playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
                 anonymous object
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching
                     type * string
[“staticMapping”]
                     mappings * [object]
                         sourceName * string
                         alternateName * string
                         paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
                 anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
                     type * string
[“dynamicMapping”]
                     videoOnly object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     audioOnly object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“audioCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“channels”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     audioVideo object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“audioCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“channels”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     iFrame object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     subtitles object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“language”]
                                     tolerance string
[“exactMatching”, “alternateLanguage”]
                                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“groupId”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
                     image object
                         rules * [oneOf]
[]
                             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“videoCodec”]
                                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“bandwidth”, “averageBandwidth”]
                                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“frameRate”]
                                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                                 anonymous object(grid-strict)
                                     type * string
[“width”, “height”]
                                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Timeline Info

Name Type Default Description
         anonymous object(categories)
             type * string
[“hlsTimelineInfo”]
             name string
“Timeline Info”
             operationTriggers object
The operation is triggered if the request fullfills all conditions
                 inputRequest [object]
                     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
                     name * string
                     condition * string
[“contains”, “doesNotContain”]
                     value * string

* : mandatory fields.

Name Type Default Description
httpResponseHeaders [object]
[{“header”:“Content-Type”, “value”:“application/vnd.apple.mpegurl”, “enableMaster”:true, “enableMedia”:true}, {“header”:“Access-Control-Allow-Origin”, “value”:“*“,”enableMaster”:true, “enableMedia”:true}] HTTP headers to be added to responses
     header * string
Http header
     value * string
Value of the http header
     enableMaster * boolean
true Apply this header to master playlists
     enableMedia * boolean
true Apply this header to media playlists

* : mandatory fields.

Example

id: cmaf
sessionManagement: {}
tenantId: synamadia
source:
  type: hlsPlaylistFetch
  sourceBaseUrl: http://myCDN/dash/vodc/${assetPath}
  distributionUrl: https://cdn1.example.com/dash/vodc/${assetPath}
  queryParameterForward:
    rule: all
    exceptions: []
  httpHeaderForward:
    - x-amz-cf-id
  connection: {}
  defaultProfileId: HD
  customEventSignaling: string
output: {}
authorization:
  rejectionErrorCode: 401
  rejectionErrorMessage: Unauthorized
  authorizations:
    - source: inputRequestQuery
      name: string
      condition: contains
      value: string
masterPlaylist: {}
mediaPlaylist: {}
operations: []
httpResponseHeaders:
  - header: Content-Type
    value: application/vnd.apple.mpegurl
    enableMaster: true
    enableMedia: true
  - header: Access-Control-Allow-Origin
    value: "*"
    enableMaster: true
    enableMedia: true

hlsSource

Properties

Name Type Default Description
Source any
Define how to get the reference playlist

* : mandatory fields.

Fetch the playlist from an origin server

Name Type Default Description
type * string
[“hlsPlaylistFetch”]
sourceBaseUrl * string
URL template to reach the origin server.
Playlist filename is extracted from incoming URL.

Available token:
- ${assetPath}: path to the asset from the incoming request URL.
distributionUrl string
URL template to reach the origin server. Token is ${assetPath}
queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
connection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
defaultProfileId string
Default encoding profile identifier used when fetching ad playlists.
This value is used if the encoding profile identifier is not present in the source playlist.

Related tokens:
- ${profileId}: in adsSourceUrl, paddingAssets.baseUrls, missingAdsTranscoding.assetPathDestination
customEventSignaling string
Use custom event placement signaling for this source.
Must match a event placement signaling defined in the settings

* : mandatory fields.

Generate a interstitial from a ADS response

Name Type Default Description
type * string
[“hlsAdInterstitial”]
decisionServerId * string
VAST decision server
adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
adsConnection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
paddingAssetUrl string
Url of the asset used to pad to minimize discontinuity
minPaddingDuration integer
100 Define the min duration of a padding segment ms

* : mandatory fields.

Example

type: hlsPlaylistFetch
sourceBaseUrl: http://myCDN/dash/vodc/${assetPath}
distributionUrl: https://cdn1.example.com/dash/vodc/${assetPath}
queryParameterForward:
  rule: all
  exceptions: []
httpHeaderForward:
  - x-amz-cf-id
connection: {}
defaultProfileId: HD
customEventSignaling: string

hlsOperation

Properties

Name Type Default Description
Operation any
transformation applied to a hls playlist

* : mandatory fields.

Ad Insertion

Name Type Default Description
type * string
[“hlsAdInsertion”]
name string
“Ad Insertion”
decisionServerId * string
VMAP decision server Id
adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
adsDistributionUrl string
URL template to reach an ads server.

Available tokens from VMAP response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID
adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
adsConnection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
insertionLocation string
[“nearestSegment”, “nearestPeriod”]
“nearestSegment” Ad insertion location
tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
         anonymous object
             type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
         anonymous object
             type * string
[“serverSide”]
             trackingServerEndpoint * string
             trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                 header * string
                 value * string
             trackingMacros object
Tracking macros management
                 enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                 filtering [string]
Define the macros to be forwarded
                     Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
         anonymous object
             type * string
[“clientSideProxing”]
             trackingServerEndpoint * string
             trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                 header * string
                 value * string
             trackingMacros object
Tracking macros management
                 enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                 filtering [string]
Define the macros to be forwarded
                     Macro name string

* : mandatory fields.

Name Type Default Description
     adSignalingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad signaling is formatted by the manifest manipulator
         EXT-X-DATERANGE tag object
             type * string
[“dateRangeTag”]
Format type
             clientAttributes * [object]
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] List of client attributes to insert
                 name * string
Name of the client attribute
                 value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
     breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
         breakStart [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the start of a break
             EXT-X-DATERANGE tag object
                 type * string
[“dateRangeTag”]
Format type
                 clientAttributes * [object]
[] List of client attributes to insert
                     name * string
Name of the client attribute
                     value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
         breakEnd [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the end of a break
             EXT-X-DATERANGE tag object
                 type * string
[“dateRangeTag”]
Format type
                 clientAttributes * [object]
[] List of client attributes to insert
                     name * string
Name of the client attribute
                     value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
     adTrackingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad tracking is formatted by the manifest manipulator
         EXT-X-DATERANGE tag object
             type * string
[“dateRangeTag”]
Format type
             clientAttributes * [object]
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] List of client attributes to insert
                 name * string
Name of the client attribute
                 value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}.
     operationTriggers object
The operation is triggered if the request fullfills all conditions
         inputRequest [object]
             source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
             name * string
             condition * string
[“contains”, “doesNotContain”]
             value * string
     placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
     playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
         anonymous object
Playlist name mapping between the source and ad playlists.
If source playlist name is not in the array, source playlist name is used for ad playlists fetching
             type * string
[“staticMapping”]
             mappings * [object]
                 sourceName * string
                 adsName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
         anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
             type * string
[“dynamicMapping”]
             videoOnly object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             audioOnly object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“audioCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“channels”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             audioVideo object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“audioCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“channels”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             iFrame object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             subtitles object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             image object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Ad Replacement

Name Type Default Description
type * string
[“hlsAdReplacement”]
name string
“Ad Replacement”
decisionServerId * string
VAST decision server Id
adsSourceUrl * string
“${mediaFile}” URL template to access the ad creative’s manifest file.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID

Use cases:
- Simple passthrough: “${mediaFile}”
- Custom CDN structure: “http://cdn.example.com/ads/${adId}/${profileId}”
- Base64 encoded path: “http://proxy.example.com/fetch?url=${mediaFileBase64}”

Function tokens (rewrite the resolved value; applied after the ${…} tokens above):
- @replace:<value>;<search>;<replace>;<method>;<flags>@ : method = strict (default) or regex; flags = i (ignore case) and/or g (global). e.g. @replace:${mediaFile};dash;hls;strict@
- @regex:<value>;<regex>;<default>@ : returns capture group 1, or
adsDistributionUrl string
URL template to reach an ads server.

Available tokens from VAST response:
- ${mediaFile}: Direct media file URL from VAST MediaFile element
- ${mediaFileBase64}: Base64-encoded version of ${mediaFile}
- ${creativeId}: VAST Creative ID
- ${creativeAdId}: VAST Creative AdID attribute
- ${adTitle}: Ad title from VAST AdTitle element
- ${adId}: VAST Ad ID

Available Manifest tokens:
- ${profileId}: Encoding profile ID
adsQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
adsHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
adsConnection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
staticAssetBehavior object
    midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
             anonymous object
                 type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
             anonymous object
                 type * string
[“keepOriginalAdBreak”]
                 maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                 maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                 maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                 paddingDistribution object
                     breakStart boolean
false Enable padding at start of break.
                     betweenAds boolean
false Enable padding between ads of break.
                     breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
         enablePreRoll boolean
false Enable pre-roll ad insertion
         enablePostRoll boolean
false Enable post-roll ad insertion
     dynamicAssetBehavior object
         midRollDurationMismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
             anonymous object
                 type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
             anonymous object
                 type * string
[“keepOriginalAdBreak”]
                 maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
                 maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
                 maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
                 paddingDistribution object
                     breakStart boolean
false Enable padding at start of break.
                     betweenAds boolean
false Enable padding between ads of break.
                     breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Name Type Default Description
         adReplacementWindow integer
Define the edge time window in seconds during which ad replacement will be done.
     prebidding string
[“disabled”, “enabled”, “required”]
“disabled” Prebidding configuration
     tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
         anonymous object
             type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
         anonymous object
             type * string
[“serverSide”]
             trackingServerEndpoint * string
             trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                 header * string
                 value * string
             trackingMacros object
Tracking macros management
                 enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                 filtering [string]
Define the macros to be forwarded
                     Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
         anonymous object
             type * string
[“clientSideProxing”]
             trackingServerEndpoint * string
             trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
                 header * string
                 value * string
             trackingMacros object
Tracking macros management
                 enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
                 filtering [string]
Define the macros to be forwarded
                     Macro name string

* : mandatory fields.

Name Type Default Description
     adSignalingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad signaling is formatted by the manifest manipulator
         EXT-X-DATERANGE tag object
             type * string
[“dateRangeTag”]
Format type
             clientAttributes * [object]
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] List of client attributes to insert
                 name * string
Name of the client attribute
                 value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
     breakSignalingFormat object
Define how break signaling is formatted by the manifest manipulator
         breakStart [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the start of a break
             EXT-X-DATERANGE tag object
                 type * string
[“dateRangeTag”]
Format type
                 clientAttributes * [object]
[] List of client attributes to insert
                     name * string
Name of the client attribute
                     value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
         breakEnd [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the end of a break
             EXT-X-DATERANGE tag object
                 type * string
[“dateRangeTag”]
Format type
                 clientAttributes * [object]
[] List of client attributes to insert
                     name * string
Name of the client attribute
                     value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
     adTrackingFormat [oneOf]
[{“type”:“dateRangeTag”}] Define how ad tracking is formatted by the manifest manipulator
         EXT-X-DATERANGE tag object
             type * string
[“dateRangeTag”]
Format type
             clientAttributes * [object]
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] List of client attributes to insert
                 name * string
Name of the client attribute
                 value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}.
     paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
         baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
             Base URL string
         distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
         queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
             rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
             exceptions [string]
[] List of query parameter names that are exceptions to the rule
                 Query Parameter string
         httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
             HTTP Headers string
         connection object
{} HTTP connection settings
             timeout integer
5000 Timeout while fetching source (in milliseconds)
             retryCount integer
0 Retry count while fetching source (in milliseconds)
     operationTriggers object
The operation is triggered if the request fullfills all conditions
         inputRequest [object]
             source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
             name * string
             condition * string
[“contains”, “doesNotContain”]
             value * string
     placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
     playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
         anonymous object
Playlist name mapping between the source and ad playlists.
If source playlist name is not in the array, source playlist name is used for ad playlists fetching
             type * string
[“staticMapping”]
             mappings * [object]
                 sourceName * string
                 adsName * string
                 paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
         anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
             type * string
[“dynamicMapping”]
             videoOnly object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             audioOnly object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“audioCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“channels”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             audioVideo object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“audioCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“channels”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             iFrame object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             subtitles object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             image object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     eventIdentification object
Select splice fields required to uniquely identify an event
         spliceEventId boolean
true SpliceInsert EventId or TimeSignal SegmentationEventId
         spliceTime boolean
false Splice Time PTS

* : mandatory fields.

Trimming

Name Type Default Description
type * string
[“hlsTrimming”]
name string
“Trimming”
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string
placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Alternate Live Content

Name Type Default Description
type * string
[“hlsAlternateContent”]
name string
“Alternate Content”
decisionServerId string
SCTE-224 or SCTE-250 decision server
alternateSourceUrl * string
“${action:Content}” Templatable value to access the alternate content master playlist.
The master playlist must contain all available media playlists.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
alternateDistributionUrl string
URL template to reach the origin server.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
alternateConnection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
    baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
        Base URL string
    distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
    queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
        rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
        exceptions [string]
[] List of query parameter names that are exceptions to the rule
            Query Parameter string
    httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
        HTTP Headers string
    connection object
{} HTTP connection settings
        timeout integer
5000 Timeout while fetching source (in milliseconds)
        retryCount integer
0 Retry count while fetching source (in milliseconds)
maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
minAlternateDelay integer
12000 Define the minimum delay to apply to the alternate content compared to the live in order to prevent buffer starvation.
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string
placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
     playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
         anonymous object
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching
             type * string
[“staticMapping”]
             mappings * [object]
                 sourceName * string
                 alternateName * string
                 paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
         anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
             type * string
[“dynamicMapping”]
             videoOnly object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             audioOnly object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“audioCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“channels”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             audioVideo object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“audioCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“channels”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             iFrame object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             subtitles object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             image object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Blackout VOD Content

Name Type Default Description
type * string
[“hlsBlackout”]
name string
“Blackout”
decisionServerId string
SCTE-224 or SCTE-250 decision server
alternateSourceUrl * string
“${action:Content}” Templatable value to access the Blackout master playlist.
The Blackout master playlist must contain all available VOD media playlists.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
alternateDistributionUrl string
URL template to reach the origin server.

Available tokens:
- ${action:Content}: Content URL from Signal Decision action
- ${profileId}: Profile Id
alternateQueryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
    rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
    exceptions [string]
[] List of query parameter names that are exceptions to the rule
        Query Parameter string
alternateHttpHeaderForward [string]
List of HTTP headers forwarded to the origin server
    HTTP Headers string
alternateConnection object
{} HTTP connection settings
    timeout integer
5000 Timeout while fetching source (in milliseconds)
    retryCount integer
0 Retry count while fetching source (in milliseconds)
behaviorIfAlternateUnavailable string
[“returnError”, “skipOperation”]
“returnError” Define the behavior of the operation if the alternate content is not available.
paddingAssets object
Assets used to pad to minimize discontinuity.
It is recommended to have the same asset with a duration interval of 0.5s (500ms, 1000ms … up to the max padding duration).
    baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
        Base URL string
    distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
    queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
        rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
        exceptions [string]
[] List of query parameter names that are exceptions to the rule
            Query Parameter string
    httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
        HTTP Headers string
    connection object
{} HTTP connection settings
        timeout integer
5000 Timeout while fetching source (in milliseconds)
        retryCount integer
0 Retry count while fetching source (in milliseconds)
maxExtraLatency integer
6000 Define the maximum allowed latency introduced by a alternate content overshoot or a whole padding segment insertion.
maxPeriodDiscontinuity integer
0 Define the maximum discontinuity between the alternate content and the back to live.
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string
placementSignaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceBasicMatching”]
Trigger type
             spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
             segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
             durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
         anonymous object
             type * string
[“spliceAdvancedMatching”]
             signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
         anonymous object
             type * string
[“customEventMatching”]
             customVariables [object]
Custom values from event signaling matching
                 custom Variables object(grid)
Custom values from event signaling matching
                     name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     present boolean
custom value must be present
                     value string
Expected Value
             durationPresent boolean
Duration must be available in the event
             idPresent boolean
ID must be available in the event
             scte35Present boolean
SCTE35 must be available in the event
             scte224PolicyPresent boolean
SCTE224 Policy must be available in the event
     playlistSelection object

* : mandatory fields.

Static Mapping

Name Type Default Description
         anonymous object
Playlist name mapping between the source and alternate playlist.
If source playlist name is not in the array, source playlist name is used for alternate playlist fetching
             type * string
[“staticMapping”]
             mappings * [object]
                 sourceName * string
                 alternateName * string
                 paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
         anonymous object(categories)
Dynamic playlist matching rules.
If no matching can be found, source playlist name is used for playlist fetching
             type * string
[“dynamicMapping”]
             videoOnly object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             audioOnly object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“audioCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“channels”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             audioVideo object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“audioCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“channels”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             iFrame object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             subtitles object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“language”]
                             tolerance string
[“exactMatching”, “alternateLanguage”]
                             alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“groupId”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
             image object
                 rules * [oneOf]
[]
                     Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“videoCodec”]
                             tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“bandwidth”, “averageBandwidth”]
                             toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“frameRate”]
                             toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                             toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                         anonymous object(grid-strict)
                             type * string
[“width”, “height”]
                             tolerance * string
[“exactMatching”]

* : mandatory fields.

Timeline Info

Name Type Default Description
type * string
[“hlsTimelineInfo”]
name string
“Timeline Info”
operationTriggers object
The operation is triggered if the request fullfills all conditions
    inputRequest [object]
        source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
        name * string
        condition * string
[“contains”, “doesNotContain”]
        value * string

* : mandatory fields.

Example

type: hlsAdInsertion
name: Ad Insertion
decisionServerId: string
adsSourceUrl: http://myCDN/hls/${adId}/${profileId}/index.m3u8
adsDistributionUrl: string
adsQueryParameterForward:
  rule: all
  exceptions: []
adsHttpHeaderForward:
  - x-amz-cf-id
adsConnection: {}
insertionLocation: nearestSegment
tracking:
  type: direct
adSignalingFormat:
  - type: dateRangeTag
breakSignalingFormat:
  breakStart:
    - type: dateRangeTag
  breakEnd:
    - type: dateRangeTag
adTrackingFormat:
  - type: dateRangeTag
operationTriggers:
  inputRequest:
    - source: inputRequestQuery
      name: string
      condition: contains
      value: string
placementSignaling:
  - type: spliceBasicMatching
    spliceCommandType: spliceInsert
    segmentationTypeId: 15
    durationPresent: true
playlistSelection:
  type: staticMapping
  mappings:
    - sourceName: video1.m3u8
      adsName: video7Mps.m3u8

hlsAdSignalingFormat

Properties

Name Type Default Description
Ad Signaling Format [oneOf]
[{“type”:“dateRangeTag”}] Define how ad signaling is formatted by the manifest manipulator
EXT-X-DATERANGE tag object
     type * string
[“dateRangeTag”]
Format type
     clientAttributes * [object]
[{“name”:“X-PRESENTATION-TIME”, “value”:“${adStartMs}”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.adbreak"”}, {“name”:“X-AD-TYPE”, “value”:“"${adType}"”}] List of client attributes to insert
         name * string
Name of the client attribute
         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.

* : mandatory fields.

Example

- type: dateRangeTag

hlsBreakSignalingFormat

Properties

Name Type Default Description
breakStart [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the start of a break
     EXT-X-DATERANGE tag object
         type * string
[“dateRangeTag”]
Format type
         clientAttributes * [object]
[] List of client attributes to insert
             name * string
Name of the client attribute
             value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.
breakEnd [oneOf]
[{“type”:“dateRangeTag”}] Signaling format for the end of a break
     EXT-X-DATERANGE tag object
         type * string
[“dateRangeTag”]
Format type
         clientAttributes * [object]
[] List of client attributes to insert
             name * string
Name of the client attribute
             value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adStartMs} and ${adType}.

* : mandatory fields.

Example

breakStart:
  - type: dateRangeTag
breakEnd:
  - type: dateRangeTag

hlsAdTrackingFormat

Properties

Name Type Default Description
Ad Tracking Format [oneOf]
[{“type”:“dateRangeTag”}] Define how ad tracking is formatted by the manifest manipulator
EXT-X-DATERANGE tag object
     type * string
[“dateRangeTag”]
Format type
     clientAttributes * [object]
[{“name”:“X-AD-URL”, “value”:“"${trackingUrl}"”}, {“name”:“X-AD-ID”, “value”:“"${adId}"”}, {“name”:“CLASS”, “value”:“"com.synamedia.dai.tracking"”}, {“name”:“X-AD-EVENT-TYPE”, “value”:“"${trackingEvent}"”}] List of client attributes to insert
         name * string
Name of the client attribute
         value * string
Templated value of the client attribute. Usable tokens are ${eventId}, ${adStartDate}, ${adDuration}, ${adId}, ${trackingEvent} and ${trackingUrl}.

* : mandatory fields.

Example

- type: dateRangeTag

hlsPaddingAssets

Properties

Name Type Default Description
baseUrls * [string]
Urls of the asset used to pad to minimize discontinuity.

Available token:
- ${profileId}: Encoding profile ID
     Base URL string
distributionBaseUrl string
URL template to reach a list of origin servers.

Available token:
- ${profileId}: Encoding profile ID
queryParameterForward object
Define which query parameters from the input request are forwarded to the origin server
     rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
     exceptions [string]
[] List of query parameter names that are exceptions to the rule
         Query Parameter string
httpHeaderForward [string]
List of HTTP headers forwarded to the origin server
     HTTP Headers string
connection object
{} HTTP connection settings
     timeout integer
5000 Timeout while fetching source (in milliseconds)
     retryCount integer
0 Retry count while fetching source (in milliseconds)

* : mandatory fields.

Example

baseUrls:
  - http://myCDN/cmaf/black-500ms/
distributionBaseUrl: https://myCDN/hls/cdvr/${profileId}
queryParameterForward:
  rule: all
  exceptions: []
httpHeaderForward:
  - x-amz-cf-id
connection: {}

hlsPlaylistSelectionAdInsertion

Properties

Static Mapping

Name Type Default Description
type * string
[“staticMapping”]
mappings * [object]
    sourceName * string
    adsName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
type * string
[“dynamicMapping”]
videoOnly object
    rules * [oneOf]
[]
        Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     audioOnly object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“audioCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“channels”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     audioVideo object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“audioCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“channels”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     iFrame object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     subtitles object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     image object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Example

type: staticMapping
mappings:
  - sourceName: video1.m3u8
    adsName: video7Mps.m3u8

hlsPlaylistSelectionAdReplacement

Properties

Static Mapping

Name Type Default Description
type * string
[“staticMapping”]
mappings * [object]
    sourceName * string
    adsName * string
    paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
type * string
[“dynamicMapping”]
videoOnly object
    rules * [oneOf]
[]
        Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     audioOnly object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“audioCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“channels”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     audioVideo object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“audioCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“channels”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     iFrame object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     subtitles object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     image object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Example

type: staticMapping
mappings:
  - sourceName: video1.m3u8
    adsName: video7Mps.m3u8
    paddingName: video7Mps

hlsPlaylistSelectionAlternateContent

Properties

Static Mapping

Name Type Default Description
type * string
[“staticMapping”]
mappings * [object]
    sourceName * string
    alternateName * string
    paddingName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
type * string
[“dynamicMapping”]
videoOnly object
    rules * [oneOf]
[]
        Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     audioOnly object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“audioCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“channels”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     audioVideo object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“audioCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“channels”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     iFrame object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     subtitles object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     image object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Example

type: staticMapping
mappings:
  - sourceName: video1.m3u8
    alternateName: video7Mps.m3u8
    paddingName: video7Mps

hlsPlaylistSelectionEas

Properties

Static Mapping

Name Type Default Description
type * string
[“staticMapping”]
mappings * [object]
    sourceName * string
    alternateName * string

* : mandatory fields.

Dynamic Matching

Name Type Default Description
type * string
[“dynamicMapping”]
videoOnly object
    rules * [oneOf]
[]
        Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     audioOnly object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Audio Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“audioCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“channels”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     audioVideo object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Audio Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“audioCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Channels

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“channels”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     iFrame object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     subtitles object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Language

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“language”]
                     tolerance string
[“exactMatching”, “alternateLanguage”]
                     alternateLanguage string
The acceptable alternate language if the source language is not available (e.g. ‘fr’, ‘de’)

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Group-ID

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“groupId”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Name Type Default Description
     image object
         rules * [oneOf]
[]
             Criteria object
Criteria for playlist matching

* : mandatory fields.

Video Codec

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“videoCodec”]
                     tolerance * string
[“exactMatching”, “fourccMatching”]

* : mandatory fields.

Bandwidth

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“bandwidth”, “averageBandwidth”]
                     toleranceMin * number
Lower tolerance in % from the source bandwidth (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source bandwidth (ex: 10)

* : mandatory fields.

Frame Rate

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“frameRate”]
                     toleranceMin * number
Lower tolerance in % from the source frame rate (ex: -10)
                     toleranceMax * number
Upper tolerance in % from the source frame rate (ex: 10)

* : mandatory fields.

Resolution

Name Type Default Description
                 anonymous object(grid-strict)
                     type * string
[“width”, “height”]
                     tolerance * string
[“exactMatching”]

* : mandatory fields.

Example

type: staticMapping
mappings:
  - sourceName: video1.m3u8
    alternateName: video7Mps.m3u8

tracking

Properties

Name Type Default Description
Tracking any
{“type”:“direct”} Define how tracking are handle by the player

* : mandatory fields.

direct: tracking from ADS directly sent from the player

Name Type Default Description
type * string
[“direct”]

* : mandatory fields.

serverSide: tracking sent from tracking server

Name Type Default Description
type * string
[“serverSide”]
trackingServerEndpoint * string
trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
    header * string
    value * string
trackingMacros object
Tracking macros management
    enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
    filtering [string]
Define the macros to be forwarded
        Macro name string

* : mandatory fields.

clientSideProxing: tracking sent to tracking server and forwarded

Name Type Default Description
type * string
[“clientSideProxing”]
trackingServerEndpoint * string
trackingHttpHeaders [object]
[] ADS tracking HTTP headers.
Accept constant value or token to extract from different locations:
${requestQueryParameter}, ${requestHttpHeader}, ${requestUrl(.assetPath,.manifestName)}, ${sessionData}.
Example: “${requestQueryParameter.sessionId}/${requestUrl.manifestName}”
    header * string
    value * string
trackingMacros object
Tracking macros management
    enableForwarding boolean
false Forward ADS tracking macros to tracking server.
This allows the player to replace them with proper values and then the tracking server to replace them in ADS tracking URLs
    filtering [string]
Define the macros to be forwarded
        Macro name string

* : mandatory fields.

Example

type: direct

midRollDurationMismatch

Properties

Name Type Default Description
Mid Roll Duration Mismatch any
Define the procession behavior if the ads response list doesn’t match the ad break duration.

* : mandatory fields.

Adapt Break Duration To Match Ads Duration

Name Type Default Description
type * string
[“adaptBreakDuration”]

* : mandatory fields.

Keep The Original Ad break If Ads Duration Is Outside Of The Limits

Name Type Default Description
type * string
[“keepOriginalAdBreak”]
maxPaddingDuration integer
1000 Define the maximum padding duration to complete an ad break
maxExtraLatency integer
500 Define the maximum allowed latency introduced by an adbreak overshoot or a whole padding segment insertion.
maxPeriodDiscontinuity integer
0 Define the max discontinuity between the ad break and the back to live.
paddingDistribution object
    breakStart boolean
false Enable padding at start of break.
    betweenAds boolean
false Enable padding between ads of break.
    breakEnd boolean
true Enable padding at end of break.

* : mandatory fields.

Example

type: adaptBreakDuration

operationTriggers

Properties

Name Type Default Description
inputRequest [object]
     source * string
[“inputRequestQuery”, “inputHttpHeader”, “sessionData”]
     name * string
     condition * string
[“contains”, “doesNotContain”]
     value * string

* : mandatory fields.

Example

inputRequest:
  - source: inputRequestQuery
    name: string
    condition: contains
    value: string

placementSignaling

Properties

Name Type Default Description
Placement Signaling [oneOf]
The operation is triggered if any of the trigger conditions are fullfilled

* : mandatory fields.

Splice basic operation Matching

Name Type Default Description
type * string
[“spliceBasicMatching”]
Trigger type
spliceCommandType * string
[“spliceInsert”, “timeSignal”]
“spliceInsert” Must have the following splice command type to match
segmentationTypeId integer
Must have a segmentation descriptor with the following type ID to match
durationPresent boolean
Duration must be available in the event

* : mandatory fields.

Splice advanced operation Matching

Name Type Default Description
type * string
[“spliceAdvancedMatching”]
signalMatching * string
Signal matching XML string as defined in SCTE 224 specification

* : mandatory fields.

Custom Event Matching

Name Type Default Description
type * string
[“customEventMatching”]
customVariables [object]
Custom values from event signaling matching
    custom Variables object(grid)
Custom values from event signaling matching
        name * string
Name of the custom value

* : mandatory fields.

Name Type Default Description
                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
             present boolean
custom value must be present
             value string
Expected Value
     durationPresent boolean
Duration must be available in the event
     idPresent boolean
ID must be available in the event
     scte35Present boolean
SCTE35 must be available in the event
     scte224PolicyPresent boolean
SCTE224 Policy must be available in the event

* : mandatory fields.

Example

- type: spliceBasicMatching
  spliceCommandType: spliceInsert
  segmentationTypeId: 15
  durationPresent: true

queryParameterForward

Properties

Name Type Default Description
rule * string
[“all”, “none”]
“none” Forwarding rule. “all” forwards all query parameters except the ones listed in “exceptions”. “none” forwards no query parameters except the ones listed in “exceptions”.
exceptions [string]
[] List of query parameter names that are exceptions to the rule
     Query Parameter string

* : mandatory fields.

Example

rule: all
exceptions: []

transform

Properties

Name Type Default Description
Transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
type * string
[“split”]
“split” Type of the transform
separator * string
Separator used to split the value
position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
type * string
[“keyValueList”]
“keyValueList” Type of the transform
key * string
Key to retrieve the value
listSeparator * string
“,” Separator used to split each key value pair in the list
keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Example

- type: split
  separator: string
  position: 0

eventIdentification

Properties

Name Type Default Description
spliceEventId boolean
true SpliceInsert EventId or TimeSignal SegmentationEventId
spliceTime boolean
false Splice Time PTS

* : mandatory fields.

Example

spliceEventId: true
spliceTime: false

hlsEventSignalingFormat

Properties

Name Type Default Description
id * string
ID of the event signaling format
tags * object
Collection of tags describing the placement signaling
     first * [object]
First tags
         Tag object
Base Tag matching XML string as defined in RFC 8216 specification
             name * string
Name of the tag matching XML string
     span [object]
Span tags
         Tag object
Base Tag matching XML string as defined in RFC 8216 specification
             name * string
Name of the tag matching XML string
     last [object]
Last tags
         Tag object
Base Tag matching XML string as defined in RFC 8216 specification
             name * string
Name of the tag matching XML string
variables * object
Collection of variables present in event signalings
     id object
Event Id
can be used with token ${event.id} in VAST requests
Also used internally for generating tracking events
         type * string
[“string”]
“string” Type of the value
         locations * [object]
Possible locations of the value
             Source of the value object(grid)
Source of the value
                 type * string
[“hls”]
“hls” Type of the valueDataSource
                 tagName * string
Name of the tag carrying the value
                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                     anonymous object(grid)
Source is the tag Value
                         type * string
[“tagValue”]
“tagValue” Type of the value
                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                     anonymous object(grid)
Source is an attribute of the tag
                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                     anonymous object
Value has to be retrieved using a split method
                         type * string
[“split”]
“split” Type of the transform
                         separator * string
Separator used to split the value
                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Base64 decode method
                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Key Value List method
                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                         key * string
Key to retrieve the value
                         listSeparator * string
“,” Separator used to split each key value pair in the list
                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     scte35 object
SCTE35 value
Used for basic and advanced matching of splice events
Can be used with tokens ${splice.[param]} in VAST requests
         type * string
[“scte35”]
“scte35” Type of the value
         format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
         locations * [object]
Possible locations of the value
             Source of the value object(grid)
Source of the value
                 type * string
[“hls”]
“hls” Type of the valueDataSource
                 tagName * string
Name of the tag carrying the value
                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                     anonymous object(grid)
Source is the tag Value
                         type * string
[“tagValue”]
“tagValue” Type of the value
                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                     anonymous object(grid)
Source is an attribute of the tag
                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                     anonymous object
Value has to be retrieved using a split method
                         type * string
[“split”]
“split” Type of the transform
                         separator * string
Separator used to split the value
                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Base64 decode method
                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Key Value List method
                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                         key * string
Key to retrieve the value
                         listSeparator * string
“,” Separator used to split each key value pair in the list
                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     duration object
Duration value
Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests
         type * string
[“time”]
“time” Type of the value
         format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
         locations * [object]
Possible locations of the value
             Source of the value object(grid)
Source of the value
                 type * string
[“hls”]
“hls” Type of the valueDataSource
                 tagName * string
Name of the tag carrying the value
                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                     anonymous object(grid)
Source is the tag Value
                         type * string
[“tagValue”]
“tagValue” Type of the value
                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                     anonymous object(grid)
Source is an attribute of the tag
                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                     anonymous object
Value has to be retrieved using a split method
                         type * string
[“split”]
“split” Type of the transform
                         separator * string
Separator used to split the value
                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Base64 decode method
                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Key Value List method
                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                         key * string
Key to retrieve the value
                         listSeparator * string
“,” Separator used to split each key value pair in the list
                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     elapsedTime object
Elapsed Time value (used internally to track time since event started)
         type * string
[“time”]
“time” Type of the value
         format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
         locations * [object]
Possible locations of the value
             Source of the value object(grid)
Source of the value
                 type * string
[“hls”]
“hls” Type of the valueDataSource
                 tagName * string
Name of the tag carrying the value
                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                     anonymous object(grid)
Source is the tag Value
                         type * string
[“tagValue”]
“tagValue” Type of the value
                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                     anonymous object(grid)
Source is an attribute of the tag
                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                     anonymous object
Value has to be retrieved using a split method
                         type * string
[“split”]
“split” Type of the transform
                         separator * string
Separator used to split the value
                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Base64 decode method
                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Key Value List method
                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                         key * string
Key to retrieve the value
                         listSeparator * string
“,” Separator used to split each key value pair in the list
                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     scte224Policy object
Scte224 Policy value
         type * string
[“string”]
“string” Type of the value
         locations * [object]
Possible locations of the value
             Source of the value object(grid)
Source of the value
                 type * string
[“hls”]
“hls” Type of the valueDataSource
                 tagName * string
Name of the tag carrying the value
                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                     anonymous object(grid)
Source is the tag Value
                         type * string
[“tagValue”]
“tagValue” Type of the value
                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                     anonymous object(grid)
Source is an attribute of the tag
                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                     anonymous object
Value has to be retrieved using a split method
                         type * string
[“split”]
“split” Type of the transform
                         separator * string
Separator used to split the value
                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Base64 decode method
                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Key Value List method
                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                         key * string
Key to retrieve the value
                         listSeparator * string
“,” Separator used to split each key value pair in the list
                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     custom [oneOf]
Collection of customable variables that can be used in for VAST requests using token ${event.}

* : mandatory fields.

String Value

Name Type Default Description
         anonymous object
             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
             type * string
[“string”]
“string” Type of the value
             locations * [object]
Possible locations of the value
                 Source of the value object(grid)
Source of the value
                     type * string
[“hls”]
“hls” Type of the valueDataSource
                     tagName * string
Name of the tag carrying the value
                     location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                         anonymous object(grid)
Source is the tag Value
                             type * string
[“tagValue”]
“tagValue” Type of the value
                             position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                         anonymous object(grid)
Source is an attribute of the tag
                             type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                             attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                         anonymous object
Value has to be retrieved using a split method
                             type * string
[“split”]
“split” Type of the transform
                             separator * string
Separator used to split the value
                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Base64 decode method
                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Key Value List method
                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                             key * string
Key to retrieve the value
                             listSeparator * string
“,” Separator used to split each key value pair in the list
                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Time Value

Name Type Default Description
         anonymous object
             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
             type * string
[“time”]
“time” Type of the value
             format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
             locations * [object]
Possible locations of the value
                 Source of the value object(grid)
Source of the value
                     type * string
[“hls”]
“hls” Type of the valueDataSource
                     tagName * string
Name of the tag carrying the value
                     location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                         anonymous object(grid)
Source is the tag Value
                             type * string
[“tagValue”]
“tagValue” Type of the value
                             position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                         anonymous object(grid)
Source is an attribute of the tag
                             type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                             attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                         anonymous object
Value has to be retrieved using a split method
                             type * string
[“split”]
“split” Type of the transform
                             separator * string
Separator used to split the value
                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Base64 decode method
                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Key Value List method
                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                             key * string
Key to retrieve the value
                             listSeparator * string
“,” Separator used to split each key value pair in the list
                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

SCTE35 Value

Name Type Default Description
         anonymous object
             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
             type * string
[“scte35”]
“scte35” Type of the value
             format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
             locations * [object]
Possible locations of the value
                 Source of the value object(grid)
Source of the value
                     type * string
[“hls”]
“hls” Type of the valueDataSource
                     tagName * string
Name of the tag carrying the value
                     location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                         anonymous object(grid)
Source is the tag Value
                             type * string
[“tagValue”]
“tagValue” Type of the value
                             position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                         anonymous object(grid)
Source is an attribute of the tag
                             type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                             attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                         anonymous object
Value has to be retrieved using a split method
                             type * string
[“split”]
“split” Type of the transform
                             separator * string
Separator used to split the value
                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Base64 decode method
                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Key Value List method
                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                             key * string
Key to retrieve the value
                             listSeparator * string
“,” Separator used to split each key value pair in the list
                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Example

id: string
tags:
  first:
    - name: string
  span:
    - name: string
  last:
    - name: string
variables:
  id:
    type: string
    locations:
      - type: hls
        tagName: string
        location:
          type: tagValue
          position: 0
        transform:
          - type: split
            separator: string
            position: 0
  scte35:
    type: scte35
    format: base64
    locations:
      - type: hls
        tagName: string
        location:
          type: tagValue
          position: 0
        transform:
          - type: split
            separator: string
            position: 0
  duration:
    type: time
    format: seconds
    locations:
      - type: hls
        tagName: string
        location:
          type: tagValue
          position: 0
        transform:
          - type: split
            separator: string
            position: 0
  elapsedTime:
    type: time
    format: seconds
    locations:
      - type: hls
        tagName: string
        location:
          type: tagValue
          position: 0
        transform:
          - type: split
            separator: string
            position: 0
  scte224Policy:
    type: string
    locations:
      - type: hls
        tagName: string
        location:
          type: tagValue
          position: 0
        transform:
          - type: split
            separator: string
            position: 0
  custom:
    - name: string
      type: string
      locations:
        - type: hls
          tagName: string
          location:
            type: tagValue
            position: 0
          transform:
            - type: split
              separator: string
              position: 0

dashEventSignalingFormat

Properties

Name Type Default Description
id * string
ID of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats.
schemeIdUri * string
Scheme ID URI of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats.
variables * object
Collection of variables present in event signalings
     id object
Event Id
can be used with token ${event.id} in VAST requests
Also used internally for generating tracking events
         type * string
[“string”]
“string” Type of the value
         locations * [object]
Possible locations of the value
             Source of the value object(grid)
Source of the value
                 type * string
[“dash”]
“dash” Type of the valueDataSource
                 xpath * string
XPath of the Event element carrying the value
                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                     anonymous object
Value has to be retrieved using a split method
                         type * string
[“split”]
“split” Type of the transform
                         separator * string
Separator used to split the value
                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Base64 decode method
                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Key Value List method
                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                         key * string
Key to retrieve the value
                         listSeparator * string
“,” Separator used to split each key value pair in the list
                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     scte35 object
SCTE35 value
Used for basic and advanced matching of splice events
Can be used with tokens ${splice.[param]} in VAST requests
         type * string
[“scte35”]
“scte35” Type of the value
         format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
         locations * [object]
Possible locations of the value
             Source of the value object(grid)
Source of the value
                 type * string
[“dash”]
“dash” Type of the valueDataSource
                 xpath * string
XPath of the Event element carrying the value
                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                     anonymous object
Value has to be retrieved using a split method
                         type * string
[“split”]
“split” Type of the transform
                         separator * string
Separator used to split the value
                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Base64 decode method
                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Key Value List method
                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                         key * string
Key to retrieve the value
                         listSeparator * string
“,” Separator used to split each key value pair in the list
                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     duration object
Duration value
Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests
         type * string
[“time”]
“time” Type of the value
         format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”]
“seconds” Format of the time value
         locations * [object]
Possible locations of the value
             Source of the value object(grid)
Source of the value
                 type * string
[“dash”]
“dash” Type of the valueDataSource
                 xpath * string
XPath of the Event element carrying the value
                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                     anonymous object
Value has to be retrieved using a split method
                         type * string
[“split”]
“split” Type of the transform
                         separator * string
Separator used to split the value
                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Base64 decode method
                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Key Value List method
                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                         key * string
Key to retrieve the value
                         listSeparator * string
“,” Separator used to split each key value pair in the list
                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     scte224Policy object
Scte224 Policy value
         type * string
[“string”]
“string” Type of the value
         locations * [object]
Possible locations of the value
             Source of the value object(grid)
Source of the value
                 type * string
[“dash”]
“dash” Type of the valueDataSource
                 xpath * string
XPath of the Event element carrying the value
                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                     anonymous object
Value has to be retrieved using a split method
                         type * string
[“split”]
“split” Type of the transform
                         separator * string
Separator used to split the value
                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Base64 decode method
                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                     anonymous object
Value has to be retrieved using a Key Value List method
                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                         key * string
Key to retrieve the value
                         listSeparator * string
“,” Separator used to split each key value pair in the list
                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     custom [oneOf]
Collection of customable variables that can be used in for VAST requests using token ${event.}

* : mandatory fields.

String Value

Name Type Default Description
         anonymous object
             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
             type * string
[“string”]
“string” Type of the value
             locations * [object]
Possible locations of the value
                 Source of the value object(grid)
Source of the value
                     type * string
[“dash”]
“dash” Type of the valueDataSource
                     xpath * string
XPath of the Event element carrying the value
                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                         anonymous object
Value has to be retrieved using a split method
                             type * string
[“split”]
“split” Type of the transform
                             separator * string
Separator used to split the value
                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Base64 decode method
                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Key Value List method
                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                             key * string
Key to retrieve the value
                             listSeparator * string
“,” Separator used to split each key value pair in the list
                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Time Value

Name Type Default Description
         anonymous object
             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
             type * string
[“time”]
“time” Type of the value
             format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”]
“seconds” Format of the time value
             locations * [object]
Possible locations of the value
                 Source of the value object(grid)
Source of the value
                     type * string
[“dash”]
“dash” Type of the valueDataSource
                     xpath * string
XPath of the Event element carrying the value
                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                         anonymous object
Value has to be retrieved using a split method
                             type * string
[“split”]
“split” Type of the transform
                             separator * string
Separator used to split the value
                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Base64 decode method
                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Key Value List method
                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                             key * string
Key to retrieve the value
                             listSeparator * string
“,” Separator used to split each key value pair in the list
                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

SCTE35 Value

Name Type Default Description
         anonymous object
             name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                 anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
             type * string
[“scte35”]
“scte35” Type of the value
             format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
             locations * [object]
Possible locations of the value
                 Source of the value object(grid)
Source of the value
                     type * string
[“dash”]
“dash” Type of the valueDataSource
                     xpath * string
XPath of the Event element carrying the value
                     transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                         anonymous object
Value has to be retrieved using a split method
                             type * string
[“split”]
“split” Type of the transform
                             separator * string
Separator used to split the value
                             position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Base64 decode method
                             type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                         anonymous object
Value has to be retrieved using a Key Value List method
                             type * string
[“keyValueList”]
“keyValueList” Type of the transform
                             key * string
Key to retrieve the value
                             listSeparator * string
“,” Separator used to split each key value pair in the list
                             keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Example

id: string
schemeIdUri: string
variables:
  id:
    type: string
    locations:
      - type: dash
        xpath: string
        transform:
          - type: split
            separator: string
            position: 0
  scte35:
    type: scte35
    format: base64
    locations:
      - type: dash
        xpath: string
        transform:
          - type: split
            separator: string
            position: 0
  duration:
    type: time
    format: seconds
    locations:
      - type: dash
        xpath: string
        transform:
          - type: split
            separator: string
            position: 0
  scte224Policy:
    type: string
    locations:
      - type: dash
        xpath: string
        transform:
          - type: split
            separator: string
            position: 0
  custom:
    - name: string
      type: string
      locations:
        - type: dash
          xpath: string
          transform:
            - type: split
              separator: string
              position: 0

eventSignalingFormats

Properties

Name Type Default Description
hls [object]
HLS Placement Signaling Formats
     HLS Event Signaling Format object(categories)
The operation is triggered if any of the trigger conditions are fullfilled
         id * string
ID of the event signaling format
         tags * object
Collection of tags describing the placement signaling
             first * [object]
First tags
                 Tag object
Base Tag matching XML string as defined in RFC 8216 specification
                     name * string
Name of the tag matching XML string
             span [object]
Span tags
                 Tag object
Base Tag matching XML string as defined in RFC 8216 specification
                     name * string
Name of the tag matching XML string
             last [object]
Last tags
                 Tag object
Base Tag matching XML string as defined in RFC 8216 specification
                     name * string
Name of the tag matching XML string
         variables * object
Collection of variables present in event signalings
             id object
Event Id
can be used with token ${event.id} in VAST requests
Also used internally for generating tracking events
                 type * string
[“string”]
“string” Type of the value
                 locations * [object]
Possible locations of the value
                     Source of the value object(grid)
Source of the value
                         type * string
[“hls”]
“hls” Type of the valueDataSource
                         tagName * string
Name of the tag carrying the value
                         location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                             anonymous object(grid)
Source is the tag Value
                                 type * string
[“tagValue”]
“tagValue” Type of the value
                                 position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                             anonymous object(grid)
Source is an attribute of the tag
                                 type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                 attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                         transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                             anonymous object
Value has to be retrieved using a split method
                                 type * string
[“split”]
“split” Type of the transform
                                 separator * string
Separator used to split the value
                                 position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Base64 decode method
                                 type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Key Value List method
                                 type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                 key * string
Key to retrieve the value
                                 listSeparator * string
“,” Separator used to split each key value pair in the list
                                 keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
             scte35 object
SCTE35 value
Used for basic and advanced matching of splice events
Can be used with tokens ${splice.[param]} in VAST requests
                 type * string
[“scte35”]
“scte35” Type of the value
                 format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                 locations * [object]
Possible locations of the value
                     Source of the value object(grid)
Source of the value
                         type * string
[“hls”]
“hls” Type of the valueDataSource
                         tagName * string
Name of the tag carrying the value
                         location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                             anonymous object(grid)
Source is the tag Value
                                 type * string
[“tagValue”]
“tagValue” Type of the value
                                 position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                             anonymous object(grid)
Source is an attribute of the tag
                                 type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                 attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                         transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                             anonymous object
Value has to be retrieved using a split method
                                 type * string
[“split”]
“split” Type of the transform
                                 separator * string
Separator used to split the value
                                 position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Base64 decode method
                                 type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Key Value List method
                                 type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                 key * string
Key to retrieve the value
                                 listSeparator * string
“,” Separator used to split each key value pair in the list
                                 keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
             duration object
Duration value
Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests
                 type * string
[“time”]
“time” Type of the value
                 format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
                 locations * [object]
Possible locations of the value
                     Source of the value object(grid)
Source of the value
                         type * string
[“hls”]
“hls” Type of the valueDataSource
                         tagName * string
Name of the tag carrying the value
                         location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                             anonymous object(grid)
Source is the tag Value
                                 type * string
[“tagValue”]
“tagValue” Type of the value
                                 position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                             anonymous object(grid)
Source is an attribute of the tag
                                 type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                 attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                         transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                             anonymous object
Value has to be retrieved using a split method
                                 type * string
[“split”]
“split” Type of the transform
                                 separator * string
Separator used to split the value
                                 position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Base64 decode method
                                 type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Key Value List method
                                 type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                 key * string
Key to retrieve the value
                                 listSeparator * string
“,” Separator used to split each key value pair in the list
                                 keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
             elapsedTime object
Elapsed Time value (used internally to track time since event started)
                 type * string
[“time”]
“time” Type of the value
                 format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
                 locations * [object]
Possible locations of the value
                     Source of the value object(grid)
Source of the value
                         type * string
[“hls”]
“hls” Type of the valueDataSource
                         tagName * string
Name of the tag carrying the value
                         location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                             anonymous object(grid)
Source is the tag Value
                                 type * string
[“tagValue”]
“tagValue” Type of the value
                                 position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                             anonymous object(grid)
Source is an attribute of the tag
                                 type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                 attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                         transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                             anonymous object
Value has to be retrieved using a split method
                                 type * string
[“split”]
“split” Type of the transform
                                 separator * string
Separator used to split the value
                                 position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Base64 decode method
                                 type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Key Value List method
                                 type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                 key * string
Key to retrieve the value
                                 listSeparator * string
“,” Separator used to split each key value pair in the list
                                 keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
             scte224Policy object
Scte224 Policy value
                 type * string
[“string”]
“string” Type of the value
                 locations * [object]
Possible locations of the value
                     Source of the value object(grid)
Source of the value
                         type * string
[“hls”]
“hls” Type of the valueDataSource
                         tagName * string
Name of the tag carrying the value
                         location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                             anonymous object(grid)
Source is the tag Value
                                 type * string
[“tagValue”]
“tagValue” Type of the value
                                 position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                             anonymous object(grid)
Source is an attribute of the tag
                                 type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                 attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                         transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                             anonymous object
Value has to be retrieved using a split method
                                 type * string
[“split”]
“split” Type of the transform
                                 separator * string
Separator used to split the value
                                 position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Base64 decode method
                                 type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Key Value List method
                                 type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                 key * string
Key to retrieve the value
                                 listSeparator * string
“,” Separator used to split each key value pair in the list
                                 keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
             custom [oneOf]
Collection of customable variables that can be used in for VAST requests using token ${event.}

* : mandatory fields.

String Value

Name Type Default Description
                 anonymous object
                     name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     type * string
[“string”]
“string” Type of the value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“hls”]
“hls” Type of the valueDataSource
                             tagName * string
Name of the tag carrying the value
                             location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                 anonymous object(grid)
Source is the tag Value
                                     type * string
[“tagValue”]
“tagValue” Type of the value
                                     position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                 anonymous object(grid)
Source is an attribute of the tag
                                     type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                     attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Time Value

Name Type Default Description
                 anonymous object
                     name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     type * string
[“time”]
“time” Type of the value
                     format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“hls”]
“hls” Type of the valueDataSource
                             tagName * string
Name of the tag carrying the value
                             location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                 anonymous object(grid)
Source is the tag Value
                                     type * string
[“tagValue”]
“tagValue” Type of the value
                                     position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                 anonymous object(grid)
Source is an attribute of the tag
                                     type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                     attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

SCTE35 Value

Name Type Default Description
                 anonymous object
                     name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     type * string
[“scte35”]
“scte35” Type of the value
                     format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“hls”]
“hls” Type of the valueDataSource
                             tagName * string
Name of the tag carrying the value
                             location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                 anonymous object(grid)
Source is the tag Value
                                     type * string
[“tagValue”]
“tagValue” Type of the value
                                     position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                 anonymous object(grid)
Source is an attribute of the tag
                                     type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                     attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
dash [object]
DASH Placement Signaling Formats
     Dash Event Signaling Format object(categories)
The operation is triggered if any of the trigger conditions are fullfilled
         id * string
ID of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats.
         schemeIdUri * string
Scheme ID URI of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats.
         variables * object
Collection of variables present in event signalings
             id object
Event Id
can be used with token ${event.id} in VAST requests
Also used internally for generating tracking events
                 type * string
[“string”]
“string” Type of the value
                 locations * [object]
Possible locations of the value
                     Source of the value object(grid)
Source of the value
                         type * string
[“dash”]
“dash” Type of the valueDataSource
                         xpath * string
XPath of the Event element carrying the value
                         transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                             anonymous object
Value has to be retrieved using a split method
                                 type * string
[“split”]
“split” Type of the transform
                                 separator * string
Separator used to split the value
                                 position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Base64 decode method
                                 type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Key Value List method
                                 type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                 key * string
Key to retrieve the value
                                 listSeparator * string
“,” Separator used to split each key value pair in the list
                                 keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
             scte35 object
SCTE35 value
Used for basic and advanced matching of splice events
Can be used with tokens ${splice.[param]} in VAST requests
                 type * string
[“scte35”]
“scte35” Type of the value
                 format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                 locations * [object]
Possible locations of the value
                     Source of the value object(grid)
Source of the value
                         type * string
[“dash”]
“dash” Type of the valueDataSource
                         xpath * string
XPath of the Event element carrying the value
                         transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                             anonymous object
Value has to be retrieved using a split method
                                 type * string
[“split”]
“split” Type of the transform
                                 separator * string
Separator used to split the value
                                 position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Base64 decode method
                                 type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Key Value List method
                                 type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                 key * string
Key to retrieve the value
                                 listSeparator * string
“,” Separator used to split each key value pair in the list
                                 keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
             duration object
Duration value
Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests
                 type * string
[“time”]
“time” Type of the value
                 format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”]
“seconds” Format of the time value
                 locations * [object]
Possible locations of the value
                     Source of the value object(grid)
Source of the value
                         type * string
[“dash”]
“dash” Type of the valueDataSource
                         xpath * string
XPath of the Event element carrying the value
                         transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                             anonymous object
Value has to be retrieved using a split method
                                 type * string
[“split”]
“split” Type of the transform
                                 separator * string
Separator used to split the value
                                 position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Base64 decode method
                                 type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Key Value List method
                                 type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                 key * string
Key to retrieve the value
                                 listSeparator * string
“,” Separator used to split each key value pair in the list
                                 keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
             scte224Policy object
Scte224 Policy value
                 type * string
[“string”]
“string” Type of the value
                 locations * [object]
Possible locations of the value
                     Source of the value object(grid)
Source of the value
                         type * string
[“dash”]
“dash” Type of the valueDataSource
                         xpath * string
XPath of the Event element carrying the value
                         transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                             anonymous object
Value has to be retrieved using a split method
                                 type * string
[“split”]
“split” Type of the transform
                                 separator * string
Separator used to split the value
                                 position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Base64 decode method
                                 type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                             anonymous object
Value has to be retrieved using a Key Value List method
                                 type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                 key * string
Key to retrieve the value
                                 listSeparator * string
“,” Separator used to split each key value pair in the list
                                 keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
             custom [oneOf]
Collection of customable variables that can be used in for VAST requests using token ${event.}

* : mandatory fields.

String Value

Name Type Default Description
                 anonymous object
                     name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     type * string
[“string”]
“string” Type of the value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“dash”]
“dash” Type of the valueDataSource
                             xpath * string
XPath of the Event element carrying the value
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Time Value

Name Type Default Description
                 anonymous object
                     name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     type * string
[“time”]
“time” Type of the value
                     format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”]
“seconds” Format of the time value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“dash”]
“dash” Type of the valueDataSource
                             xpath * string
XPath of the Event element carrying the value
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

SCTE35 Value

Name Type Default Description
                 anonymous object
                     name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                         anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                     type * string
[“scte35”]
“scte35” Type of the value
                     format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“dash”]
“dash” Type of the valueDataSource
                             xpath * string
XPath of the Event element carrying the value
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Example

hls:
  - id: string
    tags:
      first:
        - name: string
      span:
        - name: string
      last:
        - name: string
    variables:
      id:
        type: string
        locations:
          - type: hls
            tagName: string
            location:
              type: tagValue
              position: 0
            transform:
              - type: split
                separator: string
                position: 0
      scte35:
        type: scte35
        format: base64
        locations:
          - type: hls
            tagName: string
            location:
              type: tagValue
              position: 0
            transform:
              - type: split
                separator: string
                position: 0
      duration:
        type: time
        format: seconds
        locations:
          - type: hls
            tagName: string
            location:
              type: tagValue
              position: 0
            transform:
              - type: split
                separator: string
                position: 0
      elapsedTime:
        type: time
        format: seconds
        locations:
          - type: hls
            tagName: string
            location:
              type: tagValue
              position: 0
            transform:
              - type: split
                separator: string
                position: 0
      scte224Policy:
        type: string
        locations:
          - type: hls
            tagName: string
            location:
              type: tagValue
              position: 0
            transform:
              - type: split
                separator: string
                position: 0
      custom:
        - name: string
          type: string
          locations:
            - type: hls
              tagName: string
              location:
                type: tagValue
                position: 0
              transform:
                - type: split
                  separator: string
                  position: 0
dash:
  - id: string
    schemeIdUri: string
    variables:
      id:
        type: string
        locations:
          - type: dash
            xpath: string
            transform:
              - type: split
                separator: string
                position: 0
      scte35:
        type: scte35
        format: base64
        locations:
          - type: dash
            xpath: string
            transform:
              - type: split
                separator: string
                position: 0
      duration:
        type: time
        format: seconds
        locations:
          - type: dash
            xpath: string
            transform:
              - type: split
                separator: string
                position: 0
      scte224Policy:
        type: string
        locations:
          - type: dash
            xpath: string
            transform:
              - type: split
                separator: string
                position: 0
      custom:
        - name: string
          type: string
          locations:
            - type: dash
              xpath: string
              transform:
                - type: split
                  separator: string
                  position: 0

settings

Properties

Name Type Default Description
server object
Server settings
     httpResponseHeaders object
Headers to include in the HTTP responses
         global [object]
Headers to include in the HTTP global responses
             header * string
HTTP header
             value * string
Value of the HTTP header
     cdnReqId object
CDN request ID is used to trace all requests. If not set, CDN request ID will not be traced.
         possibleHeaders [string]
List of possible HTTP headers used by the CDNs to trace the requests. The first header found in incoming requests or response will be used as cdnReqId.
             Header string
traces object
     humanReadable boolean
false If true, logs will be printed in non-json format
     level string
[“error”, “warn”, “info”, “http”, “verbose”, “debug”, “silly”]
“info” Log severity level
accessLog object(categories)
     type string
[“stdout”, “clickhouse”]
“stdout”
     manifestManipulator object
Define the rules to log the HTTP access to manifest manipulator
         enabled boolean
true If true, access log is enabled for manifest manipulator
         includeCacheHit boolean
false If true, include in the access logs requests coming from cache
         filtering object
Define any conditions to log the HTTP access
             httpError boolean
If true, log access about HTTP errors
             requestDuration number
If higher than 0, log access that takes longer than this duration in milliseconds
             vastRequest boolean
If true, log access about VAST/VMAP requests
     prebidder object
Define the rules to log the HTTP access to prebidder
         enabled boolean
true If true, access log is enabled for prebidder
         includeCacheHit boolean
false If true, include in the access logs requests coming from cache
     sessionManager object
Define the rules to log the HTTP access to session manager
         enabled boolean
true If true, access log is enabled for session manager
         includeCacheHit boolean
false If true, include in the access logs requests coming from cache
         filtering object
Define any conditions to log the HTTP access
             httpError boolean
If true, log access about HTTP errors
             requestDuration number
If higher than 0, log access that takes longer than this duration in milliseconds
     trackingServerProxy object
Define the rules to log the HTTP access to tracking server proxy
         enabled boolean
true If true, access log is enabled for tracking server proxy
debug object(categories)
Debug configuration which allows to dump data and replay requests via dumped data
     returnTraceParent boolean
false If true, http response returns the main request traceparent header
     userData boolean
false If true, additionnal debug log for user data will be added
     vastData boolean
false If true, additionnal debug log for vast data will be added
     manifestManipulator object
         dump object
             enable string
[“true”, “false”, “onDemand”]
“false” If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server.
             directory string
“/tmp/dump” Directory where dumped input requests and data will be stored.
For S3 storage, use the s3://bucket-name/path/to/directory/ format.

Available tokens:
- ${sessionIdentification}: Session identification
             s3Access object
                 accessKeyId * string
                 secretAccessKey * string
                 region string
             compress boolean
false If true, dump files will be compressed using gzip
             filtering object
                 traceId string
regex to filter input requests on trace Id (ex: 13{4}$)
                 url string
regex to filter input requests on session Identification (ex: ^Device1
     prebidder object
         dump object
             enable string
[“true”, “false”, “onDemand”]
“false” If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server.
             directory string
“/tmp/dump” Directory where dumped input requests and data will be stored.
For S3 storage, use the s3://bucket-name/path/to/directory/ format.

Available tokens:
- ${sessionIdentification}: Session identification
             s3Access object
                 accessKeyId * string
                 secretAccessKey * string
                 region string
             compress boolean
false If true, dump files will be compressed using gzip
             filtering object
                 traceId string
regex to filter input requests on trace Id (ex: 14{4}$)
                 url string
regex to filter input requests on session Identification (ex: ^Device1
     sessionManager object
         dump object
             enable string
[“true”, “false”, “onDemand”]
“false” If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server.
             directory string
“/tmp/dump” Directory where dumped input requests and data will be stored.
For S3 storage, use the s3://bucket-name/path/to/directory/ format.

Available tokens:
- ${sessionIdentification}: Session identification
             s3Access object
                 accessKeyId * string
                 secretAccessKey * string
                 region string
             compress boolean
false If true, dump files will be compressed using gzip
             filtering object
                 traceId string
regex to filter input requests on trace Id (ex: 15{4}$)
                 url string
regex to filter input requests on session Identification (ex: ^Device1
     trackingServerProxy object
         dump object
             enable string
[“true”, “false”, “onDemand”]
“false” If true, dump input request as well as all input data in specified directory. replayTraceId query parameter can then be used to fetch input data from dump directory instead of real server.
             directory string
“/tmp/dump” Directory where dumped input requests and data will be stored.
For S3 storage, use the s3://bucket-name/path/to/directory/ format.

Available tokens:
- ${sessionIdentification}: Session identification
             s3Access object
                 accessKeyId * string
                 secretAccessKey * string
                 region string
             compress boolean
false If true, dump files will be compressed using gzip
             filtering object
                 traceId string
regex to filter input requests on trace Id (ex: 16{4}$)
                 url string
regex to filter input requests on session Identification (ex: ^Device1
graphicalUserInterface object
Graphical user interface settings which allow to customize the appearance
     name string
Name of the cluster
     primaryColor string
“#00B2BF” Primary color of the top bar
     secondaryColor string
“#006EBF” Secondary color of the top bar
eventSignalingFormats object(categories)
Event Signaling Formats
     hls [object]
HLS Placement Signaling Formats
         HLS Event Signaling Format object(categories)
The operation is triggered if any of the trigger conditions are fullfilled
             id * string
ID of the event signaling format
             tags * object
Collection of tags describing the placement signaling
                 first * [object]
First tags
                     Tag object
Base Tag matching XML string as defined in RFC 8216 specification
                         name * string
Name of the tag matching XML string
                 span [object]
Span tags
                     Tag object
Base Tag matching XML string as defined in RFC 8216 specification
                         name * string
Name of the tag matching XML string
                 last [object]
Last tags
                     Tag object
Base Tag matching XML string as defined in RFC 8216 specification
                         name * string
Name of the tag matching XML string
             variables * object
Collection of variables present in event signalings
                 id object
Event Id
can be used with token ${event.id} in VAST requests
Also used internally for generating tracking events
                     type * string
[“string”]
“string” Type of the value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“hls”]
“hls” Type of the valueDataSource
                             tagName * string
Name of the tag carrying the value
                             location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                 anonymous object(grid)
Source is the tag Value
                                     type * string
[“tagValue”]
“tagValue” Type of the value
                                     position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                 anonymous object(grid)
Source is an attribute of the tag
                                     type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                     attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                 scte35 object
SCTE35 value
Used for basic and advanced matching of splice events
Can be used with tokens ${splice.[param]} in VAST requests
                     type * string
[“scte35”]
“scte35” Type of the value
                     format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“hls”]
“hls” Type of the valueDataSource
                             tagName * string
Name of the tag carrying the value
                             location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                 anonymous object(grid)
Source is the tag Value
                                     type * string
[“tagValue”]
“tagValue” Type of the value
                                     position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                 anonymous object(grid)
Source is an attribute of the tag
                                     type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                     attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                 duration object
Duration value
Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests
                     type * string
[“time”]
“time” Type of the value
                     format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“hls”]
“hls” Type of the valueDataSource
                             tagName * string
Name of the tag carrying the value
                             location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                 anonymous object(grid)
Source is the tag Value
                                     type * string
[“tagValue”]
“tagValue” Type of the value
                                     position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                 anonymous object(grid)
Source is an attribute of the tag
                                     type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                     attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                 elapsedTime object
Elapsed Time value (used internally to track time since event started)
                     type * string
[“time”]
“time” Type of the value
                     format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“hls”]
“hls” Type of the valueDataSource
                             tagName * string
Name of the tag carrying the value
                             location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                 anonymous object(grid)
Source is the tag Value
                                     type * string
[“tagValue”]
“tagValue” Type of the value
                                     position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                 anonymous object(grid)
Source is an attribute of the tag
                                     type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                     attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                 scte224Policy object
Scte224 Policy value
                     type * string
[“string”]
“string” Type of the value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“hls”]
“hls” Type of the valueDataSource
                             tagName * string
Name of the tag carrying the value
                             location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                 anonymous object(grid)
Source is the tag Value
                                     type * string
[“tagValue”]
“tagValue” Type of the value
                                     position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                 anonymous object(grid)
Source is an attribute of the tag
                                     type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                     attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                 custom [oneOf]
Collection of customable variables that can be used in for VAST requests using token ${event.}

* : mandatory fields.

String Value

Name Type Default Description
                     anonymous object
                         name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                         type * string
[“string”]
“string” Type of the value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“hls”]
“hls” Type of the valueDataSource
                                 tagName * string
Name of the tag carrying the value
                                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                     anonymous object(grid)
Source is the tag Value
                                         type * string
[“tagValue”]
“tagValue” Type of the value
                                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                     anonymous object(grid)
Source is an attribute of the tag
                                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Time Value

Name Type Default Description
                     anonymous object
                         name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                         type * string
[“time”]
“time” Type of the value
                         format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”]
“seconds” Format of the time value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“hls”]
“hls” Type of the valueDataSource
                                 tagName * string
Name of the tag carrying the value
                                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                     anonymous object(grid)
Source is the tag Value
                                         type * string
[“tagValue”]
“tagValue” Type of the value
                                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                     anonymous object(grid)
Source is an attribute of the tag
                                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

SCTE35 Value

Name Type Default Description
                     anonymous object
                         name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                         type * string
[“scte35”]
“scte35” Type of the value
                         format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“hls”]
“hls” Type of the valueDataSource
                                 tagName * string
Name of the tag carrying the value
                                 location * any
Location of the value

* : mandatory fields.

Value

Name Type Default Description
                                     anonymous object(grid)
Source is the tag Value
                                         type * string
[“tagValue”]
“tagValue” Type of the value
                                         position integer
0 Position of the value (if the tag contains multiple non attribute values separated by commas)

* : mandatory fields.

Attribute

Name Type Default Description
                                     anonymous object(grid)
Source is an attribute of the tag
                                         type * string
[“tagAttribute”]
“tagAttribute” Type of the value
                                         attributeName * string
Name of the attribute

* : mandatory fields.

Name Type Default Description
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
     dash [object]
DASH Placement Signaling Formats
         Dash Event Signaling Format object(categories)
The operation is triggered if any of the trigger conditions are fullfilled
             id * string
ID of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats.
             schemeIdUri * string
Scheme ID URI of the event signaling format. id/schemeIdUri pair must be unique across all dash event signaling formats.
             variables * object
Collection of variables present in event signalings
                 id object
Event Id
can be used with token ${event.id} in VAST requests
Also used internally for generating tracking events
                     type * string
[“string”]
“string” Type of the value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“dash”]
“dash” Type of the valueDataSource
                             xpath * string
XPath of the Event element carrying the value
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                 scte35 object
SCTE35 value
Used for basic and advanced matching of splice events
Can be used with tokens ${splice.[param]} in VAST requests
                     type * string
[“scte35”]
“scte35” Type of the value
                     format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“dash”]
“dash” Type of the valueDataSource
                             xpath * string
XPath of the Event element carrying the value
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                 duration object
Duration value
Can be used with token ${event(.durationS,.durationMs,.durationSms,.durationHMS)} in VAST requests
                     type * string
[“time”]
“time” Type of the value
                     format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”]
“seconds” Format of the time value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“dash”]
“dash” Type of the valueDataSource
                             xpath * string
XPath of the Event element carrying the value
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                 scte224Policy object
Scte224 Policy value
                     type * string
[“string”]
“string” Type of the value
                     locations * [object]
Possible locations of the value
                         Source of the value object(grid)
Source of the value
                             type * string
[“dash”]
“dash” Type of the valueDataSource
                             xpath * string
XPath of the Event element carrying the value
                             transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a split method
                                     type * string
[“split”]
“split” Type of the transform
                                     separator * string
Separator used to split the value
                                     position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Base64 decode method
                                     type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                 anonymous object
Value has to be retrieved using a Key Value List method
                                     type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                     key * string
Key to retrieve the value
                                     listSeparator * string
“,” Separator used to split each key value pair in the list
                                     keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
                 custom [oneOf]
Collection of customable variables that can be used in for VAST requests using token ${event.}

* : mandatory fields.

String Value

Name Type Default Description
                     anonymous object
                         name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                         type * string
[“string”]
“string” Type of the value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“dash”]
“dash” Type of the valueDataSource
                                 xpath * string
XPath of the Event element carrying the value
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Time Value

Name Type Default Description
                     anonymous object
                         name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                         type * string
[“time”]
“time” Type of the value
                         format * string
[“seconds”, “milliseconds”, “90KHz”, “iso”, “hms”, “timescaleUnits”]
“seconds” Format of the time value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“dash”]
“dash” Type of the valueDataSource
                                 xpath * string
XPath of the Event element carrying the value
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

SCTE35 Value

Name Type Default Description
                     anonymous object
                         name * string
Name of the value

* : mandatory fields.

Name Type Default Description
                             anonymous any
[“id”, “scte224Policy”, “scte35”, “durationS”, “durationHMS”, “durationMs”, “durationSms”]

* : mandatory fields.

Name Type Default Description
                         type * string
[“scte35”]
“scte35” Type of the value
                         format * string
[“base64”, “hex”]
“base64” Format of the SCTE35 value
                         locations * [object]
Possible locations of the value
                             Source of the value object(grid)
Source of the value
                                 type * string
[“dash”]
“dash” Type of the valueDataSource
                                 xpath * string
XPath of the Event element carrying the value
                                 transform [oneOf]
Method to extract the value

* : mandatory fields.

Split

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a split method
                                         type * string
[“split”]
“split” Type of the transform
                                         separator * string
Separator used to split the value
                                         position * integer
Position of the split value

* : mandatory fields.

Base64 Decode

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Base64 decode method
                                         type * string
[“base64Decode”]
“base64Decode” Type of the transform

* : mandatory fields.

Key Value List

Name Type Default Description
                                     anonymous object
Value has to be retrieved using a Key Value List method
                                         type * string
[“keyValueList”]
“keyValueList” Type of the transform
                                         key * string
Key to retrieve the value
                                         listSeparator * string
“,” Separator used to split each key value pair in the list
                                         keyValueSeparator * string
“=” Separator used to split the key and value

* : mandatory fields.

Name Type Default Description
cache object
Cache settings
     dash object(grid-strict)
Cache settings for DASH documents
         source object
{“default_ttl”:1} Source used for splicing
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
         ad object
{“default_ttl”:1000000, “max_entry_size_mb”:100} Advertising
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
         alternate object
{“default_ttl”:1} Alternate / Blackout
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
     hlsMediaPlaylist object(grid-strict)
Cache settings for HLS media playlists
         source object
{“default_ttl”:1} Source used for splicing
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
         ad object
{“default_ttl”:1000000, “max_entry_size_mb”:100} Advertising
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
         alternate object
{“default_ttl”:1} Alternate / Blackout
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
     hlsMasterPlaylist object(grid-strict)
Cache settings for HLS master playlists
when dynamic matching is enabled.
         ad object
{“default_ttl”:1000000, “max_entry_size_mb”:100} Advertising
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
         alternate object
{“default_ttl”:1} Alternate / Blackout
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
     http object(grid-strict)
Cache settings for HTTP requests
which don’t necesitate parsing of the document and can be cached as is.
         source object
{“default_ttl”:1} Source transmitted as is
in absence of any operation
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
         adManager object
{“default_ttl”:1000000, “max_entry_size_mb”:100} AD Transcoding
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
         scte224 object
{“default_ttl”:1000000, “max_entry_size_mb”:100} SCTE-224
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
         scte250 object
{“default_ttl”:1000000, “max_entry_size_mb”:100} SCTE-250
             default_ttl integer
Default TTL for cache entries (in seconds)
if max-age is not specified by the HTTP response
             min_ttl integer
Minimum TTL value for cache entries (in seconds)
The cache entry cannot be lower than this value even
if the HTTP response specifies a lower max-age
             max_ttl integer
Maximum TTL value for cache entries (in seconds)
The cache entry cannot exceed this value even
if the HTTP response specifies a higher max-age
             max_entry_size_mb integer
Maximum size for cache entries (in MB)
             max_entry_count integer
Maximum number of element in the cache.
advanced object(categories)
Advanced settings
     loggingRules [object]
List of logging rules to apply to the log messages
     sessionManager object
Session manager advanced settings
     accessLog object
Access log advanced settings

* : mandatory fields.

Example

server:
  httpResponseHeaders:
    global:
      - header: string
        value: string
  cdnReqId:
    possibleHeaders:
      - string
traces:
  humanReadable: false
  level: error
accessLog:
  type: stdout
  manifestManipulator:
    enabled: true
    includeCacheHit: false
    filtering:
      httpError: true
      requestDuration: 0
      vastRequest: true
  prebidder:
    enabled: true
    includeCacheHit: false
  sessionManager:
    enabled: true
    includeCacheHit: false
    filtering:
      httpError: true
      requestDuration: 0
  trackingServerProxy:
    enabled: true
debug:
  returnTraceParent: false
  userData: false
  vastData: false
  manifestManipulator:
    dump:
      enable: "true"
      directory: /tmp/dump
      s3Access:
        accessKeyId: string
        secretAccessKey: string
        region: string
      compress: false
      filtering:
        traceId: string
        url: string
  prebidder:
    dump:
      enable: "true"
      directory: /tmp/dump
      s3Access:
        accessKeyId: string
        secretAccessKey: string
        region: string
      compress: false
      filtering:
        traceId: string
        url: string
  sessionManager:
    dump:
      enable: "true"
      directory: /tmp/dump
      s3Access:
        accessKeyId: string
        secretAccessKey: string
        region: string
      compress: false
      filtering:
        traceId: string
        url: string
  trackingServerProxy:
    dump:
      enable: "true"
      directory: /tmp/dump
      s3Access:
        accessKeyId: string
        secretAccessKey: string
        region: string
      compress: false
      filtering:
        traceId: string
        url: string
graphicalUserInterface:
  name: string
  primaryColor: "#00B2BF"
  secondaryColor: "#006EBF"
eventSignalingFormats:
  hls:
    - id: string
      tags:
        first:
          - name: string
        span:
          - name: string
        last:
          - name: string
      variables:
        id:
          type: string
          locations:
            - type: hls
              tagName: string
              location:
                type: tagValue
                position: 0
              transform:
                - type: split
                  separator: string
                  position: 0
        scte35:
          type: scte35
          format: base64
          locations:
            - type: hls
              tagName: string
              location:
                type: tagValue
                position: 0
              transform:
                - type: split
                  separator: string
                  position: 0
        duration:
          type: time
          format: seconds
          locations:
            - type: hls
              tagName: string
              location:
                type: tagValue
                position: 0
              transform:
                - type: split
                  separator: string
                  position: 0
        elapsedTime:
          type: time
          format: seconds
          locations:
            - type: hls
              tagName: string
              location:
                type: tagValue
                position: 0
              transform:
                - type: split
                  separator: string
                  position: 0
        scte224Policy:
          type: string
          locations:
            - type: hls
              tagName: string
              location:
                type: tagValue
                position: 0
              transform:
                - type: split
                  separator: string
                  position: 0
        custom:
          - name: string
            type: string
            locations:
              - type: hls
                tagName: string
                location:
                  type: tagValue
                  position: 0
                transform:
                  - type: split
                    separator: string
                    position: 0
  dash:
    - id: string
      schemeIdUri: string
      variables:
        id:
          type: string
          locations:
            - type: dash
              xpath: string
              transform:
                - type: split
                  separator: string
                  position: 0
        scte35:
          type: scte35
          format: base64
          locations:
            - type: dash
              xpath: string
              transform:
                - type: split
                  separator: string
                  position: 0
        duration:
          type: time
          format: seconds
          locations:
            - type: dash
              xpath: string
              transform:
                - type: split
                  separator: string
                  position: 0
        scte224Policy:
          type: string
          locations:
            - type: dash
              xpath: string
              transform:
                - type: split
                  separator: string
                  position: 0
        custom:
          - name: string
            type: string
            locations:
              - type: dash
                xpath: string
                transform:
                  - type: split
                    separator: string
                    position: 0
cache:
  dash:
    source:
      default_ttl: 1
    ad:
      default_ttl: 1000000
      max_entry_size_mb: 100
    alternate:
      default_ttl: 1
  hlsMediaPlaylist:
    source:
      default_ttl: 1
    ad:
      default_ttl: 1000000
      max_entry_size_mb: 100
    alternate:
      default_ttl: 1
  hlsMasterPlaylist:
    ad:
      default_ttl: 1000000
      max_entry_size_mb: 100
    alternate:
      default_ttl: 1
  http:
    source:
      default_ttl: 1
    adManager:
      default_ttl: 1000000
      max_entry_size_mb: 100
    scte224:
      default_ttl: 1000000
      max_entry_size_mb: 100
    scte250:
      default_ttl: 1000000
      max_entry_size_mb: 100
advanced:
  loggingRules:
    - {}
  sessionManager: {}
  accessLog: {}

adManager

Properties

Name Type Default Description
s3CredentialsKey string
Credentials key to use to S3 access.
transcoder * object
     type * string
[“hybrik”]
     apiUrl * string
     basicAuth * object
         user * string
         pwd * string
     login * object
         authKey * string
         authSecret * string
     compliance string
“20240524”
     userTag string
     DPLC boolean
false Enable Dolby Professional Loudness Correction for audio layers
     computingGroup string
     packagerImageUrl * string
     thumbnailsGeneratorImageUrl * string
videoSettings [object]
     id * string
     setting * string(json)
Video setting JSON which will could be applied with the profile video layers.
audioSettings [object]
     id * string
     setting * string(json)
Audio setting JSON which will could be applied with the profile audio layers.
packagerSettings [object]
     id * string
     args * string(json)
VOD packager args JSON which will could be applied with the profile.
thumbnailSettings [object]
     id * string
     args * string(json)
thumbnail args JSON which will could be applied with the profile.
profiles * [object]
     id * string
Profile Id
     destinationBaseUrl * string
Destination directory
     segmentDuration integer
6 Segment duration in seconds
     packagerSettingId string
Reference to the packager settings to be used for this profile.
     thumbnailSettingId string
Reference to the thumbnail settings to be used for this profile.
     videoLayers * [object]
         settingId string
Reference to the video setting to be used for this layer.
         bandwidth * integer
6000 Bandwitdh in kilobits per second
         codec * string
[“h264”, “h265”]
Codec used to transcode.
         width * integer
1920 Output width
         height * integer
1080 Output height
         frameRate number
29.97 Output framerate
     audioLayers * [object]
         settingId string
Reference to the audio setting to be used for this layer.
         bandwidth * integer
128 Bandwitdh in kilobits per second
         codec * string
[“aac”, “aac_lc”, “heaac_v1”, “heaac_v2”, “ac3”, “eac3”, “copy”]
Codec used to transcode. Copy passthrough the elementary stream without change.
         channels integer
2 Output channel count

* : mandatory fields.

Example

s3CredentialsKey: myS3credentials
transcoder:
  type: hybrik
  apiUrl: https://api-demo.hybrik.com
  basicAuth:
    user: XXXXXXXXXXXXXXXXX
    pwd: YYYYYYYYYYYYYYYYY
  login:
    authKey: ZZZZZZZZZZZZZZZZZ
    authSecret: WWWWWWWWWWWWWWWWW
  compliance: "20240524"
  userTag: string
  DPLC: false
  computingGroup: my-computing-group
  packagerImageUrl: s3://hybrik-s3-in/vod-packager-v24.02.32.tar.gz
  thumbnailsGeneratorImageUrl: s3://hybrik-s3-in/thumbnail-generator-v25.01.85.tar.gz
videoSettings:
  - id: default
    setting: string
audioSettings:
  - id: default
    setting: string
packagerSettings:
  - id: default
    args: string
thumbnailSettings:
  - id: default
    args: string
profiles:
  - id: HD
    destinationBaseUrl: string
    segmentDuration: 6
    packagerSettingId: string
    thumbnailSettingId: string
    videoLayers:
      - settingId: string
        bandwidth: 6000
        codec: h264
        width: 1920
        height: 1080
        frameRate: 29.97
    audioLayers:
      - settingId: string
        bandwidth: 128
        codec: aac
        channels: 2

sessionManager

Properties

Name Type Default Description
id * string
userDataKey string
The key to be used to store session data in REDIS.
debug boolean
Return error message of the helper function.
enableAccessLog boolean
Enable access logging for this session manager.
accessLogLevel string
[“error”, “info”]
“info” Access log severity level
expandQueryParameters [oneOf]
Automatically add query parameters to the request.

* : mandatory fields.

Constant

Name Type Default Description
     anonymous object
         type * string
[“constant”]
The type of the query parameter expansion.
         inputQueryParameter * string
Name of the received query parameter.
         map * [object]
Additional query parameters to be added to the request according to the mapping.
             value * string
The value which can match to the input query parameter.
             additionalQueryParameters * string
The additional query parameters to be added. Example: ad.id=1234&ad.type=video

* : mandatory fields.

External Parameter

Name Type Default Description
     anonymous object
         type * string
[“externalData”]
The type of the query parameter expansion.
         inputQueryParameter * string
Name of the received query parameter.
         property * string
The external data ressource which must contains a valid JSON with a list of value/additionalQueryParameters.
Example:
[
{
“value”: “qlv”,
“additionalQueryParameters”: “ad.id=1234&ad.type=video”
},
{
“value”: “otherValue”,
“additionalQueryParameters”: “ad.id=5678&ad.type=audio”
}
]

* : mandatory fields.

Name Type Default Description
attributes * [oneOf]
[] Attributes are input variables used to drive decision-making within the process.
Like any other variables, they can be saved in the session and reused by session-manager and manifest-manipulator.
To access session data, the following attributes must be defined:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID (automatically generated if not provided through attributes)

To ensure complete access logging and traceability, the following variables should be stored in the session:
- TENANT_ID
- ASSET_ID
- DEVICE_TYPE
- DEVICE_ID
- DEVICE_IP
- SESSION_START_TIME
     Attribute object
Input attribute

* : mandatory fields.

String attribute

Name Type Default Description
         anonymous object
             name * string
             source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                 anonymous object
                     type * string
[“queryParams”]
                     property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                 anonymous object
                     type * string
[“httpHeaders”]
                     property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                 anonymous object
                     type * string
[“url”]
                     property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                 anonymous object
                     type * string
[“constant”]
                     value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                 anonymous object
                     type * string
[“environment”]
                     property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                 anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                     type * string
[“sessionData”]
                     property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                 anonymous object
                     type * string
[“externalData”]
                     property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
             required boolean
             default string
             saveInSessionData boolean
             transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 17+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
             type * string
[“string”]

* : mandatory fields.

Boolean attribute

Name Type Default Description
         anonymous object
             name * string
             source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                 anonymous object
                     type * string
[“queryParams”]
                     property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                 anonymous object
                     type * string
[“httpHeaders”]
                     property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                 anonymous object
                     type * string
[“url”]
                     property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                 anonymous object
                     type * string
[“constant”]
                     value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                 anonymous object
                     type * string
[“environment”]
                     property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                 anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                     type * string
[“sessionData”]
                     property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                 anonymous object
                     type * string
[“externalData”]
                     property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
             required boolean
             default string
             saveInSessionData boolean
             transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 18+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
             type * string
[“boolean”]

* : mandatory fields.

Number attribute

Name Type Default Description
         anonymous object
             name * string
             source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                 anonymous object
                     type * string
[“queryParams”]
                     property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                 anonymous object
                     type * string
[“httpHeaders”]
                     property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                 anonymous object
                     type * string
[“url”]
                     property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                 anonymous object
                     type * string
[“constant”]
                     value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                 anonymous object
                     type * string
[“environment”]
                     property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                 anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                     type * string
[“sessionData”]
                     property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                 anonymous object
                     type * string
[“externalData”]
                     property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
             required boolean
             default string
             saveInSessionData boolean
             transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 19+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
             type * string
[“number”]

* : mandatory fields.

Array attribute

Name Type Default Description
         anonymous object
Array attribute allows to convert an input string into an array of strings, using “,” as a separator.
Can be used in condition of a decision to check if the attribute ‘contains’ a value.

Example: “value1,value2,value3” will be converted into [“value1”, “value2”, “value3”].
             name * string
             source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                 anonymous object
                     type * string
[“queryParams”]
                     property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                 anonymous object
                     type * string
[“httpHeaders”]
                     property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                 anonymous object
                     type * string
[“url”]
                     property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                 anonymous object
                     type * string
[“constant”]
                     value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                 anonymous object
                     type * string
[“environment”]
                     property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                 anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                     type * string
[“sessionData”]
                     property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                 anonymous object
                     type * string
[“externalData”]
                     property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
             required boolean
             default string
             saveInSessionData boolean
             transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 20+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
             type * string
[“array”]
             separator string
The separator to use to split the input string into an array. Defaults to “,”.

* : mandatory fields.

Range attribute

Name Type Default Description
         anonymous object
Range attribute allows to create a couple of attributes min and max from an input value based on the “-” separator.

Example: with an input value “10-20” and attribute name is “myAttribute”, the 2 created attributes will be :
- “myAttribute.min” with value “10”
- “myAttribute.max” with value “20”
             name * string
             source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                 anonymous object
                     type * string
[“queryParams”]
                     property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                 anonymous object
                     type * string
[“httpHeaders”]
                     property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                 anonymous object
                     type * string
[“url”]
                     property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                 anonymous object
                     type * string
[“constant”]
                     value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                 anonymous object
                     type * string
[“environment”]
                     property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                 anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                     type * string
[“sessionData”]
                     property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                 anonymous object
                     type * string
[“externalData”]
                     property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
             required boolean
             default string
             saveInSessionData boolean
             transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 21+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
             type * string
[“range”]

* : mandatory fields.

Mapping attribute

Name Type Default Description
         anonymous object
Mapping attribute allows to map an input value to a decision value based on a defined mapping, the first matching will be applied. By default, exact matching is used, but can be changed via the “operator” property.
A default value can also be defined if no mapping matches via the “defaultMappingResult” property.

Example:
With map [{source: “HD”, destination: “high”}, {source: “SD”, destination: “standard”}], operator “equals” and an input value “HD”, the attribute will have the value “high”.
With the same map and operator “startsWith”, an input value “HD-1234” will also be mapped to “high”.
             name * string
             source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                 anonymous object
                     type * string
[“queryParams”]
                     property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                 anonymous object
                     type * string
[“httpHeaders”]
                     property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                 anonymous object
                     type * string
[“url”]
                     property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                 anonymous object
                     type * string
[“constant”]
                     value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                 anonymous object
                     type * string
[“environment”]
                     property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                 anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                     type * string
[“sessionData”]
                     property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                 anonymous object
                     type * string
[“externalData”]
                     property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
             required boolean
             default string
             saveInSessionData boolean
             transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 22+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
             type * string
[“mapping”]
             operator string
[“equals”, “startsWith”, “endsWith”, “contains”]
The operator to use for the mapping. Defaults to “equals”.
             map * [object]
Mapping of the attribute value to the decision value, the first matching will be applied.
By default, exact matching is used, can be changed via the “operator” property.
                 source * string
The attribute value to be mapped.
                 destination * string
The decision value to be mapped to.
             defaultMappingResult string
The default value if no mapping matches.

* : mandatory fields.

JSON field attribute

Name Type Default Description
         anonymous object
JSON field attribute allows to extract a value from a JSON input, using the “field” property as the path to the value to be extracted.

Example: with field “supported_tracks.key_id” and an input parameter ‘{“key_id”:“value_to_extract,”an_other_key”:“another_value”}’, the attribute will have the value “value_to_extract”.
             name * string
             source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                 anonymous object
                     type * string
[“queryParams”]
                     property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                 anonymous object
                     type * string
[“httpHeaders”]
                     property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                 anonymous object
                     type * string
[“url”]
                     property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                 anonymous object
                     type * string
[“constant”]
                     value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                 anonymous object
                     type * string
[“environment”]
                     property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                 anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                     type * string
[“sessionData”]
                     property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                 anonymous object
                     type * string
[“externalData”]
                     property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
             required boolean
             default string
             saveInSessionData boolean
             transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 23+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
             type * string
[“jsonField”]
             field * string
The field to be extracted from the JSON query parameter.

* : mandatory fields.

Key/Value attribute

Name Type Default Description
         anonymous object
Key/Value attribute allows creating variables from an input string of key-value pairs.

Example: “key1=value1,key2=value2” will be converted into variables “key1”=“value1” and “key2”=“value2”.
             name * string
             source * any

* : mandatory fields.

Query parameters

Name Type Default Description
                 anonymous object
                     type * string
[“queryParams”]
                     property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
                 anonymous object
                     type * string
[“httpHeaders”]
                     property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
                 anonymous object
                     type * string
[“url”]
                     property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
                 anonymous object
                     type * string
[“constant”]
                     value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
                 anonymous object
                     type * string
[“environment”]
                     property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
                 anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
                     type * string
[“sessionData”]
                     property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
                 anonymous object
                     type * string
[“externalData”]
                     property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
             required boolean
             default string
             saveInSessionData boolean
             transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 24+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
             type * string
[“keyValue”]
             listSeparator * string
“;” The separator to use to split the input string into items. Variable tokens “${}” are supported. Defaults to “;”.
             keyValueSeparator * string
“=” The separator to use to split the key and value in each item. Variable tokens “${}” are supported. Defaults to “=”.
             prefix string
An optional prefix to add to the variable names created from the keys.
For example, with prefix “myPrefix”, “key1=value1,key2=value2” will create variables “myPrefix.key1”=“value1” and “myPrefix.key2”=“value2”.
             defaultValue string
Allows a default value to be used if no value is defined for a key.
decisions * [object]
     conditions * any
Define a list of conditions to be met to trigger the event.

* : mandatory fields.

All

Name Type Default Description
         anonymous object
Define a list of conditions that must all be met to trigger the event.
             all * [oneOf]

* : mandatory fields.

Condition

Name Type Default Description
                 anonymous object(grid)
Define a condition to be met to trigger the event.
                     fact * string
The attribute to be checked.
                     operator * string
[“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”]
The operator to be used to compare the attribute value.
                     value * string,number
The value to be compared to the attribute value.

* : mandatory fields.

Any

Name Type Default Description
                 anonymous object
Define a list of conditions where at least one must be met to trigger the event.
                     any * [oneOf]
                         Condition object(grid)
Define a condition to be met to trigger the event.
                             fact * string
The attribute to be checked.
                             operator * string
[“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”]
The operator to be used to compare the attribute value.
                             value * string,number
The value to be compared to the attribute value.

* : mandatory fields.

Any

Name Type Default Description
         anonymous object
Define a list of conditions where at least one must be met to trigger the event.
             any * [oneOf]
                 Condition object(grid)
Define a condition to be met to trigger the event.
                     fact * string
The attribute to be checked.
                     operator * string
[“equal”, “notEqual”, “greaterThan”, “greaterThanInclusive”, “lessThan”, “lessThanInclusive”, “in”, “notIn”, “contains”, “doesNotContain”]
The operator to be used to compare the attribute value.
                     value * string,number
The value to be compared to the attribute value.

* : mandatory fields.

Name Type Default Description
     event * object
         type * string
[“define”]
         params * [object]
             name * string
The parameter name to be passed to the event.
             value * string,number,boolean
The parameter value to be passed to the event.
             saveInSessionData boolean
false
response * any

* : mandatory fields.

Document response

Name Type Default Description
     anonymous object(categories)
         type * string
[“document”]
         contentType * string
[“application/json”, “text/plain”]
         statusCode string
“200” Status code
         httpResponseHeaders [object]
HTTP headers to be added to responses
             header * string
Http header
             value * string
Value of the http header
         updateSessionData object
             behavior * string
[“keep”, “update”, “replace”, “none”]
             dynamicBehavior string
Dynamical behavior can be based on variable. It will override the behavior property when it is set.
             sessionExpiration string
“14400” Duration in seconds after which the session data will expire.
             queryParameters object
                 enabled * boolean
false
                 filters [string]
Supported filters are blog patterns.

examples:
- “var.*” : All query parameters whose names start with “var.”
- “**/!(var.unexpected)” : All query parameters, except for “var.unexpected”
             httpHeaders object
                 enabled * boolean
false
                 filters [string]
Supported filters are blog patterns.

examples:
- “var.*” : All HTTP headers whose names start with “var.”
- “**/!(var.unexpected)” : All HTTP headers, except for “var.unexpected”
         document * string(javascript)
The document to be sent to the player.

* : mandatory fields.

Redirect response

Name Type Default Description
     anonymous object(categories)
         type * string
[“redirect”]
         statusCode * string
“307” Status code
         httpResponseHeaders [object]
HTTP headers to be added to responses
             header * string
Http header
             value * string
Value of the http header
         updateSessionData object
             behavior * string
[“keep”, “update”, “replace”, “none”]
             dynamicBehavior string
Dynamical behavior can be based on variable. It will override the behavior property when it is set.
             sessionExpiration string
“14400” Duration in seconds after which the session data will expire.
             queryParameters object
                 enabled * boolean
false
                 filters [string]
Supported filters are blog patterns.

examples:
- “var.*” : All query parameters whose names start with “var.”
- “**/!(var.unexpected)” : All query parameters, except for “var.unexpected”
             httpHeaders object
                 enabled * boolean
false
                 filters [string]
Supported filters are blog patterns.

examples:
- “var.*” : All HTTP headers whose names start with “var.”
- “**/!(var.unexpected)” : All HTTP headers, except for “var.unexpected”
         url * string
The redirect URL to be sent to the player.

* : mandatory fields.

Example

id: preplay
userDataKey: /${STREAM_FORMAT}//${PROCESSING_ID}/${SESSION_ID}
debug: true
enableAccessLog: true
accessLogLevel: error
expandQueryParameters:
  - type: constant
    inputQueryParameter: expand
    map:
      - value: qlv
        additionalQueryParameters: ad.id=1234&ad.type=video
attributes: []
decisions:
  - conditions:
      all:
        - fact: resolution.max
          operator: greaterThan
          value: string
    event:
      type: define
      params:
        - name: string
          value: string
          saveInSessionData: false
response:
  type: document
  contentType: application/json
  statusCode: "200"
  httpResponseHeaders:
    - header: string
      value: string
  updateSessionData:
    behavior: keep
    dynamicBehavior: string
    sessionExpiration: "3600"
    queryParameters:
      enabled: false
      filters:
        - ad.*
    httpHeaders:
      enabled: false
      filters:
        - string
  document: string

attribute

Properties

String attribute

Name Type Default Description
name * string
source * any

* : mandatory fields.

Query parameters

Name Type Default Description
         anonymous object
             type * string
[“queryParams”]
             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
         anonymous object
             type * string
[“httpHeaders”]
             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
         anonymous object
             type * string
[“url”]
             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
         anonymous object
             type * string
[“constant”]
             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
         anonymous object
             type * string
[“environment”]
             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
             type * string
[“sessionData”]
             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
         anonymous object
             type * string
[“externalData”]
             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
     required boolean
     default string
     saveInSessionData boolean
     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 25+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
     type * string
[“string”]

* : mandatory fields.

Boolean attribute

Name Type Default Description
name * string
source * any

* : mandatory fields.

Query parameters

Name Type Default Description
         anonymous object
             type * string
[“queryParams”]
             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
         anonymous object
             type * string
[“httpHeaders”]
             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
         anonymous object
             type * string
[“url”]
             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
         anonymous object
             type * string
[“constant”]
             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
         anonymous object
             type * string
[“environment”]
             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
             type * string
[“sessionData”]
             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
         anonymous object
             type * string
[“externalData”]
             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
     required boolean
     default string
     saveInSessionData boolean
     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 26+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
     type * string
[“boolean”]

* : mandatory fields.

Number attribute

Name Type Default Description
name * string
source * any

* : mandatory fields.

Query parameters

Name Type Default Description
         anonymous object
             type * string
[“queryParams”]
             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
         anonymous object
             type * string
[“httpHeaders”]
             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
         anonymous object
             type * string
[“url”]
             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
         anonymous object
             type * string
[“constant”]
             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
         anonymous object
             type * string
[“environment”]
             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
             type * string
[“sessionData”]
             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
         anonymous object
             type * string
[“externalData”]
             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
     required boolean
     default string
     saveInSessionData boolean
     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 27+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
     type * string
[“number”]

* : mandatory fields.

Array attribute

Name Type Default Description
name * string
source * any

* : mandatory fields.

Query parameters

Name Type Default Description
         anonymous object
             type * string
[“queryParams”]
             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
         anonymous object
             type * string
[“httpHeaders”]
             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
         anonymous object
             type * string
[“url”]
             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
         anonymous object
             type * string
[“constant”]
             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
         anonymous object
             type * string
[“environment”]
             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
             type * string
[“sessionData”]
             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
         anonymous object
             type * string
[“externalData”]
             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
     required boolean
     default string
     saveInSessionData boolean
     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 28+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
     type * string
[“array”]
     separator string
The separator to use to split the input string into an array. Defaults to “,”.

* : mandatory fields.

Range attribute

Name Type Default Description
name * string
source * any

* : mandatory fields.

Query parameters

Name Type Default Description
         anonymous object
             type * string
[“queryParams”]
             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
         anonymous object
             type * string
[“httpHeaders”]
             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
         anonymous object
             type * string
[“url”]
             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
         anonymous object
             type * string
[“constant”]
             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
         anonymous object
             type * string
[“environment”]
             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
             type * string
[“sessionData”]
             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
         anonymous object
             type * string
[“externalData”]
             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
     required boolean
     default string
     saveInSessionData boolean
     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 29+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
     type * string
[“range”]

* : mandatory fields.

Mapping attribute

Name Type Default Description
name * string
source * any

* : mandatory fields.

Query parameters

Name Type Default Description
         anonymous object
             type * string
[“queryParams”]
             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
         anonymous object
             type * string
[“httpHeaders”]
             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
         anonymous object
             type * string
[“url”]
             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
         anonymous object
             type * string
[“constant”]
             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
         anonymous object
             type * string
[“environment”]
             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
             type * string
[“sessionData”]
             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
         anonymous object
             type * string
[“externalData”]
             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
     required boolean
     default string
     saveInSessionData boolean
     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 30+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
     type * string
[“mapping”]
     operator string
[“equals”, “startsWith”, “endsWith”, “contains”]
The operator to use for the mapping. Defaults to “equals”.
     map * [object]
Mapping of the attribute value to the decision value, the first matching will be applied.
By default, exact matching is used, can be changed via the “operator” property.
         source * string
The attribute value to be mapped.
         destination * string
The decision value to be mapped to.
     defaultMappingResult string
The default value if no mapping matches.

* : mandatory fields.

JSON field attribute

Name Type Default Description
name * string
source * any

* : mandatory fields.

Query parameters

Name Type Default Description
         anonymous object
             type * string
[“queryParams”]
             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
         anonymous object
             type * string
[“httpHeaders”]
             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
         anonymous object
             type * string
[“url”]
             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
         anonymous object
             type * string
[“constant”]
             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
         anonymous object
             type * string
[“environment”]
             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
             type * string
[“sessionData”]
             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
         anonymous object
             type * string
[“externalData”]
             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
     required boolean
     default string
     saveInSessionData boolean
     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 31+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
     type * string
[“jsonField”]
     field * string
The field to be extracted from the JSON query parameter.

* : mandatory fields.

Key/Value attribute

Name Type Default Description
name * string
source * any

* : mandatory fields.

Query parameters

Name Type Default Description
         anonymous object
             type * string
[“queryParams”]
             property * string
The key of the query parameter to be used to extract the attribute value.

* : mandatory fields.

HTTP headers

Name Type Default Description
         anonymous object
             type * string
[“httpHeaders”]
             property * string
The key of the HTTP header to be used to extract the attribute value.

* : mandatory fields.

URL

Name Type Default Description
         anonymous object
             type * string
[“url”]
             property * string
[“queryStr”, “method”, “path”]

* : mandatory fields.

Constant

Name Type Default Description
         anonymous object
             type * string
[“constant”]
             value * string
The constant value to be used as the attribute value.

* : mandatory fields.

Environment variable

Name Type Default Description
         anonymous object
             type * string
[“environment”]
             property * string
The name of environment variable to be used to extract the attribute value.

* : mandatory fields.

Session data

Name Type Default Description
         anonymous object
Attribute from session data allows to extract a value from the session data. This is possible only if all required attributes to build the session data key are present and extracted before.

By default, the session data key is built format from those attributes:
- STREAM_FORMAT
- PROCESSING_ID
- SESSION_ID
             type * string
[“sessionData”]
             property * string
The property in the session data to be used to extract the attribute value.

* : mandatory fields.

External data

Name Type Default Description
         anonymous object
             type * string
[“externalData”]
             property * string
The key of the external data to be used to extract the attribute value

* : mandatory fields.

Name Type Default Description
     required boolean
     default string
     saveInSessionData boolean
     transform string
Transformation can be applied to the input value using the token ${self}

Special tokens which can be used as function parameter:
- SPACE

Examples:
- string manipulation: “prefix-${self}-${myPreviousAttribute}suffix” with input value “value” will result in “prefix-value-suffix”
- ADD: Compute a sum of the two numbers. Example: “@{ADD: ${self}; 100}@” with input value “5” will result be “105”
- FloorDiv: Compute the floor of a number according to a precision. Example: “@{FLOORDIV: ${self}; 60}@” with input value “185” will result be “180”
- MD5: Compute a MD5 hash of a string. Example: “@{MD5: ${self}}@” with input value “value” will result be “5a105e8b9d40e1329780d62ea2265d8a14abfa7”
- HMAC: Compute a HMAC hash of the data with the key using the algorithm. Example: “@{HMAC: sha256; myKey; ${self} }@”
- binaryFromBase64: Return a binary subset of a base64 encoded string. Example: “@{binaryFromBase64: ${self}; 4; 8}@” with input value “CoWNYcsSCfYUSNPKJa4lNQ==” will result in “1010”
- encode: Encode a string to a specific encoding from a specific encoding. Example: @{encode: ${self} ; base64 ; utf16le }@
- decode: Decode a string from a specific encoding. Example: @{decode: ${self} ; base64 }@
- REGEX: Extract matching regular expression from a string. Example: @{REGEX: ${self}; 32+\-([0-9]{3})$; 0}@
- encodeURI: Encode a URI component. Example: @{encodeURI: ${self} }@
- JWT: Generate a JSON Web Token. Example: @{JWT: {“sub”:123,“name”:“John”} ; mysecret ; HS256 ; body.token }@
- CURL: Execute a CURL request. @{CURL: ${self} ; 200 ; default response ; json ; {“method”: “PATCH”, “headers”: {“Authorization”: “Wrong”}} }@
- JQ: Extract a value from a JSON object. Example: @{JQ: ${self} ; .name }@
- randomize: Generate a random result from a list of values. Example: “@{randomize: 1,10,20 ; result1,result2,result3 }@” where “result1” proba will be 1/31, “result2” proba will be 10/31 and “result3” proba will be 20/31
- randomNumber: Generate a random number between min and max. Example: “@{randomNumber: 1 ; 10 }@”
- slice: Extract a slice from a string according to separator. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”
- encodeIP: Convert an IP address (IPv4 or IPv6) to its hexadecimal representation. Example: “@{encodeIP: ${self} ; base16 }@”, with input value “2605:a000:200:4::0” the result will be “2605a000020000040000000000000000”
- replace: Replace all occurrences of a substring with another substring. Example: “@{replace: ${self} ; valueToReplace ; replacementValue, ${remplacementMethod}, ${regexFlag} }@”, default “remplacementMethod” is “strict”, “regexFlag” is used only if “remplacementMethod” is “regex”
     type * string
[“keyValue”]
     listSeparator * string
“;” The separator to use to split the input string into items. Variable tokens “${}” are supported. Defaults to “;”.
     keyValueSeparator * string
“=” The separator to use to split the key and value in each item. Variable tokens “${}” are supported. Defaults to “=”.
     prefix string
An optional prefix to add to the variable names created from the keys.
For example, with prefix “myPrefix”, “key1=value1,key2=value2” will create variables “myPrefix.key1”=“value1” and “myPrefix.key2”=“value2”.
     defaultValue string
Allows a default value to be used if no value is defined for a key.

* : mandatory fields.

Example

name: resolution
source:
  type: queryParams
  property: resolution
required: true
default: 0-1024
saveInSessionData: true
transform: string
type: string

history

Properties

Name Type Default Description
Configuration Updates History [object]
timestamp * number(date-time)
Timestamp of the configuration update
method * string
[“POST”, “PUT”, “PATCH”, “DELETE”]
HTTP method used for the update
path * string
URL path of the updated configuration
validatedEtag * boolean
ETag as been validated to updated the configuration (default case via controller UI)
delta * [object]
List of changes made to the configuration
     action string
[“create”, “update”, “delete”]
Type of action performed on the configuration part
     path string
JSON path of the configuration field that has been changed
     old any
Previous value of the configuration field
     new any
New value of the configuration field

* : mandatory fields.

Example

- timestamp: 1696152896000
  method: PUT
  path: string
  validatedEtag: true
  delta:
    - action: create
      path: settings.graphicalUserInterface.port
      old: null
      new: null

connection

Properties

Name Type Default Description
timeout integer
5000 Timeout while fetching source (in milliseconds)
retryCount integer
0 Retry count while fetching source (in milliseconds)

* : mandatory fields.

Example

{}

  1. a-z0-9↩︎

  2. a-z0-9↩︎

  3. a-z0-9↩︎

  4. a-z0-9↩︎

  5. a-z↩︎

  6. a-z↩︎

  7. a-z↩︎

  8. a-z↩︎

  9. a-z↩︎

  10. a-z↩︎

  11. a-z↩︎

  12. a-z↩︎

  13. a-z0-9↩︎

  14. a-z0-9↩︎

  15. a-z0-9↩︎

  16. a-z0-9↩︎

  17. a-z↩︎

  18. a-z↩︎

  19. a-z↩︎

  20. a-z↩︎

  21. a-z↩︎

  22. a-z↩︎

  23. a-z↩︎

  24. a-z↩︎

  25. a-z↩︎

  26. a-z↩︎

  27. a-z↩︎

  28. a-z↩︎

  29. a-z↩︎

  30. a-z↩︎

  31. a-z↩︎

  32. a-z↩︎