key-value pairs
Type: stringSee also
For more information about using this API in one of the language-specific AWS SDKs and references, see the following:
ListOriginEndpoints
• 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
CreateOriginEndpoint
• 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
Origin_endpoints id
URI
/origin_endpoints/id
HTTP methods
HTTP methods
GET
Operation ID: DescribeOriginEndpoint Provides details about an endpoint.
Path parameters
Name Type Required Description
id String True Identifier for the object
that you are working on.
Responses
Status code Response model Description
200 OriginEndpoint (p. 83) 200 OK response
Endpoint details are returned successfully.
403 None 403 Forbidden response
AWS Elemental MediaPackage cannot authorize the request, possibly due to insufficient authentication credentials.
404 None 404 Not Found response
AWS Elemental MediaPackage did not find a representation of the target resource.
422 None 422 Unprocessable Entity
response
AWS Elemental MediaPackage could not process the
instructions in the body of the request.
429 None 429 Too Many Requests
response
Too many requests have been sent in a given amount of time.
500 None 500 Internal Server Error
response
An unexpected condition prevented AWS Elemental
HTTP methods
Status code Response model Description
MediaPackage from fulfilling the request.
503 None Service unavailable
response
AWS Elemental MediaPackage can't currently complete the request, usually because of a temporary overload or maintenance.
PUT
Operation ID: UpdateOriginEndpoint
Updates a specific endpoint. When you submit the request to update an endpoint, include all necessary attributes in the request, even the ones that aren't being updated. If you send only the updated attributes, then all modifiable attributes that weren't specifically included in the request will reset to default values. For example, if you are using a 30 second time delay and submit a request to only update the endpoint description, then the time delay will update to zero (disabled). We recommend that you submit a GET request to obtain the endpoint's existing attributes and submit an updated version of the GET response body when you are updating an endpoint.
You can't change the id attribute or any other system-generated attributes.
Path parameters
Name Type Required Description
id String True Identifier for the object
that you are working on.
Responses
Status code Response model Description
200 OriginEndpoint (p. 83) 200 OK response
The endpoint is updated successfully.
403 None 403 Forbidden response
AWS Elemental MediaPackage cannot authorize the request, possibly due to insufficient authentication credentials.
404 None 404 Not Found response
AWS Elemental MediaPackage did not find a representation of the target resource.
HTTP methods
Status code Response model Description
422 None 422 Unprocessable Entity
response
AWS Elemental MediaPackage could not process the
instructions in the body of the request.
429 None 429 Too Many Requests
response
Too many requests have been sent in a given amount of time.
500 None 500 Internal Server Error
response
An unexpected condition prevented AWS Elemental MediaPackage from fulfilling the request.
503 None Service unavailable
response
AWS Elemental MediaPackage can't currently complete the request, usually because of a temporary overload or maintenance.
DELETE
Operation ID: DeleteOriginEndpoint Permanently deletes an endpoint.
Path parameters
Name Type Required Description
id String True Identifier for the object
that you are working on.
Responses
Status code Response model Description
202 None 202 Accepted response
AWS Elemental MediaPackage accepted the request but has not processed it yet.
HTTP methods
Status code Response model Description
403 None 403 Forbidden response
AWS Elemental MediaPackage cannot authorize the request, possibly due to insufficient authentication credentials.
404 None 404 Not Found response
AWS Elemental MediaPackage did not find a representation of the target resource.
422 None 422 Unprocessable Entity
response
AWS Elemental MediaPackage could not process the
instructions in the body of the request.
429 None 429 Too Many Requests
response
Too many requests have been sent in a given amount of time.
500 None 500 Internal Server Error
response
An unexpected condition prevented AWS Elemental MediaPackage from fulfilling the request.
503 None Service unavailable
response
AWS Elemental MediaPackage can't currently complete the request, usually because of a temporary overload or maintenance.
OPTIONS
Enable CORS by returning correct headers.
Path parameters
Name Type Required Description
id String True Identifier for the object
that you are working on.
Schemas
Responses
Status code Response model Description
200 None Default response for CORS
method.
Schemas
Request bodies
PUT schema
{
"authorization": {
"cdnIdentifierSecret": "string", "secretsRoleArn": "string"
}, "startoverWindowSeconds": integer, "origination": enum,
"timeDelaySeconds": integer, "manifestName": "string", "description": "string", "dashPackage": {
"manifestWindowSeconds": integer, "segmentDurationSeconds": integer, "utcTimingUri": "string",
"profile": enum, "utcTiming": enum,
"segmentTemplateFormat": enum, "manifestLayout": enum,
"minUpdatePeriodSeconds": integer, "minBufferTimeSeconds": integer, "encryption": {
"keyRotationIntervalSeconds": integer, "spekeKeyProvider": {
"encryptionContractConfiguration": { "presetSpeke20Audio": enum,
"streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer },
"periodTriggers": [ enum
],
"suggestedPresentationDelaySeconds": integer, "adsOnDeliveryRestrictions": enum,
"adTriggers": [ enum
Schemas
]
}, "whitelist": [ "string"
], "cmafPackage": {
"segmentDurationSeconds": integer, "encryption": {
"constantInitializationVector": "string", "keyRotationIntervalSeconds": integer, "spekeKeyProvider": {
"encryptionContractConfiguration": { "presetSpeke20Audio": enum,
"playlistWindowSeconds": integer, "manifestName": "string",
"programDateTimeIntervalSeconds": integer, "playlistType": enum,
"includeIframeOnlyStream": boolean, "id": "string",
"adsOnDeliveryRestrictions": enum, "adTriggers": [
enum ] } ],
"streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer },
"segmentPrefix": "string"
},
"hlsPackage": {
"useAudioRenditionGroup": boolean, "segmentDurationSeconds": integer, "adMarkers": enum,
"includeDvbSubtitles": boolean,
"programDateTimeIntervalSeconds": integer, "playlistType": enum,
"streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer },
"includeIframeOnlyStream": boolean, "adsOnDeliveryRestrictions": enum, "adTriggers": [
enum ] },
"mssPackage": {
"manifestWindowSeconds": integer,
Schemas
"segmentDurationSeconds": integer, "encryption": {
"spekeKeyProvider": {
"encryptionContractConfiguration": { "presetSpeke20Audio": enum,
"streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
}}
Response bodies
OriginEndpoint schema
{
"startoverWindowSeconds": integer, "manifestName": "string",
"description": "string", "dashPackage": {
"manifestWindowSeconds": integer, "segmentDurationSeconds": integer, "utcTimingUri": "string",
"profile": enum, "utcTiming": enum,
"segmentTemplateFormat": enum, "manifestLayout": enum,
"minUpdatePeriodSeconds": integer, "minBufferTimeSeconds": integer, "encryption": {
"keyRotationIntervalSeconds": integer, "spekeKeyProvider": {
"encryptionContractConfiguration": { "presetSpeke20Audio": enum,
"streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer },
"periodTriggers": [
Schemas
enum ],
"suggestedPresentationDelaySeconds": integer, "adsOnDeliveryRestrictions": enum,
"adTriggers": [
"cmafPackage": {
"segmentDurationSeconds": integer, "encryption": {
"constantInitializationVector": "string", "keyRotationIntervalSeconds": integer, "spekeKeyProvider": {
"encryptionContractConfiguration": { "presetSpeke20Audio": enum,
"playlistWindowSeconds": integer, "manifestName": "string",
"programDateTimeIntervalSeconds": integer, "playlistType": enum,
"id": "string",
"includeIframeOnlyStream": boolean, "url": "string"
} ],
"streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer },
"segmentPrefix": "string"
},
"hlsPackage": {
"useAudioRenditionGroup": boolean, "segmentDurationSeconds": integer, "adMarkers": enum,
"includeDvbSubtitles": boolean,
"programDateTimeIntervalSeconds": integer, "playlistType": enum,
"streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer },
"includeIframeOnlyStream": boolean, "adsOnDeliveryRestrictions": enum, "adTriggers": [
enum ]
Properties
},
"url": "string", "tags": { },
"authorization": {
"cdnIdentifierSecret": "string", "secretsRoleArn": "string"
}, "origination": enum,
"timeDelaySeconds": integer, "id": "string",
"arn": "string", "channelId": "string", "mssPackage": {
"manifestWindowSeconds": integer, "segmentDurationSeconds": integer, "encryption": {
"spekeKeyProvider": {
"encryptionContractConfiguration": { "presetSpeke20Audio": enum,
"streamSelection": { "streamOrder": enum,
"maxVideoBitsPerSecond": integer, "minVideoBitsPerSecond": integer }
}}
Properties
AdsOnDeliveryRestrictions
This setting allows the delivery restriction flags on SCTE-35 segmentation descriptors to determine whether a message signals an ad.
• NONE - no SCTE-35 messages become ads.
• RESTRICTED - SCTE-35 messages of the types specified in AdTriggers that contain delivery restrictions will be treated as ads.
• UNRESTRICTED - SCTE-35 messages of the types specified in AdTriggers that do not contain delivery restrictions will be treated as ads.
• BOTH - all SCTE-35 messages of the types specified in AdTriggers will be treated as ads.
For information about SCTE-35 in MediaPackage, see SCTE-35 Message Options in AWS Elemental MediaPackage.
NONE RESTRICTED UNRESTRICTED
Properties
BOTH
Authorization
Parameters for enabling CDN authorization on the endpoint.
cdnIdentifierSecret
The Amazon Resource Name (ARN) for the secret in AWS Secrets Manager that your Content Distribution Network (CDN) uses for authorization to access your endpoint.
Type: string Required: True
secretsRoleArn
The Amazon Resource Name (ARN) for the IAM role that allows MediaPackage to communicate with AWS Secrets Manager.
Type: string Required: True
CmafEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
constantInitializationVector
An optional 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks. If you don't specify a value, then MediaPackage creates the constant initialization vector (IV).
Type: string Required: False
keyRotationIntervalSeconds
Number of seconds before AWS Elemental MediaPackage rotates to a new key. By default, rotation is set to 60 seconds. Set to 0 to disable key rotation.
Type: integer Required: False
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 102) Required: True
CmafPackage
Parameters for Common Media Application Format (CMAF) packaging.
Properties
segmentDurationSeconds
Duration (in seconds) of each segment. Actual segments are rounded to the nearest multiple of the source segment duration.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: CmafEncryption (p. 86) Required: False
hlsManifests
A list of HLS manifest configurations available from this endpoint.
Type: Array of type HlsManifest (p. 92) Required: False
streamSelection
Limitations for outputs from the endpoint, based on the video bitrate.
Type: StreamSelection (p. 103) Required: False
segmentPrefix
An optional custom string that is prepended to the name of each segment. If not specified, the segment prefix defaults to the ChannelId.
Type: string Required: False
CmafPackageCreateOrUpdateParameters
Parameters for creating an endpoint that supports Common Media Application Format (CMAF) packaging.
segmentDurationSeconds
Duration (in seconds) of each segment. Actual segments are rounded to the nearest multiple of the source segment duration.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: CmafEncryption (p. 86)
Properties
Required: False
hlsManifests
A list of HLS manifest configurations available from this endpoint.
Type: Array of type HlsManifestCreateOrUpdateParameters (p. 93) Required: False
streamSelection
Limitations for outputs from the endpoint, based on the video bitrate.
Type: StreamSelection (p. 103) Required: False
segmentPrefix
An optional custom string that is prepended to the name of each segment. If not specified, the segment prefix defaults to the ChannelId.
Type: string Required: False
DashEncryption
Holds encryption information so that access to the content can be controlled by a DRM solution.
keyRotationIntervalSeconds
Number of seconds before AWS Elemental MediaPackage rotates to a new key. By default, rotation is set to 60 seconds. Set to 0 to disable key rotation.
Type: integer Required: False
spekeKeyProvider
Parameters for the SPEKE key provider.
Type: SpekeKeyProvider (p. 102) Required: True
DashPackage
Parameters for DASH packaging.
manifestWindowSeconds
Time window (in seconds) contained in each manifest.
Type: integer Required: False
Properties
segmentDurationSeconds
Duration (in seconds) of each fragment. Actual fragments are rounded to the nearest multiple of the source fragment duration.
Type: integer Required: False
utcTimingUri
Specifies the value attribute of the UTC timing field when utcTiming is set to HTTP-ISO or HTTP-HEAD.
Type: string Required: False
profile
The DASH profile for the output.
Valid values:
• NONE - the output doesn't use a DASH profile.
• HBBTV_1_5 - The output is compliant with HbbTV v1.5. For information about HbbTV v1.5, see the HbbTV specification website.
• HYBRIDCAST - The output is compliant with Hybridcast. For more information about Hybridcast, see the IPTV Forum Japan Hybridcast specification.
Type: string Required: False
Values: NONE | HBBTV_1_5 | HYBRIDCAST
utcTiming
Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).
Type: string Required: False
Values: NONE | HTTP-HEAD | HTTP-ISO
segmentTemplateFormat
Determines the type of variable used in the media URL of the SegmentTemplate tag in the manifest.
Also specifies if segment timeline information is included in SegmentTimeline or SegmentTemplate.
• NUMBER_WITH_TIMELINE - The $Number$ variable is used in the media URL. The value of this variable is the sequential number of the segment. A full SegmentTimeline object is presented in each SegmentTemplate.
• NUMBER_WITH_DURATION - The $Number$ variable is used in the media URL and a duration attribute is added to the segment template. The SegmentTimeline object is removed from the representation.
• TIME_WITH_TIMELINE - The $Time$ variable is used in the media URL. The value of this variable is the timestamp of when the segment starts. A full SegmentTimeline object is presented in each SegmentTemplate.
Properties
Type: string Required: False
Values: NUMBER_WITH_TIMELINE | TIME_WITH_TIMELINE | NUMBER_WITH_DURATION
manifestLayout
Determines the position of some tags in the manifest.
Options:
• FULL - elements like SegmentTemplate and ContentProtection are included in each Representation.
• COMPACT - duplicate elements are combined and presented at the AdaptationSet level.
Type: string Required: False
Values: FULL | COMPACT
minUpdatePeriodSeconds
Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.
Type: integer Required: False
minBufferTimeSeconds
Minimum amount of content (measured in seconds) that a player must keep available in the buffer.
Type: integer Required: False
encryption
Parameters for encrypting content.
Type: DashEncryption (p. 88) Required: False
streamSelection
Limitations for outputs from the endpoint, based on the video bitrate.
Type: StreamSelection (p. 103) Required: False
periodTriggers
A list of triggers that controls when AWS Elemental MediaPackage separates the MPEG-DASH manifest into multiple periods. Type ADS to indicate that AWS Elemental MediaPackage must create periods in the output manifest that correspond to SCTE-35 ad markers in the input source. Leave this value empty to
Properties
indicate that the manifest is contained all in one period. For more information about periods in the DASH manifest, see Multi-period DASH in AWS Elemental MediaPackage.
Type: Array of type string Required: False
Values: ADS
suggestedPresentationDelaySeconds
Amount of time (in seconds) that the player should be from the live point at the end of the manifest.
Type: integer Required: False
adsOnDeliveryRestrictions
The flags on SCTE-35 segmentation descriptors that have to be present for MediaPackage to insert ad markers in the output manifest. For information about SCTE-35 in MediaPackage, see SCTE-35 Message Options in AWS Elemental MediaPackage.
Type: AdsOnDeliveryRestrictions (p. 85) Required: False
adTriggers
The SCTE-35 message types that MediaPackage treats as ad markers in the output manifest. For information about SCTE-35 in MediaPackage, see SCTE-35 Message Options in AWS Elemental MediaPackage.
Type: Array of type string Required: False
EncryptionContractConfiguration
Use encryptionContractConfiguration to configure one or more content encryption keys for your endpoints that use SPEKE 2.0. The encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. To configure the encryption contract, specify which audio and video encryption presets to use.
Note the following considerations when using encryptionContractConfiguration:
• encryptionContractConfiguration can be used for DASH endpoints that use SPEKE 2.0. SPEKE 2.0 relies on the CPIX 2.3 specification.
• You must disable key rotation for this endpoint by setting keyRotationIntervalSeconds to 0.
presetSpeke20Audio
A collection of audio encryption presets.
Value description:
• PRESET-AUDIO-1 - Use one content key to encrypt all of the audio tracks in your stream.
Type: string
Properties
Required: True
Values: PRESET-AUDIO-1
presetSpeke20Video
A collection of video encryption presets.
Value description:
• PRESET-VIDEO-1 - Use one content key to encrypt all of the video tracks in your stream.
Type: string Required: True
Values: PRESET-VIDEO-1
HlsManifest
A HTTP Live Streaming (HLS) manifest configuration on a CMAF endpoint.
adMarkers
Controls how ad markers are included in the packaged endpoint. Valid values are none, passthrough, scte35_enhanced, or daterange.
• NONE - omits all SCTE-35 ad markers from the output.
• PASSTHROUGH - creates a copy in the output of the SCTE-35 ad markers (comments) taken directly from the input manifest.
• SCTE35_ENHANCED - generates ad markers and blackout tags in the output based on the SCTE-35 messages from the input manifest.
• DATERANGE - inserts SCTE-35 EXT-X-DATERANGE tags to signal ad and program transition events in HLS and CMAF manifests. If you use DATERANGE, you must set a
programDateTimeIntervalSeconds value greater than 0. To learn more about DATERANGE, see SCTE-35 Ad Marker EXT-X-DATERANGE.
Type: string Required: False
Values: NONE | SCTE35_ENHANCED | PASSTHROUGH | DATERANGE
playlistWindowSeconds
Time window (in seconds) contained in each parent manifest.
Type: integer Required: False
manifestName
A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.
Type: string Required: False
Properties
programDateTimeIntervalSeconds
Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify.
Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested.
Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
Omit this attribute or enter 0 to indicate that the EXT-X-PROGRAM-DATE-TIME tags are not included in the manifest.
Type: integer Required: False
playlistType
When specified as either event or vod, a corresponding EXT-X-PLAYLIST-TYPE entry is included in the media playlist. Indicates if the playlist is live to VOD content.
Type: string Required: False
Values: NONE | EVENT | VOD
id
The manifest ID is required and must be unique within the OriginEndpoint. The ID can't be changed after the endpoint is created.
Type: string Required: True
includeIframeOnlyStream
Applies to stream sets with a single video track only. When true, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included.
Type: boolean Required: False
url
The URL that's used to request this manifest from this endpoint.
Type: string Required: False
HlsManifestCreateOrUpdateParameters
Parameters for creating an HTTP Live Streaming (HLS) manifest configuration on a CMAF endpoint.
adMarkers
Controls how ad markers are included in the packaged endpoint. Valid values are none, passthrough, scte35_enhanced, or daterange.
Properties
• NONE - omits all SCTE-35 ad markers from the output.
• PASSTHROUGH - creates a copy in the output of the SCTE-35 ad markers (comments) taken directly from the input manifest.
• SCTE35_ENHANCED - generates ad markers and blackout tags in the output based on the SCTE-35 messages from the input manifest.
• DATERANGE - inserts SCTE-35 EXT-X-DATERANGE tags to signal ad and program transition events in HLS and CMAF manifests. If you use DATERANGE, you must set a
programDateTimeIntervalSeconds value greater than 0. To learn more about DATERANGE, see SCTE-35 Ad Marker EXT-X-DATERANGE.
Type: string Required: False
Values: NONE | SCTE35_ENHANCED | PASSTHROUGH | DATERANGE
playlistWindowSeconds
Time window (in seconds) contained in each parent manifest.
Type: integer Required: False
manifestName
A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.
The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.
Type: string Required: False
programDateTimeIntervalSeconds
Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify.
Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested.
Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
Omit this attribute or enter 0 to indicate that the EXT-X-PROGRAM-DATE-TIME tags are not included in the manifest.
Type: integer Required: False
playlistType
When specified as either event or vod, a corresponding EXT-X-PLAYLIST-TYPE entry is included in the media playlist. Indicates if the playlist is live to VOD content.
Type: string Required: False
Values: NONE | EVENT | VOD
Properties
includeIframeOnlyStream
Applies to stream sets with a single video track only. When true, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included.
Type: boolean Required: False
id
The manifest ID is required and must be unique within the OriginEndpoint. The ID can't be changed after the endpoint is created.
Type: string Required: True
adsOnDeliveryRestrictions
The flags on SCTE-35 segmentation descriptors that have to be present for MediaPackage to insert ad markers in the output manifest. For information about SCTE-35 in MediaPackage, see SCTE-35 Message Options in AWS Elemental MediaPackage.
Type: AdsOnDeliveryRestrictions (p. 85) Required: False
adTriggers
The SCTE-35 message types that MediaPackage treats as ad markers in the output manifest. For information about SCTE-35 in MediaPackage, see SCTE-35 Message Options in AWS Elemental MediaPackage.
Type: Array of type string Required: False
HlsPackage
Parameters for Apple HLS packaging.
useAudioRenditionGroup
When true, AWS Elemental MediaPackage bundles all audio tracks in a rendition group. All other tracks
When true, AWS Elemental MediaPackage bundles all audio tracks in a rendition group. All other tracks