AWS Elemental MediaTailor
API Reference
AWS Elemental MediaTailor: API Reference
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
AWS Elemental MediaTailor API ... 1
Specifying the REST API Endpoint ... 1
Signing Requirements ... 1
Resources ... 2
Channel ... 2
URI ... 2
HTTP methods ... 2
Schemas ... 4
Properties ... 6
See also ... 11
ChannelPolicy ... 12
URI ... 12
HTTP methods ... 12
Schemas ... 14
Properties ... 14
See also ... 15
ConfigureLogs PlaybackConfiguration ... 16
URI ... 16
HTTP methods ... 16
Schemas ... 16
Properties ... 17
See also ... 18
GetChannelSchedule ... 18
URI ... 18
HTTP methods ... 18
Schemas ... 19
Properties ... 20
See also ... 22
ListAlerts ... 22
URI ... 23
HTTP methods ... 23
Schemas ... 23
Properties ... 24
See also ... 25
ListChannels ... 25
URI ... 25
HTTP methods ... 25
Schemas ... 26
Properties ... 27
See also ... 30
ListPlaybackConfigurations ... 31
URI ... 31
HTTP methods ... 31
Schemas ... 32
Properties ... 33
See also ... 40
ListPrefetchSchedules ... 40
URI ... 41
HTTP methods ... 41
Schemas ... 41
Properties ... 42
See also ... 46
ListSourceLocations ... 46
URI ... 46
HTTP methods ... 46
Schemas ... 47
Properties ... 48
See also ... 51
ListVodSources ... 51
URI ... 51
HTTP methods ... 51
Schemas ... 52
Properties ... 53
See also ... 55
PlaybackConfiguration ... 55
URI ... 55
HTTP methods ... 55
Schemas ... 57
Properties ... 58
See also ... 64
PrefetchSchedule ... 65
URI ... 65
HTTP methods ... 65
Schemas ... 67
Properties ... 68
See also ... 71
Program ... 72
URI ... 72
HTTP methods ... 72
Schemas ... 74
Properties ... 75
See also ... 80
PutPlaybackConfiguration ... 81
URI ... 81
HTTP methods ... 81
Schemas ... 82
Properties ... 83
See also ... 93
SourceLocation ... 93
URI ... 93
HTTP methods ... 94
Schemas ... 95
Properties ... 97
See also ... 101
StartChannel ... 102
URI ... 102
HTTP methods ... 102
See also ... 103
StopChannel ... 103
URI ... 103
HTTP methods ... 103
See also ... 104
Tags ... 105
URI ... 105
HTTP methods ... 105
Schemas ... 107
Properties ... 108
See also ... 108
VodSource ... 109
URI ... 109
HTTP methods ... 109
Schemas ... 111
Properties ... 112
See also ... 115
Document History ... 117
AWS glossary ... 118
Specifying the REST API Endpoint
AWS Elemental MediaTailor API
Use the AWS Elemental MediaTailor API to configure scalable ad insertion and linear streams for your content. Using MediaTailor ad insertion, you can serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. Using MediaTailor channel assembly, you can assemble linear streams using your existing VOD content, and easily integrate a server-side ad insertion service such as MediaTailor. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide.
Through the REST API, you manage MediaTailor configurations the same as you do through the console.
For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS).
Specifying the REST API Endpoint
The AWS Elemental MediaTailor REST API endpoint is formatted as follows.
https://api.mediatailor.<region>.amazonaws.com/
For the list of MediaTailor Regions, see AWS Regions and Endpoints: MediaTailor.
Signing Requirements
MediaTailor supports authentication using AWS Signature Version 4. For more information, see Signature Version 4 Signing Process in the AWS General Reference.
When you access MediaTailor through the AWS CLI or one of the SDKs, the tools automatically sign the requests for you with the access key and secret key that you specify in your client configuration.
For REST API use, you implement a cryptographic hash function that complies with AWS Signature Version 4 to calculate the security signature for your requests. You include a security signature in each REST API request to MediaTailor, and the service validates your signature before proceeding.
• To sign a request, you use your hash function to calculate a digital signature. You pass the function the text of your request and your secret access key. The function returns the corresponding hash value. You include the hash value in the signature portion of the Authorization header of your request.
• When it receives your request, MediaTailor runs its own calculation of the signature, and then compares that to the signature that you provided in the header. If they match, MediaTailor processes your request.
Channel
Resources
The AWS Elemental MediaTailor REST API includes the following resources.
Topics
• Channel (p. 2)
• ChannelPolicy (p. 12)
• ConfigureLogs PlaybackConfiguration (p. 16)
• GetChannelSchedule (p. 18)
• ListAlerts (p. 22)
• ListChannels (p. 25)
• ListPlaybackConfigurations (p. 31)
• ListPrefetchSchedules (p. 40)
• ListSourceLocations (p. 46)
• ListVodSources (p. 51)
• PlaybackConfiguration (p. 55)
• PrefetchSchedule (p. 65)
• Program (p. 72)
• PutPlaybackConfiguration (p. 81)
• SourceLocation (p. 93)
• StartChannel (p. 102)
• StopChannel (p. 103)
• Tags (p. 105)
• VodSource (p. 109)
Channel
Creates, describes, updates, or deletes a channel. For information about MediaTailor channels, see Working with channels in the MediaTailor User Guide.
URI
/v1/channel/channelName
HTTP methods
GET
Operation ID: DescribeChannel
Describes the properties of a specific channel.
HTTP methods
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 DescribeChannelResponse (p. 5)Success.
POST
Operation ID: CreateChannel Creates a channel.
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 DescribeChannelResponse (p. 5)Success.
PUT
Operation ID: UpdateChannel Updates an existing channel.
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 DescribeChannelResponse (p. 5)Success.
Schemas
DELETE
Operation ID: DeleteChannel
Deletes a channel. You must stop the channel before it can be deleted.
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 DeleteChannelResponse (p. 6)Success.
OPTIONS
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 None 200 response
Schemas
Request bodies
POST schema
{ "FillerSlate": {
"VodSourceName": "string", "SourceLocationName": "string"
},
"Outputs": [ {
"ManifestName": "string", "DashPlaylistSettings": {
"ManifestWindowSeconds": integer,
"SuggestedPresentationDelaySeconds": integer, "MinBufferTimeSeconds": integer,
Schemas
"MinUpdatePeriodSeconds": integer },
"HlsPlaylistSettings": {
"ManifestWindowSeconds": integer },
"SourceGroup": "string"
}
], "PlaybackMode": enum, "tags": {
} }
PUT schema
{ "FillerSlate": {
"VodSourceName": "string", "SourceLocationName": "string"
}, "Outputs": [ {
"ManifestName": "string", "DashPlaylistSettings": {
"ManifestWindowSeconds": integer,
"SuggestedPresentationDelaySeconds": integer, "MinBufferTimeSeconds": integer,
"MinUpdatePeriodSeconds": integer },
"HlsPlaylistSettings": {
"ManifestWindowSeconds": integer },
"SourceGroup": "string"
} ]}
Response bodies
DescribeChannelResponse schema
{
"FillerSlate": {
"VodSourceName": "string", "SourceLocationName": "string"
}, "ChannelState": enum, "ChannelName": "string", "CreationTime": integer, "LastModifiedTime": integer, "Outputs": [
{
"ManifestName": "string", "DashPlaylistSettings": {
"ManifestWindowSeconds": integer,
"SuggestedPresentationDelaySeconds": integer, "MinBufferTimeSeconds": integer,
"MinUpdatePeriodSeconds": integer },
"PlaybackUrl": "string", "HlsPlaylistSettings": {
"ManifestWindowSeconds": integer
Properties
},
"SourceGroup": "string"
} ],
"Arn": "string",
"PlaybackMode": "string", "tags": {
}}
DeleteChannelResponse schema
{}
Properties
CreateChannelRequest
The configuration for this channel.
FillerSlate
The slate used to fill gaps between programs in the schedule. You must configure filler slate if your channel uses the LINEAR PlaybackMode. MediaTailor doesn't support filler slate for channels using the LOOP PlaybackMode.
Type: SlateSource (p. 10) Required: False
Outputs
The channel's output properties.
Type: Array of type RequestOutputItem (p. 9) Required: True
PlaybackMode
The type of playback mode to use for this channel.
LINEAR - The programs in the schedule play once back-to-back in the schedule.
LOOP - The programs in the schedule play back-to-back in an endless loop. When the last program in the schedule stops playing, playback loops back to the first program in the schedule.
Type: string Required: True
Values: LOOP | LINEAR
tags
The tags to assign to the channel.
Type: object Required: False
Properties
DashPlaylistSettings
Dash manifest configuration parameters.
ManifestWindowSeconds
The total duration (in seconds) of each manifest. Minimum value: 30 seconds. Maximum value: 3600 seconds.
Type: integer Required: False
SuggestedPresentationDelaySeconds
Amount of time (in seconds) that the player should be from the live point at the end of the manifest.
Minimum value: 2 seconds. Maximum value: 60 seconds.
Type: integer Required: False
MinBufferTimeSeconds
Minimum amount of content (measured in seconds) that a player must keep available in the buffer.
Minimum value: 2 seconds. Maximum value: 60 seconds.
Type: integer Required: False
MinUpdatePeriodSeconds
Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest. Minimum value: 2 seconds. Maximum value: 60 seconds.
Type: integer Required: False
DeleteChannelResponse
This response includes only the "type" : "object" property.
DescribeChannelResponse
Returns a channel's properties.
FillerSlate
Contains information about the slate used to fill gaps between programs in the schedule.
Type: SlateSource (p. 10) Required: False
ChannelState
Indicates whether the channel is in a running state or not.
Properties
Type: string Required: True
Values: RUNNING | STOPPED
ChannelName
The name of the channel.
Type: string Required: True
CreationTime
The timestamp of when the channel was created.
Type: integer Required: False Format: date-time
LastModifiedTime
The timestamp of when the channel was last modified.
Type: integer Required: False Format: date-time
Outputs
The channel's output properties.
Type: Array of type ResponseOutputItem (p. 9) Required: True
Arn
The ARN of the channel.
Type: string Required: True
PlaybackMode
The channel's playback mode.
Type: string Required: True
tags
The tags assigned to the channel.
Type: object Required: False
Properties
HlsPlaylistSettings
HLS playlist configuration parameters.
ManifestWindowSeconds
The total duration (in seconds) of each manifest. Minimum value: 30 seconds. Maximum value: 3600 seconds.
Type: integer Required: False
RequestOutputItem
The output configuration for this channel.
ManifestName
The name of the manifest for the channel. The name appears in the PlaybackUrl.
Type: string Required: True
DashPlaylistSettings
DASH manifest configuration parameters.
Type: DashPlaylistSettings (p. 7) Required: False
HlsPlaylistSettings
HLS playlist configuration parameters.
Type: HlsPlaylistSettings (p. 9) Required: False
SourceGroup
A string used to match which HttpPackageConfiguration is used for each VodSource.
Type: string Required: True
ResponseOutputItem
This response includes only the "property" : "type" property.
ManifestName
The name of the manifest for the channel that will appear in the channel output's playback URL.
Type: string Required: True
Properties
DashPlaylistSettings
DASH manifest configuration settings.
Type: DashPlaylistSettings (p. 7) Required: False
PlaybackUrl
The URL used for playback by content players.
Type: string Required: True
HlsPlaylistSettings
HLS manifest configuration settings.
Type: HlsPlaylistSettings (p. 9) Required: False
SourceGroup
A string used to associate a package configuration source group with a channel output.
Type: string Required: True
SlateSource
Slate VOD source configuration.
VodSourceName
The slate VOD source name. The VOD source must already exist in a source location before it can be used for slate.
Type: string Required: False
SourceLocationName
The name of the source location where the slate VOD source is stored.
Type: string Required: False
UpdateChannelRequest
Updates a channel's Outputs.
FillerSlate
The slate used to fill gaps between programs in the schedule. You must configure filler slate if your channel uses the LINEAR PlaybackMode. MediaTailor doesn't support filler slate for channels using the LOOP PlaybackMode.
See also
Type: SlateSource (p. 10) Required: False
Outputs
The channel's output properties.
Type: Array of type RequestOutputItem (p. 9) Required: True
See also
For more information about using this API in one of the language-specific AWS SDKs and references, see the following:
DescribeChannel
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateChannel
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
UpdateChannel
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
ChannelPolicy
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DeleteChannel
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ChannelPolicy
Manages a channel's IAM policy. IAM policies are used to control access to your channel.
URI
/v1/channel/channelName/policy
HTTP methods
GET
Operation ID: GetChannelPolicy
Retrieves information about a channel's IAM policy.
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 GetChannelPolicyResponse (p. 14)Success.
PUT
Operation ID: PutChannelPolicy
HTTP methods
Creates an IAM policy for the channel.
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 PutChannelPolicyResponse (p. 14)Success.
DELETE
Operation ID: DeleteChannelPolicy Deletes a channel's IAM policy.
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 DeleteChannelPolicyResponse (p. 14)Success.
OPTIONS
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 None 200 response
Schemas
Schemas
Request bodies
PUT schema
{ "Policy": "string"
}
DELETE schema
{ }
Response bodies
GetChannelPolicyResponse schema
{ "Policy": "string"
}
PutChannelPolicyResponse schema
{ }
DeleteChannelPolicyResponse schema
{ }
Properties
DeleteChannelPolicyRequest
This response includes only the "type" : "object" property.
DeleteChannelPolicyResponse
This response includes only the "type" : "object" property.
GetChannelPolicyResponse
Returns the channel's IAM policy.
Policy
The IAM policy for the channel.
Type: string
See also
Required: False
PutChannelPolicyRequest
Adds an IAM policy for the channel.
Policy
Adds an IAM role that determines the permissions of your channel.
Type: string Required: True
PutChannelPolicyResponse
This response includes only the "type" : "object" property.
See also
For more information about using this API in one of the language-specific AWS SDKs and references, see the following:
GetChannelPolicy
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
PutChannelPolicy
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DeleteChannelPolicy
• AWS Command Line Interface
ConfigureLogs PlaybackConfiguration
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ConfigureLogs PlaybackConfiguration
Configures Amazon CloudWatch log settings for an existing MediaTailor playback configuration.
URI
/v1/configureLogs/playbackConfiguration
HTTP methods
PUT
Operation ID: ConfigureLogsForPlaybackConfiguration
Configures Amazon CloudWatch log settings for a playback configuration.
Responses
Status code Response model Description
200 ConfigureLogsForPlaybackConfigurationResponse (p. 17)Success.
OPTIONS
Responses
Status code Response model Description
200 None 200 response
Schemas
Request bodies
PUT schema
{
"PercentEnabled": integer,
"PlaybackConfigurationName": "string"
Properties
}
Response bodies
ConfigureLogsForPlaybackConfigurationResponse schema
{ "PercentEnabled": integer,
"PlaybackConfigurationName": "string"
}
Properties
ConfigureLogsForPlaybackConfigurationRequest
Configures Amazon CloudWatch log settings for an existing MediaTailor playback configuration.
PercentEnabled
The percentage of session logs that MediaTailor sends to your Cloudwatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.
Valid values: 0 - 100 Type: integer Required: True
PlaybackConfigurationName
The name of the playback configuration.
Type: string Required: True
ConfigureLogsForPlaybackConfigurationResponse
Amazon CloudWatch log settings for a playback configuration.
PercentEnabled
The percentage of session logs that MediaTailor sends to your Cloudwatch Logs account.
Type: integer Required: True
PlaybackConfigurationName
The name of the playback configuration.
Type: string Required: True
See also
See also
For more information about using this API in one of the language-specific AWS SDKs and references, see the following:
ConfigureLogsForPlaybackConfiguration
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
GetChannelSchedule
Retrieves information about your channel's schedule.
URI
/v1/channel/channelName/schedule
HTTP methods
GET
Operation ID: GetChannelSchedule
Retrieves information about your channel's schedule.
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Query parameters
Name Type Required Description
nextToken String False Pagination token from
the GET list request.
Use the token to fetch the next page of results.
Schemas
Name Type Required Description
maxResults String False Upper bound on
number of records to return. The maximum number of results is 100.
durationMinutes String False The schedule duration
in minutes. The maximum duration is 4320 minutes (three days).
Responses
Status code Response model Description
200 GetChannelScheduleResponse (p. 19)Success.
OPTIONS
Path parameters
Name Type Required Description
channelName String True The identifier for
the channel you are working on.
Responses
Status code Response model Description
200 None 200 response
Schemas
Response bodies
GetChannelScheduleResponse schema
{
"NextToken": "string", "Items": [
{
"VodSourceName": "string", "ChannelName": "string",
"SourceLocationName": "string", "ScheduleEntryType": enum, "ScheduleAdBreaks": [ {
"VodSourceName": "string",
Properties
"SourceLocationName": "string",
"ApproximateDurationSeconds": integer, "ApproximateStartTime": integer }
],
"ApproximateDurationSeconds": integer, "Arn": "string",
"ApproximateStartTime": integer, "ProgramName": "string"
} ] }
Properties
GetChannelScheduleResponse
Returns the schedule entries for the channel.
NextToken
Pagination token from the GET list request. Use the token to fetch the next page of results.
Type: string Required: False
Items
An array of schedule entries for the channel.
Type: Array of type ScheduleEntry (p. 21) Required: False
ScheduleAdBreak
The schedule's ad break properties.
VodSourceName
The name of the VOD source used for the ad break.
Type: string Required: False
SourceLocationName
The name of the source location containing the VOD source used for the ad break.
Type: string Required: False
ApproximateDurationSeconds
The approximate duration of the ad break, in seconds.
Properties
Type: integer Required: False Format: int64
ApproximateStartTime
The approximate time that the ad will start playing.
Type: integer Required: False Format: date-time
ScheduleEntry
The properties for a schedule.
VodSourceName
The name of the VOD source.
Type: string Required: True
ChannelName
The name of the channel that uses this schedule.
Type: string Required: True
SourceLocationName
The name of the source location.
Type: string Required: True
ScheduleEntryType
The type of schedule entry.Valid values: PROGRAM or FILLER_SLATE.
Type: string Required: False
Values: PROGRAM | FILLER_SLATE
ScheduleAdBreaks
The schedule's ad break properties.
Type: Array of type ScheduleAdBreak (p. 20) Required: False
See also
ApproximateDurationSeconds
The approximate duration of this program, in seconds.
Type: integer Required: False Format: int64
Arn
The ARN of the program.
Type: string Required: True
ApproximateStartTime
The approximate time that the program will start playing.
Type: integer Required: False Format: date-time
ProgramName
The name of the program.
Type: string Required: True
See also
For more information about using this API in one of the language-specific AWS SDKs and references, see the following:
GetChannelSchedule
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListAlerts
Lists the alerts that are associated with a MediaTailor channel assembly resource.
URI
URI
/v1/alerts
HTTP methods
GET
Operation ID: ListAlerts
Returns a list of alerts for the given resource.
Query parameters
Name Type Required Description
resourceArn String True The Amazon Resource
Name (ARN) of the resource.
nextToken String False Pagination token from
the GET list request.
Use the token to fetch the next page of results.
maxResults String False Upper bound on
number of records to return. The maximum number of results is 100.
Responses
Status code Response model Description
200 ListAlertsResponse (p. 23)Success.
OPTIONS
Responses
Status code Response model Description
200 None 200 response
Schemas
Response bodies
ListAlertsResponse schema
{
Properties
"NextToken": "string", "Items": [
{
"ResourceArn": "string", "AlertCode": "string", "LastModifiedTime": integer, "RelatedResourceArns": [ "string"
],
"AlertMessage": "string"
} ]}
Properties
Alert
Alert configuration parameters.
ResourceArn
The Amazon Resource Name (ARN) of the resource.
Type: string Required: True
AlertCode
The code for the alert. For example, NOT_PROCESSED.
Type: string Required: True
LastModifiedTime
The timestamp when the alert was last modified.
Type: integer Required: True Format: date-time
RelatedResourceArns
The Amazon Resource Names (ARNs) related to this alert.
Type: Array of type string Required: True
AlertMessage
If an alert is generated for a resource, an explanation of the reason for the alert.
Type: string Required: True
See also
ListAlertsResponse
Lists the alerts for a given resource.
NextToken
Pagination token from the list request. Use the token to fetch the next page of results.
Type: string Required: False
Items
An array of alerts that are associated with this resource.
Type: Array of type Alert (p. 24) Required: False
See also
For more information about using this API in one of the language-specific AWS SDKs and references, see the following:
ListAlerts
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListChannels
Retrieves information about the channels that are associated with the current AWS account.
URI
/v1/channels
HTTP methods
GET
Operation ID: ListChannels
Retrieves a list of channels that are associated with this account.
Schemas
Query parameters
Name Type Required Description
nextToken String False Pagination token from
the GET list request.
Use the token to fetch the next page of results.
maxResults String False Upper bound on
number of records to return. The maximum number of results is 100.
Responses
Status code Response model Description
200 ListChannelsResponse (p. 26)Success.
OPTIONS
Responses
Status code Response model Description
200 None 200 response
Schemas
Response bodies
ListChannelsResponse schema
{
"NextToken": "string", "Items": [
{
"FillerSlate": {
"VodSourceName": "string", "SourceLocationName": "string"
},
"ChannelState": "string", "ChannelName": "string", "CreationTime": integer, "LastModifiedTime": integer, "Outputs": [
{
"ManifestName": "string", "DashPlaylistSettings": {
"ManifestWindowSeconds": integer,
"SuggestedPresentationDelaySeconds": integer, "MinBufferTimeSeconds": integer,
"MinUpdatePeriodSeconds": integer },
Properties
"PlaybackUrl": "string", "HlsPlaylistSettings": {
"ManifestWindowSeconds": integer },
"SourceGroup": "string"
} ],
"Arn": "string",
"PlaybackMode": "string", "tags": {
} } ]}
Properties
Channel
The configuration parameters for a channel.
FillerSlate
The slate used to fill gaps between programs in the schedule. You must configure filler slate if your channel uses the LINEAR PlaybackMode. MediaTailor doesn't support filler slate for channels using the LOOP PlaybackMode.
Type: SlateSource (p. 30) Required: False
ChannelState
Returns the state whether the channel is running or not.
Type: string Required: True
ChannelName
The name of the channel.
Type: string Required: True
CreationTime
The timestamp of when the channel was created.
Type: integer Required: False Format: date-time
LastModifiedTime
The timestamp of when the channel was last modified.
Type: integer
Properties
Required: False Format: date-time
Outputs
The channel's output properties.
Type: Array of type ResponseOutputItem (p. 29) Required: True
Arn
The ARN of the channel.
Type: string Required: True
PlaybackMode
The type of playback mode for this channel.
LINEAR - Programs play back-to-back only once.
LOOP - Programs play back-to-back in an endless loop. When the last program in the schedule plays, playback loops back to the first program in the schedule.
Type: string Required: True
tags
The tags to assign to the channel.
Type: object Required: False
DashPlaylistSettings
Dash manifest configuration parameters.
ManifestWindowSeconds
The total duration (in seconds) of each manifest. Minimum value: 30 seconds. Maximum value: 3600 seconds.
Type: integer Required: False
SuggestedPresentationDelaySeconds
Amount of time (in seconds) that the player should be from the live point at the end of the manifest.
Minimum value: 2 seconds. Maximum value: 60 seconds.
Type: integer Required: False
Properties
MinBufferTimeSeconds
Minimum amount of content (measured in seconds) that a player must keep available in the buffer.
Minimum value: 2 seconds. Maximum value: 60 seconds.
Type: integer Required: False
MinUpdatePeriodSeconds
Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest. Minimum value: 2 seconds. Maximum value: 60 seconds.
Type: integer Required: False
HlsPlaylistSettings
HLS playlist configuration parameters.
ManifestWindowSeconds
The total duration (in seconds) of each manifest. Minimum value: 30 seconds. Maximum value: 3600 seconds.
Type: integer Required: False
ListChannelsResponse
Returns a list of channels.
NextToken
Pagination token returned by the list request when results exceed the maximum allowed. Use the token to fetch the next page of results.
Type: string Required: False
Items
An array of channels that are associated with this account.
Type: Array of type Channel (p. 27) Required: False
ResponseOutputItem
This response includes only the "property" : "type" property.
ManifestName
The name of the manifest for the channel that will appear in the channel output's playback URL.
See also
Type: string Required: True
DashPlaylistSettings
DASH manifest configuration settings.
Type: DashPlaylistSettings (p. 28) Required: False
PlaybackUrl
The URL used for playback by content players.
Type: string Required: True
HlsPlaylistSettings
HLS manifest configuration settings.
Type: HlsPlaylistSettings (p. 29) Required: False
SourceGroup
A string used to associate a package configuration source group with a channel output.
Type: string Required: True
SlateSource
Slate VOD source configuration.
VodSourceName
The slate VOD source name. The VOD source must already exist in a source location before it can be used for slate.
Type: string Required: False
SourceLocationName
The name of the source location where the slate VOD source is stored.
Type: string Required: False
See also
For more information about using this API in one of the language-specific AWS SDKs and references, see the following:
ListPlaybackConfigurations
ListChannels
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListPlaybackConfigurations
Retrieves existing playback configurations. For information about MediaTailor configurations, see Working with Configurations in AWS Elemental MediaTailor.
URI
/v1/playbackConfigurations
HTTP methods
GET
Operation ID: ListPlaybackConfigurations
Returns a list of the playback configurations defined in AWS Elemental MediaTailor. You can specify a maximum number of configurations to return at a time. The default maximum is 50. Results are returned in pagefuls. If MediaTailor has more configurations than the specified maximum, it provides parameters in the response that you can use to retrieve the next pageful.
Example Request
GET /playbackConfigurations
Example Response
Success: 200 {
"Items": [ {
"Name": "testConfig",
"AdDecisionServerUrl": "http://testAds.com", "VideoContentSourceUrl": "http://testOrigin.com", "PlaybackConfigurationArn": "arn:aws:mediatailor:us- east-1:111111111111:playbackConfiguration/testConfig", "tags": {
"testKey": "testValue"
}
Schemas
} {
"Name": "newTestConfig",
"AdDecisionServerUrl": "http://testAds.com", "VideoContentSourceUrl": "http://testOrigin.com", "PlaybackConfigurationArn": "arn:aws:mediatailor:us- east-1:111111111111:playbackConfiguration/newTestConfig", "tags": {
} } ] }
Query parameters
Name Type Required Description
MaxResults String False Maximum number of
records to return.
NextToken String False Pagination token
returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results.
Responses
Status code Response model Description
200 ListPlaybackConfigurationsResponse (p. 32)Success.
OPTIONS
Responses
Status code Response model Description
200 None 200 response
Schemas
Response bodies
ListPlaybackConfigurationsResponse schema
{ "NextToken": "string", "Items": [
{
"Bumper": {
"StartUrl": "string", "EndUrl": "string"
Properties
},
"DashConfiguration": {
"ManifestEndpointPrefix": "string", "MpdLocation": "string",
"OriginManifestType": enum },
"SessionInitializationEndpointPrefix": "string", "CdnConfiguration": {
"AdSegmentUrlPrefix": "string", "ContentSegmentUrlPrefix": "string"
},
"ManifestProcessingRules": { "AdMarkerPassthrough": { "Enabled": boolean }
},
"PersonalizationThresholdSeconds": integer, "PlaybackConfigurationArn": "string", "LivePreRollConfiguration": {
"AdDecisionServerUrl": "string", "MaxDurationSeconds": integer },
"HlsConfiguration": {
"ManifestEndpointPrefix": "string"
},
"LogConfiguration": { "PercentEnabled": integer },
"VideoContentSourceUrl": "string", "Name": "string",
"tags": { },
"TranscodeProfileName": "string", "ConfigurationAliases": {
},
"AdDecisionServerUrl": "string", "PlaybackEndpointPrefix": "string", "SlateAdUrl": "string",
"AvailSuppression": { "Mode": enum, "Value": "string"
} } ] }
Properties
AdMarkerPassthrough
For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X- SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest.
No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.
Enabled
Enables ad marker passthrough for your configuration.
Type: boolean Required: False
Properties
AvailSuppression
The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression.
Mode
Sets the ad suppression mode. By default, ad suppression is off and all ad breaks are filled with ads or slate. When Mode is set to BEHIND_LIVE_EDGE, ad suppression is active and MediaTailor won't fill ad breaks on or behind the ad suppression Value time in the manifest lookback window.
Type: string Required: False
Values: OFF | BEHIND_LIVE_EDGE
Value
A live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. If Value is set to 00:00:00, it is in sync with the live edge, and MediaTailor won't fill any ad breaks on or behind the live edge. If you set a Value time, MediaTailor won't fill any ad breaks on or behind this time in the manifest lookback window. For example, if you set 00:45:00, then MediaTailor will fill ad breaks that occur within 45 minutes behind the live edge, but won't fill ad breaks on or behind 45 minutes behind the live edge.
Type: string Required: False
Bumper
The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers.
StartUrl
The URL for the start bumper asset.
Type: string Required: False
EndUrl
The URL for the end bumper asset.
Type: string Required: False
CdnConfiguration
The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
AdSegmentUrlPrefix
A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up
Properties
an alternate CDN, create a rule in your CDN for the origin ads.mediatailor.<region>.amazonaws.com.
Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.
Type: string Required: False
ContentSegmentUrlPrefix
A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.
Type: string Required: False
ConfigurationAliasesResponse
The predefined aliases for dynamic variables.
key-value pairs
Type: objectDashConfiguration
The configuration for DASH content.
ManifestEndpointPrefix
The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting.
This setting is ignored in PUT operations.
Type: string Required: False
MpdLocation
The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects.
Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.
Type: string Required: False
OriginManifestType
The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.
Properties
Type: string Required: False
Values: SINGLE_PERIOD | MULTI_PERIOD
HlsConfiguration
The configuration for HLS content.
ManifestEndpointPrefix
The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.
Type: string Required: False
ListPlaybackConfigurationsResponse
Returns a list of playback configurations.
NextToken
Pagination token returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results.
Type: string Required: False
Items
Array of playback configurations. This might be all the available configurations or a subset, depending on the settings that you provide and the total number of configurations stored.
Type: Array of type PlaybackConfiguration (p. 37) Required: False
LivePreRollConfiguration
The configuration for pre-roll ad insertion.
AdDecisionServerUrl
The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player- specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.
Type: string Required: False
MaxDurationSeconds
The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns.
Properties
Type: integer Required: False
LogConfiguration
Returns Amazon CloudWatch log settings for a playback configuration.
PercentEnabled
The percentage of session logs that MediaTailor sends to your Cloudwatch Logs account. For example, if your playback configuration has 1000 sessions and percentEnabled is set to 60, MediaTailor sends logs for 600 of the sessions to CloudWatch Logs. MediaTailor decides at random which of the playback configuration sessions to send logs for. If you want to view logs for a specific session, you can use the debug log mode.
Valid values: 0 - 100 Type: integer Required: True
ManifestProcessingRules
The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
AdMarkerPassthrough
For HLS, when set to true, MediaTailor passes through EXT-X-CUE-IN, EXT-X-CUE-OUT, and EXT-X- SPLICEPOINT-SCTE35 ad markers from the origin manifest to the MediaTailor personalized manifest.
No logic is applied to these ad markers. For example, if EXT-X-CUE-OUT has a value of 60, but no ads are filled for that ad break, MediaTailor will not set the value to 0.
Type: AdMarkerPassthrough (p. 33) Required: False
PlaybackConfiguration
Creates a playback configuration. For information about MediaTailor configurations, see Working with configurations in AWS Elemental MediaTailor.
Bumper
The configuration for bumpers. Bumpers are short audio or video clips that play at the start or before the end of an ad break. To learn more about bumpers, see Bumpers.
Type: Bumper (p. 34) Required: False
DashConfiguration
The configuration for a DASH source.
Type: DashConfiguration (p. 35) Required: False
Properties
SessionInitializationEndpointPrefix
The URL that the player uses to initialize a session that uses client-side reporting.
Type: string Required: False
CdnConfiguration
The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.
Type: CdnConfiguration (p. 34) Required: False
ManifestProcessingRules
The configuration for manifest processing rules. Manifest processing rules enable customization of the personalized manifests created by MediaTailor.
Type: ManifestProcessingRules (p. 37) Required: False
PersonalizationThresholdSeconds
Defines the maximum duration of underfilled ad time (in seconds) allowed in an ad break. If the duration of underfilled ad time exceeds the personalization threshold, then the personalization of the ad break is abandoned and the underlying content is shown. This feature applies to ad replacement in live and VOD streams, rather than ad insertion, because it relies on an underlying content stream. For more information about ad break behavior, including ad replacement and insertion, see Ad Behavior in AWS Elemental MediaTailor.
Type: integer Required: False Minimum: 1
PlaybackConfigurationArn
The Amazon Resource Name (ARN) for the playback configuration.
Type: string Required: False
LivePreRollConfiguration
The configuration for pre-roll ad insertion.
Type: LivePreRollConfiguration (p. 36) Required: False
HlsConfiguration
The configuration for HLS content.
Type: HlsConfiguration (p. 36)
Properties
Required: False
LogConfiguration
The Amazon CloudWatch log settings for a playback configuration.
Type: LogConfiguration (p. 37) Required: False
VideoContentSourceUrl
The URL prefix for the parent manifest for the stream, minus the asset ID. The maximum length is 512 characters.
Type: string Required: False
Name
The identifier for the playback configuration.
Type: string Required: False
tags
The tags to assign to the playback configuration.
Type: object Required: False
TranscodeProfileName
The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.
Type: string Required: False
ConfigurationAliases
The player parameters and aliases used as dynamic variables during session initialization. For more information, see Domain Variables.
Type: ConfigurationAliasesResponse (p. 35) Required: False
AdDecisionServerUrl
The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.
See also
Type: string Required: False
PlaybackEndpointPrefix
The URL that the player accesses to get a manifest from AWS Elemental MediaTailor.
Type: string Required: False
SlateAdUrl
The URL for a video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non- VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.
Type: string Required: False
AvailSuppression
The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see Ad Suppression.
Type: AvailSuppression (p. 34) Required: False
See also
For more information about using this API in one of the language-specific AWS SDKs and references, see the following:
ListPlaybackConfigurations
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListPrefetchSchedules
Lists the prefetch schedules for a playback configuration.
URI
URI
/v1/prefetchSchedule/PlaybackConfigurationName
HTTP methods
POST
Operation ID: ListPrefetchSchedules Creates a new prefetch schedule.
Path parameters
Name Type Required Description
PlaybackConfigurationNameString True The name of the playback configuration.
Responses
Status code Response model Description
200 ListPrefetchSchedulesResponse (p. 42)Success.
OPTIONS
Path parameters
Name Type Required Description
PlaybackConfigurationNameString True The name of the playback configuration.
Responses
Status code Response model Description
200 None 200 response
Schemas
Request bodies
POST schema
{ "StreamId": "string", "NextToken": "string", "MaxResults": integer }
Properties
Response bodies
ListPrefetchSchedulesResponse schema
{ "NextToken": "string", "Items": [
{
"Consumption": {
"AvailMatchingCriteria": [ {
"Operator": enum,
"DynamicVariable": "string"
} ],
"EndTime": integer, "StartTime": integer },
"Retrieval": { "EndTime": integer, "StartTime": integer, "DynamicVariables": { }
},
"StreamId": "string", "Arn": "string",
"PlaybackConfigurationName": "string", "Name": "string"
} ]}
Properties
AvailMatchingCriteria
MediaTailor only places (consumes) prefetched ads if the ad break meets the criteria defined by the dynamic variables. This gives you granular control over which ad break to place the prefetched ads into.
As an example, let's say that you set DynamicVariable to scte.event_id and Operator to EQUALS, and your playback configuration has an ADS URL of https://my.ads.server.com/path?
&podId=[scte.avail_num]&event=[scte.event_id]&duration=[session.avail_duration_secs].
And the prefetch request to the ADS contains these values https://my.ads.server.com/path?
&podId=3&event=my-awesome-event&duration=30. MediaTailor will only insert the prefetched ads into the ad break if has a SCTE marker with an event id of my-awesome-event, since it must match the event id that MediaTailor uses to query the ADS.
You can specify up to five AvailMatchingCriteria. If you specify multiple
AvailMatchingCriteria, MediaTailor combines them to match using a logical AND. You can model logical OR combinations by creating multiple prefetch schedules.
Operator
For the DynamicVariable specified in AvailMatchingCriteria, the Operator that is used for the comparison.
Type: string Required: True Values: EQUALS
Properties
DynamicVariable
The dynamic variable(s) that MediaTailor should use as avail matching criteria. MediaTailor only places the prefetched ads into the avail if the avail matches the criteria defined by the dynamic variable. For information about dynamic variables, see Using dynamic ad variables in the MediaTailor User Guide.
You can include up to 100 dynamic variables.
Type: string Required: True
ListPrefetchSchedulesRequest
Retrieves the prefetch schedule(s) for a specific playback configuration.
StreamId
An optional filtering parameter whereby MediaTailor filters the prefetch schedules to include only specific streams.
Type: string Required: False
NextToken
(Optional) If the playback configuration has more than MaxResults prefetch schedules, use NextToken to get the second and subsequent pages of results.
For the first ListPrefetchSchedulesRequest request, omit this value.
For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request.
If the previous response didn't include a NextToken element, there are no more prefetch schedules to get.
Type: string Required: False
MaxResults
The maximum number of prefetch schedules that you want MediaTailor to return in response to the current request. If the playback configuration has more than MaxResults prefetch schedules, use the value of NextToken in the response to get the next page of results.
Type: integer Required: False Minimum: 1 Maximum: 100
ListPrefetchSchedulesResponse
The list of prefetch schedules.
NextToken
The value that you will use forNextToken in the next ListPrefetchSchedulesRequest request.
Properties
Type: string Required: False
Items
Lists the prefetch schedules. An empty Items list doesn't mean there aren't more items to fetch, just that that page was empty.
Type: Array of type PrefetchSchedule (p. 45) Required: True
PrefetchConsumption
A complex type that contains settings that determine how and when that MediaTailor places prefetched ads into upcoming ad breaks.
AvailMatchingCriteria
If you only want MediaTailor to insert prefetched ads into avails (ad breaks) that match specific dynamic variables, such as scte.event_id, set the avail matching criteria.
Type: Array of type AvailMatchingCriteria (p. 42) Required: False
EndTime
The time when MediaTailor no longer considers the prefetched ads for use in an ad break. MediaTailor automatically deletes prefetch schedules no less than seven days after the end time. If you'd like to manually delete the prefetch schedule, you can call DeletePrefetchSchedule.
Type: integer Required: True Format: date-time
StartTime
The time when prefetched ads are considered for use in an ad break. If you don't specify StartTime, the prefetched ads are available after MediaTailor retrives them from the ad decision server.
Type: integer Required: False Format: date-time
PrefetchRetrieval
A complex type that contains settings governing when MediaTailor prefetches ads, and which dynamic variables that MediaTailor includes in the request to the ad decision server.
EndTime
The time when prefetch retrieval ends for the ad break. Prefetching will be attempted for manifest requests that occur at or before this time.
Type: integer Required: True
Properties
Format: date-time
StartTime
The time when prefetch retrievals can start for this break. Ad prefetching will be attempted for manifest requests that occur at or after this time. Defaults to the current time. If not specified, the prefetch retrieval starts as soon as possible.
Type: integer Required: False Format: date-time
DynamicVariables
The dynamic variables to use for substitution during prefetch requests to the ad decision server (ADS).
You intially configure dynamic variables for the ADS URL when you set up your playback configuration.
When you specify DynamicVariables for prefetch retrieval, MediaTailor includes the dynamic variables in the request to the ADS.
Type: object Required: False
PrefetchSchedule
A complex type that contains prefetch schedule information.
Consumption
Consumption settings determine how, and when, MediaTailor places the prefetched ads into ad breaks.
Ad consumption occurs within a span of time that you define, called a consumption window. You can designate which ad breaks that MediaTailor fills with prefetch ads by setting avail matching criteria.
Type: PrefetchConsumption (p. 44) Required: True
Retrieval
A complex type that contains settings for prefetch retrieval from the ad decision server (ADS).
Type: PrefetchRetrieval (p. 44) Required: True
StreamId
An optional stream identifier that you can specify in order to prefetch for multiple streams that use the same playback configuration.
Type: string Required: False
Arn
The Amazon Resource Name (ARN) of the prefetch schedule.