AWS Elemental MediaConnect
API Reference

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

ListFlows, CreateFlow

URI

/v1/flows

HTTP Methods

GET

Operation ID: ListFlows

Displays a list of flows that are associated with the account. This request returns a paginated result.

Query Parameters

Name Type Required Description
nextToken String False

The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value.

maxResults String False

The maximum number of results to return per API request. For example, you submit a ListEntitlements request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 20 results per page.

Responses

Status Code Response Model Description
200 ListFlowsResponse

AWS Elemental MediaConnect returned the list of flows successfully.

400 ResponseError

The request that you submitted is not valid.

429 ResponseError

You have exceeded the service request rate limit for your AWS Elemental MediaConnect account.

500 ResponseError

AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition.

503 ResponseError

AWS Elemental MediaConnect is currently unavailable. Try again later.

POST

Operation ID: CreateFlow

Creates a new flow. The request must include one source. The request optionally can include outputs (up to 20) and entitlements (up to 50).

Responses

Status Code Response Model Description
201 CreateFlowResponse

AWS Elemental MediaConnect created the new resource successfully.

400 ResponseError

The request that you submitted is not valid.

403 ResponseError

You don't have the required permissions to perform this operation.

420 ResponseError

Your account already contains the maximum number of 20 flows per account, per Region. For more information, contact AWS Customer Support.

429 ResponseError

You have exceeded the service request rate limit for your AWS Elemental MediaConnect account.

500 ResponseError

AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition.

503 ResponseError

AWS Elemental MediaConnect is currently unavailable. Try again later.

Schemas

Request Bodies

Example POST

{ "entitlements": [ { "encryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "subscribers": [ "string" ], "name": "string", "description": "string", "dataTransferSubscriberFeePercent": integer } ], "outputs": [ { "protocol": enum, "encryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "streamId": "string", "port": integer, "destination": "string", "maxLatency": integer, "name": "string", "description": "string", "smoothingLatency": integer, "cidrAllowList": [ "string" ], "remoteId": "string" } ], "name": "string", "source": { "protocol": enum, "streamId": "string", "maxLatency": integer, "name": "string", "description": "string", "maxBitrate": integer, "entitlementArn": "string", "decryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "ingestPort": integer, "whitelistCidr": "string" }, "availabilityZone": "string" }

Response Bodies

Example ListFlowsResponse

{ "flows": [ { "flowArn": "string", "sourceType": enum, "name": "string", "description": "string", "availabilityZone": "string", "status": enum } ], "nextToken": "string" }

Example CreateFlowResponse

{ "flow": { "entitlements": [ { "encryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "subscribers": [ "string" ], "name": "string", "description": "string", "dataTransferSubscriberFeePercent": integer, "entitlementArn": "string" } ], "outputs": [ { "outputArn": "string", "encryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "port": integer, "destination": "string", "name": "string", "description": "string", "dataTransferSubscriberFeePercent": integer, "entitlementArn": "string", "transport": { "protocol": enum, "streamId": "string", "maxLatency": integer, "maxBitrate": integer, "smoothingLatency": integer, "cidrAllowList": [ "string" ], "remoteId": "string" }, "mediaLiveInputArn": "string" } ], "flowArn": "string", "name": "string", "description": "string", "egressIp": "string", "source": { "sourceArn": "string", "name": "string", "description": "string", "dataTransferSubscriberFeePercent": integer, "entitlementArn": "string", "ingestIp": "string", "transport": { "protocol": enum, "streamId": "string", "maxLatency": integer, "maxBitrate": integer, "smoothingLatency": integer, "cidrAllowList": [ "string" ], "remoteId": "string" }, "decryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "ingestPort": integer, "whitelistCidr": "string" }, "availabilityZone": "string", "status": enum } }

Example ResponseError

{ "message": "string" }

Properties

AddOutputRequest

The output that you want to add to the flow.

Property Type Required Description
protocol

string

Values: zixi-push | rtp-fec | rtp | zixi-pull | rist

True

The protocol to use for the output.

encryption

Encryption

False

The encryption credentials that you want to use for the output.

streamId

string

False

The stream ID that you want to use for the transport. This parameter applies only to Zixi-based streams.

port

integer

False

The port to use when content is distributed to the output.

destination

string

False

The IP address from which AWS Elemental MediaConnect sends video to output destinations.

maxLatency

integer

Format: int64

False

The maximum latency in milliseconds for Zixi-based streams.

name

string

False

The name of the output. This value must be unique within the current flow.

description

string

False

A description of the output. This description is not visible outside of the current AWS account even if the account grants entitlements to other accounts.

smoothingLatency

integer

Format: int64

False

The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.

cidrAllowList

Array of type string

False

The range of IP addresses that are allowed to initiate output requests to this flow. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

remoteId

string

False

The identifier that is assigned to the Zixi receiver. This parameter applies only to outputs that use Zixi pull.

CreateFlowRequest

Creates a new flow. The request must include one source. The request optionally can include outputs (up to 20) and one entitlement.

Property Type Required Description
entitlements

Array of type GrantEntitlementRequest

False

The entitlements that you want to grant on the flow.

outputs

Array of type AddOutputRequest

False

The outputs that you want to add to the flow.

name

string

True

The name of the flow.

source

SetSourceRequest

True

The settings for the source of the flow.

availabilityZone

string

False

The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.

CreateFlowResponse

The result of a successful CreateFlow request.

Property Type Required Description
flow

Flow

True

The flow that you created.

Encryption

Information about the encryption of the flow.

Property Type Required Description
resourceId

string

False

An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.

roleArn

string

True

The Amazon Resource Name (ARN) of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).

secretArn

string

False

The ARN of the secret that you created in AWS Secrets Manager to store the encryption key.

constantInitializationVector

string

False

A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption.

keyType

string

Values: speke | static-key

False

The type of key that is used for the encryption. If you don't specify a keyType value, the service uses the default setting (static-key).

region

string

False

The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption.

deviceId

string

False

The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption.

url

string

False

The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption.

algorithm

string

Values: aes128 | aes192 | aes256

True

The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256).

Entitlement

The settings for a flow entitlement.

Property Type Required Description
encryption

Encryption

False

The type of encryption that AWS Elemental MediaConnect will use on the output that is associated with the entitlement.

subscribers

Array of type string

True

The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source.

name

string

True

The name of the entitlement.

description

string

False

A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and is not visible outside of the current AWS account.

dataTransferSubscriberFeePercent

integer

False

The percentage of the entitlement data transfer fee that you want the subscriber to be responsible for.

entitlementArn

string

True

The ARN of the entitlement.

Flow

The settings for a flow, including its source, outputs, and entitlements.

Property Type Required Description
entitlements

Array of type Entitlement

True

The entitlements in the flow.

outputs

Array of type Output

True

The outputs in the flow.

flowArn

string

True

The Amazon Resource Name (ARN) of the flow.

name

string

True

The name of the flow.

description

string

False

A description of the flow. This description appears only on the AWS Elemental MediaConnect console and is not visible outside of the current AWS account.

egressIp

string

False

The outgoing IP address that AWS Elemental MediaConnect uses to send video from the flow.

source

Source

True

The source for the flow.

availabilityZone

string

True

The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.

status

string

Values: STANDBY | ACTIVE | UPDATING | DELETING | STARTING | STOPPING | ERROR

True

The current status of the flow.

GrantEntitlementRequest

The entitlements that you want to grant on the flow.

Property Type Required Description
encryption

Encryption

False

The type of encryption that AWS Elemental MediaConnect will use on the output that is associated with the entitlement.

subscribers

Array of type string

True

The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source.

name

string

False

The name of the entitlement. This value must be unique within the current flow.

description

string

False

A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and is not visible outside of the current AWS account.

dataTransferSubscriberFeePercent

integer

False

The percentage of the entitlement data transfer fee that you want the subscriber to be responsible for.

ListFlowsResponse

The result of a successful ListFlows request. The response includes flow summaries and the NextToken to use in a subsequent ListFlows request.

Property Type Required Description
flows

Array of type ListedFlow

True

A list of flow summaries.

nextToken

string

False

The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value.

ListedFlow

Provides a summary of a flow, including its ARN, Availability Zone, and source type.

Property Type Required Description
flowArn

string

True

The Amazon Resource Name (ARN) of the flow.

sourceType

string

Values: OWNED | ENTITLED

True

The type of source. This value is either owned (originated somewhere other than an AWS Elemental MediaConnect flow owned by another AWS account) or entitled (originated at an AWS Elemental MediaConnect flow owned by another AWS account).

name

string

True

The name of the flow.

description

string

True

A description of the flow. This description appears only on the AWS Elemental MediaConnect console and is not visible outside of the current AWS account.

availabilityZone

string

True

The Availability Zone that the flow was created in.

status

string

Values: STANDBY | ACTIVE | UPDATING | DELETING | STARTING | STOPPING | ERROR

True

The current status of the flow.

Output

The settings for an output.

Property Type Required Description
outputArn

string

True

The ARN of the output.

encryption

Encryption

False

The encryption credentials that you want to use for the output.

port

integer

False

The port to use when content is distributed to the output.

destination

string

False

The address where you want to send the output.

name

string

True

The name of the output. This value must be unique within the current flow.

description

string

False

A description of the output. This description is not visible outside of the current AWS account even if the account grants entitlements to other accounts.

dataTransferSubscriberFeePercent

integer

False

The percentage of the entitlement data transfer fee that the subscriber is responsible for.

entitlementArn

string

False

The ARN of the entitlement on the originator's flow. This value is relevant only on entitled flows.

transport

Transport

False

Attributes that are related to the transport stream.

mediaLiveInputArn

string

False

The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that AWS Elemental MediaConnect added to send content to a MediaLive input.

ResponseError

An exception raised by AWS Elemental MediaConnect when you submit a request that cannot be completed. For more information, see the error message and documentation for the operation.

Property Type Required Description
message

string

True

The specific error message that AWS Elemental MediaConnect returns to help you understand the reason that the request did not succeed.

SetSourceRequest

The settings for the source of the flow.

Property Type Required Description
protocol

string

Values: zixi-push | rtp-fec | rtp | zixi-pull | rist

False

The protocol that the source uses to deliver the content to AWS Elemental MediaConnect.

streamId

string

False

The stream ID that you want to use for the transport. This parameter applies only to Zixi-based streams.

maxLatency

integer

Format: int64

False

The maximum latency in milliseconds for RIST and Zixi-based streams.

name

string

False

The name of the source.

description

string

False

A description of the source. This description is not visible outside of the current AWS account.

maxBitrate

integer

Format: int64

False

The maximum bitrate for RIST, RTP, and RTP-FEC streams.

entitlementArn

string

False

The ARN of the entitlement that allows you to subscribe to the flow. The content originator grants the entitlement, and the ARN is auto-generated as part of the originator's flow.

decryption

Encryption

False

The type of encryption that is used on the content ingested from the source.

ingestPort

integer

False

The port that the flow listens on for incoming content. If the protocol of the source is Zixi, the port must be set to 2088.

whitelistCidr

string

False

The range of IP addresses that are allowed to contribute content to your source. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

Source

The settings for the source of the flow.

Property Type Required Description
sourceArn

string

True

The ARN of the source.

name

string

True

The name of the source.

description

string

False

A description of the source. This description is not visible outside of the current AWS account.

dataTransferSubscriberFeePercent

integer

False

The percentage of the entitlement data transfer fee that you want the subscriber to be responsible for.

entitlementArn

string

False

The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator’s flow.

ingestIp

string

False

The IP address that the flow listens on for incoming content.

transport

Transport

False

Attributes that are related to the transport stream.

decryption

Encryption

False

The type of encryption that is used on the content ingested from the source.

ingestPort

integer

False

The port that the flow listens on for incoming content. If the protocol of the source is Zixi, the port must be set to 2088.

whitelistCidr

string

False

The range of IP addresses that are allowed to contribute content to your source. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

Transport

Attributes that are related to the transport stream.

Property Type Required Description
protocol

string

Values: zixi-push | rtp-fec | rtp | zixi-pull | rist

True

The protocol that is used by the source or output.

streamId

string

False

The stream ID that you want to use for the transport. This parameter applies only to Zixi-based streams.

maxLatency

integer

Format: int64

False

The maximum latency in milliseconds for a RIST source, a Zixi-based source, or a Zixi-based output.

maxBitrate

integer

Format: int64

False

The maximum bitrate for RIST, RTP, and RTP-FEC streams.

smoothingLatency

integer

Format: int64

False

The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.

cidrAllowList

Array of type string

False

The range of IP addresses that are allowed to initiate output requests to this flow. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

remoteId

string

False

The identifier that is assigned to the Zixi receiver. This parameter applies only to outputs that use Zixi pull.

See Also

For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

ListFlows

CreateFlow