CreateOriginEndpoint
The endpoint is attached to a channel, and represents the output of the live content. You can associate multiple endpoints to a single channel. Each endpoint gives players and downstream CDNs (such as Amazon CloudFront) access to the content for playback. Content can't be served from a channel until it has an endpoint. You can create only one endpoint with each request.
Request Syntax
POST /channelGroup/ChannelGroupName
/channel/ChannelName
/originEndpoint HTTP/1.1
x-amzn-client-token: ClientToken
Content-type: application/json
{
"ContainerType": "string
",
"DashManifests": [
{
"DrmSignaling": "string
",
"FilterConfiguration": {
"ClipStartTime": number
,
"End": number
,
"ManifestFilter": "string
",
"Start": number
,
"TimeDelaySeconds": number
},
"ManifestName": "string
",
"ManifestWindowSeconds": number
,
"MinBufferTimeSeconds": number
,
"MinUpdatePeriodSeconds": number
,
"PeriodTriggers": [ "string
" ],
"ScteDash": {
"AdMarkerDash": "string
"
},
"SegmentTemplateFormat": "string
",
"SuggestedPresentationDelaySeconds": number
,
"UtcTiming": {
"TimingMode": "string
",
"TimingSource": "string
"
}
}
],
"Description": "string
",
"ForceEndpointErrorConfiguration": {
"EndpointErrorConditions": [ "string
" ]
},
"HlsManifests": [
{
"ChildManifestName": "string
",
"FilterConfiguration": {
"ClipStartTime": number
,
"End": number
,
"ManifestFilter": "string
",
"Start": number
,
"TimeDelaySeconds": number
},
"ManifestName": "string
",
"ManifestWindowSeconds": number
,
"ProgramDateTimeIntervalSeconds": number
,
"ScteHls": {
"AdMarkerHls": "string
"
},
"StartTag": {
"Precise": boolean
,
"TimeOffset": number
}
}
],
"LowLatencyHlsManifests": [
{
"ChildManifestName": "string
",
"FilterConfiguration": {
"ClipStartTime": number
,
"End": number
,
"ManifestFilter": "string
",
"Start": number
,
"TimeDelaySeconds": number
},
"ManifestName": "string
",
"ManifestWindowSeconds": number
,
"ProgramDateTimeIntervalSeconds": number
,
"ScteHls": {
"AdMarkerHls": "string
"
},
"StartTag": {
"Precise": boolean
,
"TimeOffset": number
}
}
],
"OriginEndpointName": "string
",
"Segment": {
"Encryption": {
"ConstantInitializationVector": "string
",
"EncryptionMethod": {
"CmafEncryptionMethod": "string
",
"TsEncryptionMethod": "string
"
},
"KeyRotationIntervalSeconds": number
,
"SpekeKeyProvider": {
"DrmSystems": [ "string
" ],
"EncryptionContractConfiguration": {
"PresetSpeke20Audio": "string
",
"PresetSpeke20Video": "string
"
},
"ResourceId": "string
",
"RoleArn": "string
",
"Url": "string
"
}
},
"IncludeIframeOnlyStreams": boolean
,
"Scte": {
"ScteFilter": [ "string
" ]
},
"SegmentDurationSeconds": number
,
"SegmentName": "string
",
"TsIncludeDvbSubtitles": boolean
,
"TsUseAudioRenditionGroup": boolean
},
"StartoverWindowSeconds": number
,
"Tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request uses the following URI parameters.
- ChannelGroupName
-
The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region.
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z0-9_-]+
Required: Yes
- ChannelName
-
The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group.
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z0-9_-]+
Required: Yes
- ClientToken
-
A unique, case-sensitive token that you provide to ensure the idempotency of the request.
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[\S]+
Request Body
The request accepts the following data in JSON format.
- ContainerType
-
The type of container to attach to this origin endpoint. A container type is a file format that encapsulates one or more media streams, such as audio and video, into a single file. You can't change the container type after you create the endpoint.
Type: String
Valid Values:
TS | CMAF
Required: Yes
- DashManifests
-
A DASH manifest configuration.
Type: Array of CreateDashManifestConfiguration objects
Required: No
- Description
-
Enter any descriptive text that helps you to identify the origin endpoint.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
Required: No
- ForceEndpointErrorConfiguration
-
The failover settings for the endpoint.
Type: ForceEndpointErrorConfiguration object
Required: No
- HlsManifests
-
An HTTP live streaming (HLS) manifest configuration.
Type: Array of CreateHlsManifestConfiguration objects
Required: No
- LowLatencyHlsManifests
-
A low-latency HLS manifest configuration.
Type: Array of CreateLowLatencyHlsManifestConfiguration objects
Required: No
- OriginEndpointName
-
The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and must be unique for your account in the AWS Region and channel. You can't use spaces in the name. You can't change the name after you create the endpoint.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z0-9_-]+
Required: Yes
- Segment
-
The segment configuration, including the segment name, duration, and other configuration values.
Type: Segment object
Required: No
- StartoverWindowSeconds
-
The size of the window (in seconds) to create a window of the live stream that's available for on-demand viewing. Viewers can start-over or catch-up on content that falls within the window. The maximum startover window is 1,209,600 seconds (14 days).
Type: Integer
Valid Range: Minimum value of 60. Maximum value of 1209600.
Required: No
- Tags
-
A comma-separated list of tag key:value pairs that you define. For example:
"Key1": "Value1",
"Key2": "Value2"
Type: String to string map
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"Arn": "string",
"ChannelGroupName": "string",
"ChannelName": "string",
"ContainerType": "string",
"CreatedAt": number,
"DashManifests": [
{
"DrmSignaling": "string",
"FilterConfiguration": {
"ClipStartTime": number,
"End": number,
"ManifestFilter": "string",
"Start": number,
"TimeDelaySeconds": number
},
"ManifestName": "string",
"ManifestWindowSeconds": number,
"MinBufferTimeSeconds": number,
"MinUpdatePeriodSeconds": number,
"PeriodTriggers": [ "string" ],
"ScteDash": {
"AdMarkerDash": "string"
},
"SegmentTemplateFormat": "string",
"SuggestedPresentationDelaySeconds": number,
"Url": "string",
"UtcTiming": {
"TimingMode": "string",
"TimingSource": "string"
}
}
],
"Description": "string",
"ETag": "string",
"ForceEndpointErrorConfiguration": {
"EndpointErrorConditions": [ "string" ]
},
"HlsManifests": [
{
"ChildManifestName": "string",
"FilterConfiguration": {
"ClipStartTime": number,
"End": number,
"ManifestFilter": "string",
"Start": number,
"TimeDelaySeconds": number
},
"ManifestName": "string",
"ManifestWindowSeconds": number,
"ProgramDateTimeIntervalSeconds": number,
"ScteHls": {
"AdMarkerHls": "string"
},
"StartTag": {
"Precise": boolean,
"TimeOffset": number
},
"Url": "string"
}
],
"LowLatencyHlsManifests": [
{
"ChildManifestName": "string",
"FilterConfiguration": {
"ClipStartTime": number,
"End": number,
"ManifestFilter": "string",
"Start": number,
"TimeDelaySeconds": number
},
"ManifestName": "string",
"ManifestWindowSeconds": number,
"ProgramDateTimeIntervalSeconds": number,
"ScteHls": {
"AdMarkerHls": "string"
},
"StartTag": {
"Precise": boolean,
"TimeOffset": number
},
"Url": "string"
}
],
"ModifiedAt": number,
"OriginEndpointName": "string",
"Segment": {
"Encryption": {
"ConstantInitializationVector": "string",
"EncryptionMethod": {
"CmafEncryptionMethod": "string",
"TsEncryptionMethod": "string"
},
"KeyRotationIntervalSeconds": number,
"SpekeKeyProvider": {
"DrmSystems": [ "string" ],
"EncryptionContractConfiguration": {
"PresetSpeke20Audio": "string",
"PresetSpeke20Video": "string"
},
"ResourceId": "string",
"RoleArn": "string",
"Url": "string"
}
},
"IncludeIframeOnlyStreams": boolean,
"Scte": {
"ScteFilter": [ "string" ]
},
"SegmentDurationSeconds": number,
"SegmentName": "string",
"TsIncludeDvbSubtitles": boolean,
"TsUseAudioRenditionGroup": boolean
},
"StartoverWindowSeconds": number,
"Tags": {
"string" : "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Arn
-
The Amazon Resource Name (ARN) associated with the resource.
Type: String
- ChannelGroupName
-
The name that describes the channel group. The name is the primary identifier for the channel group, and must be unique for your account in the AWS Region.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z0-9_-]+
- ChannelName
-
The name that describes the channel. The name is the primary identifier for the channel, and must be unique for your account in the AWS Region and channel group.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z0-9_-]+
- ContainerType
-
The type of container attached to this origin endpoint.
Type: String
Valid Values:
TS | CMAF
- CreatedAt
-
The date and time the origin endpoint was created.
Type: Timestamp
- DashManifests
-
A DASH manifest configuration.
Type: Array of GetDashManifestConfiguration objects
- Description
-
The description for your origin endpoint.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
- ETag
-
The current Entity Tag (ETag) associated with this resource. The entity tag can be used to safely make concurrent updates to the resource.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[\S]+
- ForceEndpointErrorConfiguration
-
The failover settings for the endpoint.
Type: ForceEndpointErrorConfiguration object
- HlsManifests
-
An HTTP live streaming (HLS) manifest configuration.
Type: Array of GetHlsManifestConfiguration objects
- LowLatencyHlsManifests
-
A low-latency HLS manifest configuration.
Type: Array of GetLowLatencyHlsManifestConfiguration objects
- ModifiedAt
-
The date and time the origin endpoint was modified.
Type: Timestamp
- OriginEndpointName
-
The name that describes the origin endpoint. The name is the primary identifier for the origin endpoint, and and must be unique for your account in the AWS Region and channel.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[a-zA-Z0-9_-]+
- Segment
-
The segment configuration, including the segment name, duration, and other configuration values.
Type: Segment object
- StartoverWindowSeconds
-
The size of the window (in seconds) to create a window of the live stream that's available for on-demand viewing. Viewers can start-over or catch-up on content that falls within the window.
Type: Integer
- Tags
-
The comma-separated list of tag key:value pairs assigned to the origin endpoint.
Type: String to string map
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access Management in the IAM User Guide.
HTTP Status Code: 403
- ConflictException
-
Updating or deleting this resource can cause an inconsistent state.
HTTP Status Code: 409
- InternalServerException
-
Indicates that an error from the service occurred while trying to process a request.
HTTP Status Code: 500
- ResourceNotFoundException
-
The specified resource doesn't exist.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
The request would cause a service quota to be exceeded.
HTTP Status Code: 402
- ThrottlingException
-
The request throughput limit was exceeded.
HTTP Status Code: 429
- ValidationException
-
The input failed to meet the constraints specified by the AWS service.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: