The Synamedia DAI configuration
| 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 |
| adManager | object |
Define the rules to log the HTTP access to ad 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 | |
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Define a list of conditions that must all be met to trigger the event. | |
| all * | [oneOf] |
* : mandatory fields.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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 glob 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 glob 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.
| 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 glob 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 glob 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 for VMAP decision server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision) - ${manifest.durationS}: VOD asset duration in seconds (integer) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @freewheelParamsForSlots:preroll;midroll;postroll[;prerollMaxdS][;midrollMaxdS][;postrollMaxdS]@: Generates the FreeWheel slot parameters section for the requested types (preroll, midroll, postroll). Optional max duration in seconds can be specified for each slot type. Query parameters only. - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens for VMAP decision server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision) - ${manifest.durationS}: VOD asset duration in seconds (integer) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @freewheelParamsForSlots:preroll;midroll;postroll[;prerollMaxdS][;midrollMaxdS][;postrollMaxdS]@: Generates the FreeWheel slot parameters section for the requested types (preroll, midroll, postroll). Optional max duration in seconds can be specified for each slot type. Query parameters only. - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | |
| directCall | object |
{} | Connection settings while fetching decision server at the time of the ad break |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| prefetchCall | object |
{} | Connection settings while prefetching decision server before the time of the ad break |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (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 for advertisement transcoding path: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
| firstMidRollRequest | object |
Parameters to apply for the first Mid-roll Request only | |
| queryParameters | [object] |
[] | ADS request query parameters. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| midRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| preRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Example: ${requestQueryParameter.prerollDuration} Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Example: ${requestQueryParameter.prerollDuration} Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| postRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Example: ${requestQueryParameter.postrollDuration} Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Example: ${requestQueryParameter.postrollDuration} Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | |
| directCall | object |
{} | Connection settings while fetching decision server at the time of the ad break |
| timeout | integer |
1000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| prefetchCall | object |
{} | Connection settings while prefetching decision server before the time of the ad break |
| timeout | integer |
2000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (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 for advertisement transcoding path: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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”] |
Type of source used for matching against SCTE-224 criteria | |
| value * | string |
Property of source used for matching against SCTE-224 criteria | |
| connection | object |
{} | Connection settings for fetching decision server |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| 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 for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | Signal Decision System request HTTP headers. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | Connection settings for fetching decision server |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“auto”] |
* : mandatory fields.
| 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.
| 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 tokens for source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| distributionUrl | string |
URL template advertised to the player to reach the distribution
CDN. Available tokens for distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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. Available token: - ${profileId}: in adsSourceUrl, adsDistributionUrl, paddingAssets.baseUrls, paddingAssets.distributionBaseUrl, distributionUrl, alternateSourceUrl, alternateDistributionUrl, missingAdsTranscoding.assetPathDestination |
|
| customEventSignaling | string |
Use custom event placement signaling for this source. Must match a event placement signaling defined in the settings |
* : mandatory fields.
| 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 for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| discardUnexpectedBreaksFromDecision | boolean |
false | Specify whether to discard unexpected ad breaks from the decision. |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“dateRangeTag”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adEnd | [oneOf] |
[] | Signaling format for the end of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| 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 string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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 for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| minDecisionRequestInterval | integer |
Minimal interval allowed between consecutive decision requests for ad replacement, in milliseconds. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“dateRangeTag”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adEnd | [oneOf] |
[] | Signaling format for the end of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| 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 string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrl | string |
URL template advertised to the player to reach the alternate
distribution CDN. Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger alternate content if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrl | string |
URL template to reach the origin server. Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger blackout if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“auto”] |
* : mandatory fields.
| 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.
| 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 tokens for source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| distributionUrls | [string] |
URL template(s) advertised to the player to reach the distribution
CDN(s). Available tokens for distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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, adsDistributionUrls, paddingAssets.baseUrls, paddingAssets.distributionBaseUrls, distributionUrls, alternateSourceUrl, alternateDistributionUrls, 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 |
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| discardUnexpectedBreaksFromDecision | boolean |
false | Specify whether to discard unexpected ad breaks from the decision. |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“eventStream”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format inserted at the start of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| adEnd | [oneOf] |
[] | Signaling format inserted at the end of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.tracking.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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 | |
| assetAdaptation | object |
Define adaptation options for missing or non-matching assets | |
| audio | object |
Define adaptation options for missing or non-matching audio tracks | |
| language | string |
Language of audio reference track | |
| role | string |
Role of audio reference track | |
| accessibility | string |
Accessibility of audio reference track |
* : mandatory fields.
| 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 for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| minDecisionRequestInterval | integer |
Minimal interval allowed between consecutive decision requests for ad replacement, in milliseconds. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“eventStream”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format inserted at the start of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| adEnd | [oneOf] |
[] | Signaling format inserted at the end of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.tracking.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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 |
||
| assetAdaptation | object |
Define adaptation options for missing or non-matching assets | |
| audio | object |
Define adaptation options for missing or non-matching audio tracks | |
| language | string |
Language of audio reference track | |
| role | string |
Role of audio reference track | |
| accessibility | string |
Accessibility of audio reference track | |
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrls | [string] |
URL template(s) advertised to the player to reach the alternate
distribution CDN(s). Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger alternate content if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrls | [string] |
URL template to reach a list of origin servers. Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger blackout if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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- |
|
| 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 |
| 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.
| 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] |
||
| Video Setting | object(categories) |
Video setting command | |
| id * | string |
||
| setting * | string(json) |
Video setting JSON which will could be applied with the profile video layers. | |
| audioSettings | [object] |
||
| Audio Setting | object(categories) |
Audio setting command | |
| id * | string |
||
| setting * | string(json) |
Audio setting JSON which will could be applied with the profile audio layers. | |
| packagerSettings | [object] |
||
| Packager Setting | object(categories) |
Packager setting command | |
| id * | string |
||
| args * | string(json) |
VOD packager args JSON which will could be applied with the profile. | |
| thumbnailSettings | [object] |
||
| Thumbnail Setting | object(categories) |
Thumbnail setting command | |
| id * | string |
||
| args * | string(json) |
thumbnail args JSON which will could be applied with the profile. | |
| profiles * | [object] |
||
| Transcoder profile | object(categories) |
Transcoder profile definition | |
| 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.
decisionServers:
vastServers:
- id: ads
endpointUrl: http://myAdsServer
endpointQueryParameters:
- name: duration
source: splicePoint
value: durationS| 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 for VMAP decision server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision) - ${manifest.durationS}: VOD asset duration in seconds (integer) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @freewheelParamsForSlots:preroll;midroll;postroll[;prerollMaxdS][;midrollMaxdS][;postrollMaxdS]@: Generates the FreeWheel slot parameters section for the requested types (preroll, midroll, postroll). Optional max duration in seconds can be specified for each slot type. Query parameters only. - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens for VMAP decision server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${manifest.durationSms}: VOD asset duration in seconds (float with milliseconds 3-digits precision) - ${manifest.durationS}: VOD asset duration in seconds (integer) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @freewheelParamsForSlots:preroll;midroll;postroll[;prerollMaxdS][;midrollMaxdS][;postrollMaxdS]@: Generates the FreeWheel slot parameters section for the requested types (preroll, midroll, postroll). Optional max duration in seconds can be specified for each slot type. Query parameters only. - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | |
| directCall | object |
{} | Connection settings while fetching decision server at the time of the ad break |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| prefetchCall | object |
{} | Connection settings while prefetching decision server before the time of the ad break |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (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 for advertisement transcoding path: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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.
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: []| 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 |
| firstMidRollRequest | object |
Parameters to apply for the first Mid-roll Request only | |
| queryParameters | [object] |
[] | ADS request query parameters. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| midRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| preRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Example: ${requestQueryParameter.prerollDuration} Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Example: ${requestQueryParameter.prerollDuration} Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| postRollRequest | object |
||
| queryParameters | [object] |
[] | ADS request query parameters. Example: ${requestQueryParameter.postrollDuration} Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | ADS request HTTP headers. Example: ${requestQueryParameter.postrollDuration} Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | |
| directCall | object |
{} | Connection settings while fetching decision server at the time of the ad break |
| timeout | integer |
1000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
| prefetchCall | object |
{} | Connection settings while prefetching decision server before the time of the ad break |
| timeout | integer |
2000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (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 for advertisement transcoding path: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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.
id: ADS
endpointUrl: https://securepubads.g.doubleclick.net/gampad/ads
followAdditionalWrappers: 5
firstMidRollRequest:
queryParameters: []
httpHeaders: []
midRollRequest:
queryParameters: []
httpHeaders: []
preRollRequest:
queryParameters: []
httpHeaders: []
postRollRequest:
queryParameters: []
httpHeaders: []
connection: {}
missingAdsTranscoding:
type: internal
assetPathDestination: ads/${adId}
waitForTranscodingResponse: true
profileIds: []| 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”] |
Type of source used for matching against SCTE-224 criteria | |
| value * | string |
Property of source used for matching against SCTE-224 criteria | |
| connection | object |
{} | Connection settings for fetching decision server |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
* : mandatory fields.
id: EsniServer
endpointUrl: string
mediaName: ${assetPath}
audienceMapping: []
connection: {}| 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 for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| name * | string |
||
| value * | string |
||
| separator | string |
“&” | |
| encode | boolean |
true | |
| httpHeaders | [object] |
[] | Signal Decision System request HTTP headers. Available tokens for decision server requests: - ${assetIdentifier.id}: Asset Identifier id of the period - ${assetIdentifier.schemeIdUri}: Asset Identifier schemeIdUri of the period - ${assetIdentifier.value}: Asset Identifier value of the period - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${event.[param]}: Value of custom parameter [param] of the event - ${event.durationHMS}: Event duration in HH:MM:SS format - ${event.durationMs}: Event duration in milliseconds - ${event.durationSms}: Event duration in seconds (float with milliseconds 3-digits precision) - ${event.durationS}: Event duration in seconds (rounded integer) - ${event.id}: Event identifier - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${splice.durationHMS}: Splice duration in HH:MM:SS format - ${splice.durationMs}: Splice duration in milliseconds - ${splice.durationSms}: Splice duration in seconds (float with milliseconds 3-digits precision) - ${splice.durationS}: Splice duration in seconds (rounded integer) - ${splice.id}: Splice identifier - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| header * | string |
||
| value * | string |
||
| connection | object |
{} | Connection settings for fetching decision server |
| timeout | integer |
5000 | Timeout while fetching source (in milliseconds) |
| retryCount | integer |
0 | Retry count while fetching source (in milliseconds) |
* : mandatory fields.
id: SDS
endpointUrl: http://sds/media/1/instruction
request:
queryParameters: []
httpHeaders: []
connection: {}| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“auto”] |
* : mandatory fields.
| 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.
| 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 tokens for source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| distributionUrls | [string] |
URL template(s) advertised to the player to reach the distribution
CDN(s). Available tokens for distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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, adsDistributionUrls, paddingAssets.baseUrls, paddingAssets.distributionBaseUrls, distributionUrls, alternateSourceUrl, alternateDistributionUrls, 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 |
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“dashAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| discardUnexpectedBreaksFromDecision | boolean |
false | Specify whether to discard unexpected ad breaks from the decision. |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“eventStream”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format inserted at the start of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| adEnd | [oneOf] |
[] | Signaling format inserted at the end of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.tracking.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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 | |
| assetAdaptation | object |
Define adaptation options for missing or non-matching assets | |
| audio | object |
Define adaptation options for missing or non-matching audio tracks | |
| language | string |
Language of audio reference track | |
| role | string |
Role of audio reference track | |
| accessibility | string |
Accessibility of audio reference track |
* : mandatory fields.
| 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 for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| minDecisionRequestInterval | integer |
Minimal interval allowed between consecutive decision requests for ad replacement, in milliseconds. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“eventStream”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format inserted at the start of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| adEnd | [oneOf] |
[] | Signaling format inserted at the end of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.tracking.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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 |
||
| assetAdaptation | object |
Define adaptation options for missing or non-matching assets | |
| audio | object |
Define adaptation options for missing or non-matching audio tracks | |
| language | string |
Language of audio reference track | |
| role | string |
Role of audio reference track | |
| accessibility | string |
Accessibility of audio reference track | |
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrls | [string] |
URL template(s) advertised to the player to reach the alternate
distribution CDN(s). Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger alternate content if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrls | [string] |
URL template to reach a list of origin servers. Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger blackout if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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- |
|
| 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 |
| 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.
| 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.
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: "*"| Name | Type | Default | Description |
|---|---|---|---|
| Source | any |
Define how to get the reference manifest |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashManifestFetch”] |
||
| sourceBaseUrl * | string |
URL template to reach the origin server. Manifest filename is extracted from incoming URL. Available tokens for source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| distributionUrls | [string] |
URL template(s) advertised to the player to reach the distribution
CDN(s). Available tokens for distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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, adsDistributionUrls, paddingAssets.baseUrls, paddingAssets.distributionBaseUrls, distributionUrls, alternateSourceUrl, alternateDistributionUrls, 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.
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| Name | Type | Default | Description |
|---|---|---|---|
| Operation | any |
Transformation applied to a dash manifest |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dashAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| discardUnexpectedBreaksFromDecision | boolean |
false | Specify whether to discard unexpected ad breaks from the decision. |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“eventStream”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format inserted at the start of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| adEnd | [oneOf] |
[] | Signaling format inserted at the end of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.tracking.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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 | |
| assetAdaptation | object |
Define adaptation options for missing or non-matching assets | |
| audio | object |
Define adaptation options for missing or non-matching audio tracks | |
| language | string |
Language of audio reference track | |
| role | string |
Role of audio reference track | |
| accessibility | string |
Accessibility of audio reference track |
* : mandatory fields.
| 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 for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrls | [string] |
URL template to reach a list of ads servers. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| minDecisionRequestInterval | integer |
Minimal interval allowed between consecutive decision requests for ad replacement, in milliseconds. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“eventStream”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format inserted at the start of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| adEnd | [oneOf] |
[] | Signaling format inserted at the end of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.tracking.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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 |
||
| assetAdaptation | object |
Define adaptation options for missing or non-matching assets | |
| audio | object |
Define adaptation options for missing or non-matching audio tracks | |
| language | string |
Language of audio reference track | |
| role | string |
Role of audio reference track | |
| accessibility | string |
Accessibility of audio reference track | |
| placementSignaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrls | [string] |
URL template(s) advertised to the player to reach the alternate
distribution CDN(s). Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger alternate content if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrls | [string] |
URL template to reach a list of origin servers. Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger blackout if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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- |
|
| 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 |
| 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.
| 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.
type: dashAdInsertion
name: Ad Insertion
decisionServerId: string
discardUnexpectedBreaksFromDecision: false
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:
adStart:
- type: eventStream
adEnd: []
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
assetAdaptation:
audio:
language: string
role: string
accessibility: string| Name | Type | Default | Description |
|---|---|---|---|
| adStart | [oneOf] |
[{“type”:“eventStream”}] | Signaling format inserted at the start of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| adEnd | [oneOf] |
[] | Signaling format inserted at the end of an advertising period |
| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.adbreak.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
Name of the namespace | |
| uri * | string |
Namespace URI value (URN, URL, or file path) | |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
adStart:
- type: eventStream
adEnd: []| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
| 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 |
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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
breakStart:
- type: eventStream
breakEnd:
- type: eventStream| 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 |
Value to insert for the event stream value attribute example: “com.synamedia.dai.tracking.v2” |
|
| eventClientAttributes | [object] |
[] | List of event client attributes |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| namespaces | [object] |
[{“xmlns”:“xmlns:dai”, “uri”:“urn:synamedia:dai:2023:measurement”}] | List of custom namespaces related to the event stream. These namespaces will be added to the MPD tag. |
| xmlns * | string |
“xmlns:dai” | Name of the namespace |
| uri * | string |
“urn:synamedia:dai:2023:measurement” | Namespace URI value (URN, URL, or file path) |
| eventContent | string |
“ |
Templated string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
- type: eventStream| Name | Type | Default | Description |
|---|---|---|---|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrls | [string] |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
baseUrls:
- http://myCDN/cmaf/black-500ms/
distributionBaseUrls:
- https://myCDN/dash/cdvr/${profileId}
queryParameterForward:
rule: all
exceptions: []
httpHeaderForward:
- x-amz-cf-id
connection: {}| Name | Type | Default | Description |
|---|---|---|---|
| audio | object |
Define adaptation options for missing or non-matching audio tracks | |
| language | string |
Language of audio reference track | |
| role | string |
Role of audio reference track | |
| accessibility | string |
Accessibility of audio reference track |
* : mandatory fields.
audio:
language: string
role: string
accessibility: string| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“auto”] |
* : mandatory fields.
| 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.
| 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 tokens for source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| distributionUrl | string |
URL template advertised to the player to reach the distribution
CDN. Available tokens for distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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. Available token: - ${profileId}: in adsSourceUrl, adsDistributionUrl, paddingAssets.baseUrls, paddingAssets.distributionBaseUrl, distributionUrl, alternateSourceUrl, alternateDistributionUrl, missingAdsTranscoding.assetPathDestination |
|
| customEventSignaling | string |
Use custom event placement signaling for this source. Must match a event placement signaling defined in the settings |
* : mandatory fields.
| 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 for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(categories) |
||
| type * | string [“hlsAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| discardUnexpectedBreaksFromDecision | boolean |
false | Specify whether to discard unexpected ad breaks from the decision. |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“dateRangeTag”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adEnd | [oneOf] |
[] | Signaling format for the end of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| 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 string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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 for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| minDecisionRequestInterval | integer |
Minimal interval allowed between consecutive decision requests for ad replacement, in milliseconds. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“dateRangeTag”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adEnd | [oneOf] |
[] | Signaling format for the end of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| 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 string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrl | string |
URL template advertised to the player to reach the alternate
distribution CDN. Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger alternate content if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrl | string |
URL template to reach the origin server. Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger blackout if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
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| Name | Type | Default | Description |
|---|---|---|---|
| Source | any |
Define how to get the reference playlist |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsPlaylistFetch”] |
||
| sourceBaseUrl * | string |
URL template to reach the origin server. Playlist filename is extracted from incoming URL. Available tokens for source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| distributionUrl | string |
URL template advertised to the player to reach the distribution
CDN. Available tokens for distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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. Available token: - ${profileId}: in adsSourceUrl, adsDistributionUrl, paddingAssets.baseUrls, paddingAssets.distributionBaseUrl, distributionUrl, alternateSourceUrl, alternateDistributionUrl, missingAdsTranscoding.assetPathDestination |
|
| customEventSignaling | string |
Use custom event placement signaling for this source. Must match a event placement signaling defined in the settings |
* : mandatory fields.
| 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 for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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.
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| Name | Type | Default | Description |
|---|---|---|---|
| Operation | any |
transformation applied to a hls playlist |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“hlsAdInsertion”] |
||
| name | string |
“Ad Insertion” | |
| decisionServerId * | string |
VMAP decision server Id | |
| discardUnexpectedBreaksFromDecision | boolean |
false | Specify whether to discard unexpected ad breaks from the decision. |
| adsSourceUrl * | string |
“${mediaFile}” | URL template to access the ad creative’s manifest
file. Available tokens for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“dateRangeTag”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adEnd | [oneOf] |
[] | Signaling format for the end of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| 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 string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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 for advertisement source URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| adsDistributionUrl | string |
URL template to reach an ads server. Available tokens for advertisement distribution URLs: - ${adId}: VAST Ad ID - ${adTitle}: Ad title from VAST AdTitle element - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${creativeAdId}: VAST Creative AdID attribute - ${creativeId}: VAST Creative ID - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${mediaFileBase64}: Base64-encoded version of ${mediaFile} - ${mediaFile[;attr=value;…]}: Media file URL from VAST MediaFile element: the first MediaFile, or the one matching all given attributes (type, delivery, codec, bitrate, width, height, id, apiFramework); highest quality wins on ties; values may be quoted (e.g. ${mediaFile;type=“application/dash+xml”;delivery=“streaming”}); if none match, the token is left unresolved and the ad is skipped - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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 |
|---|---|---|---|
| anonymous | object |
Return to live at the next segment following the last ad. When the ads duration returned by the decision server is shorter than the underlying ad break (placement opportunity), the ad break is shortened up to the first source segment boundary located after the last ad, and the source content is played back from that boundary onwards. Padding is inserted at the end of the last ad to fill the gap up to that boundary. If the required padding exceeds maxPaddingDuration, or if the ads exactly fill the ad break, the behavior is identical to keepOriginalAdBreak. |
|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adReplacementWindow | integer |
Define the edge time window in seconds during which ad replacement will be done. | |
| minDecisionRequestInterval | integer |
Minimal interval allowed between consecutive decision requests for ad replacement, in milliseconds. | |
| prebidding | string [“disabled”, “enabled”, “required”] |
“disabled” | Prebidding configuration |
| tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 | object |
{“adStart”:[{“type”:“dateRangeTag”}], “adEnd”:[]} | Define how ad signaling is formatted by the manifest manipulator |
| adStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adEnd | [oneOf] |
[] | Signaling format for the end of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakSignalingFormat | object |
Define how break signaling is formatted by the manifest manipulator | |
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| 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 string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrl | string |
URL template advertised to the player to reach the alternate
distribution CDN. Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger alternate content if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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 for alternate source URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| alternateDistributionUrl | string |
URL template to reach the origin server. Available tokens for alternate distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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) |
| triggerAlternateIfAudienceDoesNotMatch | boolean |
false | Specify whether to trigger blackout if the audience does not match SCTE-224 policy. |
| actionFiltering | object |
Define which SCTE-224 actions can trigger the alternate content | |
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
| 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 tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
type: hlsAdInsertion
name: Ad Insertion
decisionServerId: string
discardUnexpectedBreaksFromDecision: false
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:
adStart:
- type: dateRangeTag
adEnd: []
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| Name | Type | Default | Description |
|---|---|---|---|
| adStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| adEnd | [oneOf] |
[] | Signaling format for the end of an advertising |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
adStart:
- type: dateRangeTag
adEnd: []| Name | Type | Default | Description |
|---|---|---|---|
| breakStart | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the start of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| breakEnd | [oneOf] |
[{“type”:“dateRangeTag”}] | Signaling format for the end of a break |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | 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 for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“customTag”] |
Format type | |
| tagName * | string |
Name of the custom tag to insert | |
| tagValue | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
|
| clientAttributes | [object] |
List of client attributes to insert | |
| name * | string |
Name of the client attribute | |
| value * | string |
Templated value for advertisement signaling. Available tokens for advertisement signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adEnd90k}: The ad end in 90kHz ticks - ${adEndIso}: The ad end in ISO 8601 format - ${adEndMs}: The ad end in milliseconds since epoch - ${adEndS}: The ad end in seconds since epoch - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${adType}: The ad type - ${eventId}: The event identifier - ${sessionData.[key]}: Value of entry [key] from the session data - ${uplynkAdData}: Uplynk signaling format - ${vastAd}: VAST Ad tag - ${vmapAdBreakWithoutAdSource}: VMAP AdBreak tag without AdSource All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
breakStart:
- type: dateRangeTag
breakEnd:
- type: dateRangeTag| 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 string value for tracking signaling. Available tokens for tracking signaling: - ${adCount}: The number of ads in the break - ${adDuration90k}: The ad duration in 90kHz ticks - ${adDurationIso}: The ad duration in ISO 8601 format - ${adDurationMs}: The ad duration in milliseconds - ${adDurationS}: The ad duration in seconds - ${adId}: The ad identifier - ${adPos}: The ad position in the break - ${adStart90k}: The ad start in 90kHz ticks - ${adStartIso}: The ad start in ISO 8601 format - ${adStartMs}: The ad start in milliseconds since epoch - ${adStartS}: The ad start in seconds since epoch - ${sessionData.[key]}: Value of entry [key] from the session data - ${trackingEvent}: The tracking event - ${trackingUrlEscaped}: The tracking URL escaped for XML - ${trackingUrl}: The tracking URL All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @add:a;b@: Sum of two integers. - @binaryFromBase64:base64data;start;end@: Returns binary subset of a base64 string. start, end: byte indices. - @decode:data;encoding@: Decodes data from encoding. encoding: base64 |
* : mandatory fields.
- type: dateRangeTag| Name | Type | Default | Description |
|---|---|---|---|
| baseUrls * | [string] |
Urls of the asset used to pad to minimize
discontinuity. Available tokens for padding asset URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| Base URL | string |
||
| distributionBaseUrl | string |
URL template to reach a list of origin servers. Available tokens for padding distribution URLs: - ${assetPath}: Same as ${requestUrl.assetPath} - ${baseUrl}: The resolved source URL the distribution URL derives from - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| 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.
baseUrls:
- http://myCDN/cmaf/black-500ms/
distributionBaseUrl: https://myCDN/hls/cdvr/${profileId}
queryParameterForward:
rule: all
exceptions: []
httpHeaderForward:
- x-amz-cf-id
connection: {}| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
type: staticMapping
mappings:
- sourceName: video1.m3u8
adsName: video7Mps.m3u8| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| adsName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
type: staticMapping
mappings:
- sourceName: video1.m3u8
adsName: video7Mps.m3u8
paddingName: video7Mps| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
||
| paddingName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
type: staticMapping
mappings:
- sourceName: video1.m3u8
alternateName: video7Mps.m3u8
paddingName: video7Mps| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“staticMapping”] |
||
| mappings * | [object] |
||
| sourceName * | string |
||
| alternateName * | string |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“dynamicMapping”] |
||
| videoOnly | object |
||
| rules * | [oneOf] |
[] | |
| Criteria | object |
Criteria for playlist matching |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“audioCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“groupId”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“videoCodec”] |
||
| tolerance * | string [“exactMatching”, “fourccMatching”] |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object(grid-strict) |
||
| type * | string [“width”, “height”] |
||
| tolerance * | string [“exactMatching”] |
* : mandatory fields.
type: staticMapping
mappings:
- sourceName: video1.m3u8
alternateName: video7Mps.m3u8| 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.
{}| Name | Type | Default | Description |
|---|---|---|---|
| Tracking | any |
{“type”:“direct”} | Define how tracking are handle by the player |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“direct”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“serverSide”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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 |
|---|---|---|---|
| type * | string [“clientSideProxing”] |
||
| trackingServerEndpoint * | string |
URL template of the tracking server. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
|
| trackingHttpHeaders | [object] |
[] | ADS tracking HTTP headers. Available tokens for tracking server requests: - ${assetPath}: Same as ${requestUrl.assetPath} - ${dateTimeISO}: Current date/time in ISO 8601 format (e.g. “2025-10-28T14:30:00.000Z”) - ${profileId}: Encoding profile ID (from session data PROFILE_ID, or from DASH in tag /ProgramInformation/ext:EncodingProfile, or for HLS in #EXT-X-SESSION-DATA:ProgramInformation - ${programInformation.[key]}: Value of entry [key] from the program information - ${requestHttpHeader.[key]}: Value of HTTP header [key] of the incoming request - ${requestQueryParameter.[key]}: Value of query parameter [key] of the incoming request URL - ${requestUrl.assetPath}: Asset path (channel ID) of the incoming request URL - ${requestUrl.manifestName}: Manifest name of the incoming request URL - ${sessionData.[key]}: Value of entry [key] from the session data - ${timestampMs}: Current Unix timestamp in milliseconds - ${timestampS}: Current Unix timestamp in seconds - ${traceId}: Trace ID of the incoming request All ${ } tokens support an optional default value: ${tokenName:defaultValue}. If a token cannot be resolved, the default value is substituted instead (empty string if omitted). Available functions (syntax: @functionName:param1;param2;...@): - @randomNumber:min;max@: Returns a random integer between min and max (inclusive). - @regex:value;pattern;default@: Returns the first capture group of pattern applied to value, or default if no match. - @replace:input;searchValue;replaceValue[;method][;flags]@: Replaces occurrences of searchValue with replaceValue. method (optional, default: strict): strict |
| 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.
type: direct| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“adaptBreakDuration”] |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“earlyReturnToLive”] |
||
| maxPaddingDuration | integer |
3000 | Define the maximum padding duration to complete an ad break. It must be at least one source segment duration for the early return to live to be effective. |
| 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. |
* : mandatory fields.
type: adaptBreakDuration| Name | Type | Default | Description |
|---|---|---|---|
| match * | string [“any”, “all”, “none”] |
“any” | match type for the action filtering |
| actions * | [object] |
[] | |
| name * | string |
“action:Content” | action name |
| value * | string |
“urn:scte:224:action:blackout” | action value, in regex format (ex: “^BLACKOUT$”, “^(?!.CONTENT).$”) |
* : mandatory fields.
match: any
actions: []| Name | Type | Default | Description |
|---|---|---|---|
| inputRequest | [object] |
||
| source * | string [“inputRequestQuery”, “inputHttpHeader”, “sessionData”] |
||
| name * | string |
||
| condition * | string [“contains”, “doesNotContain”] |
||
| value * | string |
* : mandatory fields.
inputRequest:
- source: inputRequestQuery
name: string
condition: contains
value: string| Name | Type | Default | Description |
|---|---|---|---|
| Placement Signaling | [oneOf] |
The operation is triggered if any of the trigger conditions are fullfilled |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“spliceAdvancedMatching”] |
||
| signalMatching * | string |
Signal matching XML string as defined in SCTE 224 specification |
* : mandatory fields.
| 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.
- type: spliceBasicMatching
spliceCommandType: spliceInsert
segmentationTypeId: 15
durationPresent: true| 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.
rule: all
exceptions: []| Name | Type | Default | Description |
|---|---|---|---|
| Transform | [oneOf] |
Method to extract the value |
* : mandatory fields.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| type * | string [“base64Decode”] |
“base64Decode” | Type of the transform |
* : mandatory fields.
| 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.
- type: split
separator: string
position: 0| Name | Type | Default | Description |
|---|---|---|---|
| spliceEventId | boolean |
true | SpliceInsert EventId or TimeSignal SegmentationEventId |
| spliceTime | boolean |
false | Splice Time PTS |
* : mandatory fields.
spliceEventId: true
spliceTime: false| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
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| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
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| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
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| 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 |
| adManager | object |
Define the rules to log the HTTP access to ad 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 | |
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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.
| 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.
| 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.
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
adManager:
enabled: true
includeCacheHit: false
filtering:
httpError: true
requestDuration: 0
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: {}| 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] |
||
| Video Setting | object(categories) |
Video setting command | |
| id * | string |
||
| setting * | string(json) |
Video setting JSON which will could be applied with the profile video layers. | |
| audioSettings | [object] |
||
| Audio Setting | object(categories) |
Audio setting command | |
| id * | string |
||
| setting * | string(json) |
Audio setting JSON which will could be applied with the profile audio layers. | |
| packagerSettings | [object] |
||
| Packager Setting | object(categories) |
Packager setting command | |
| id * | string |
||
| args * | string(json) |
VOD packager args JSON which will could be applied with the profile. | |
| thumbnailSettings | [object] |
||
| Thumbnail Setting | object(categories) |
Thumbnail setting command | |
| id * | string |
||
| args * | string(json) |
thumbnail args JSON which will could be applied with the profile. | |
| profiles * | [object] |
||
| Transcoder profile | object(categories) |
Transcoder profile definition | |
| 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.
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| Name | Type | Default | Description |
|---|---|---|---|
| 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.
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| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| 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.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
Define a list of conditions that must all be met to trigger the event. | |
| all * | [oneOf] |
* : mandatory fields.
| 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.
| 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 |
|---|---|---|---|
| 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.
| 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 glob 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 glob 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.
| 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 glob 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 glob 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.
id: preplay
userDataKey: /${STREAM_FORMAT}/${TENANT_ID:}/${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| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
| Name | Type | Default | Description |
|---|---|---|---|
| name * | string |
||
| source * | any |
* : mandatory fields.
| 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.
| 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.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“url”] |
||
| property * | string [“queryStr”, “method”, “path”] |
* : mandatory fields.
| Name | Type | Default | Description |
|---|---|---|---|
| anonymous | object |
||
| type * | string [“constant”] |
||
| value * | string |
The constant value to be used as the attribute value. |
* : mandatory fields.
| 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.
| 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 - TENANT_ID - 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.
| 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 when one is given. Example: “@{slice: ${self} ; 0 ; -1 ; & }@”, with input value “part1=A&part2=B&part3=C” will result in “part1=A&part2=B”. Without a separator the indexes are character positions, similar to JavaScript String.slice(): the end index is optional and a negative index counts back from the end of the string. Example: “@{slice: ${self} ; -2 }@”, with input value “abcdef” will result in “ef” - 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.
name: resolution
source:
type: queryParams
property: resolution
required: true
default: 0-1024
saveInSessionData: true
transform: string
type: string| 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.
- timestamp: 1696152896000
method: PUT
path: string
validatedEtag: true
delta:
- action: create
path: settings.graphicalUserInterface.port
old: null
new: null