Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

CreateFlow - AWS Elemental MediaConnect

CreateFlow

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

Request Syntax

POST /v1/flows HTTP/1.1 Content-type: application/json { "availabilityZone": "string", "entitlements": [ { "dataTransferSubscriberFeePercent": number, "description": "string", "encryption": { "algorithm": "string", "constantInitializationVector": "string", "deviceId": "string", "keyType": "string", "region": "string", "resourceId": "string", "roleArn": "string", "secretArn": "string", "url": "string" }, "entitlementStatus": "string", "name": "string", "subscribers": [ "string" ] } ], "flowSize": "string", "maintenance": { "maintenanceDay": "string", "maintenanceStartHour": "string" }, "mediaStreams": [ { "attributes": { "fmtp": { "channelOrder": "string", "colorimetry": "string", "exactFramerate": "string", "par": "string", "range": "string", "scanMode": "string", "tcs": "string" }, "lang": "string" }, "clockRate": number, "description": "string", "mediaStreamId": number, "mediaStreamName": "string", "mediaStreamType": "string", "videoFormat": "string" } ], "name": "string", "ndiConfig": { "machineName": "string", "ndiDiscoveryServers": [ { "discoveryServerAddress": "string", "discoveryServerPort": number, "vpcInterfaceAdapter": "string" } ], "ndiState": "string" }, "outputs": [ { "cidrAllowList": [ "string" ], "description": "string", "destination": "string", "encryption": { "algorithm": "string", "constantInitializationVector": "string", "deviceId": "string", "keyType": "string", "region": "string", "resourceId": "string", "roleArn": "string", "secretArn": "string", "url": "string" }, "maxLatency": number, "mediaStreamOutputConfigurations": [ { "destinationConfigurations": [ { "destinationIp": "string", "destinationPort": number, "interface": { "name": "string" } } ], "encodingName": "string", "encodingParameters": { "compressionFactor": number, "encoderProfile": "string" }, "mediaStreamName": "string" } ], "minLatency": number, "name": "string", "ndiProgramName": "string", "ndiSpeedHqQuality": number, "outputStatus": "string", "port": number, "protocol": "string", "remoteId": "string", "senderControlPort": number, "smoothingLatency": number, "streamId": "string", "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } } ], "source": { "decryption": { "algorithm": "string", "constantInitializationVector": "string", "deviceId": "string", "keyType": "string", "region": "string", "resourceId": "string", "roleArn": "string", "secretArn": "string", "url": "string" }, "description": "string", "entitlementArn": "string", "gatewayBridgeSource": { "bridgeArn": "string", "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } }, "ingestPort": number, "maxBitrate": number, "maxLatency": number, "maxSyncBuffer": number, "mediaStreamSourceConfigurations": [ { "encodingName": "string", "inputConfigurations": [ { "inputPort": number, "interface": { "name": "string" } } ], "mediaStreamName": "string" } ], "minLatency": number, "name": "string", "protocol": "string", "senderControlPort": number, "senderIpAddress": "string", "sourceListenerAddress": "string", "sourceListenerPort": number, "streamId": "string", "vpcInterfaceName": "string", "whitelistCidr": "string" }, "sourceFailoverConfig": { "failoverMode": "string", "recoveryWindow": number, "sourcePriority": { "primarySource": "string" }, "state": "string" }, "sourceMonitoringConfig": { "audioMonitoringSettings": [ { "silentAudio": { "state": "string", "thresholdSeconds": number } } ], "contentQualityAnalysisState": "string", "thumbnailState": "string", "videoMonitoringSettings": [ { "blackFrames": { "state": "string", "thresholdSeconds": number }, "frozenFrames": { "state": "string", "thresholdSeconds": number } } ] }, "sources": [ { "decryption": { "algorithm": "string", "constantInitializationVector": "string", "deviceId": "string", "keyType": "string", "region": "string", "resourceId": "string", "roleArn": "string", "secretArn": "string", "url": "string" }, "description": "string", "entitlementArn": "string", "gatewayBridgeSource": { "bridgeArn": "string", "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } }, "ingestPort": number, "maxBitrate": number, "maxLatency": number, "maxSyncBuffer": number, "mediaStreamSourceConfigurations": [ { "encodingName": "string", "inputConfigurations": [ { "inputPort": number, "interface": { "name": "string" } } ], "mediaStreamName": "string" } ], "minLatency": number, "name": "string", "protocol": "string", "senderControlPort": number, "senderIpAddress": "string", "sourceListenerAddress": "string", "sourceListenerPort": number, "streamId": "string", "vpcInterfaceName": "string", "whitelistCidr": "string" } ], "vpcInterfaces": [ { "name": "string", "networkInterfaceType": "string", "roleArn": "string", "securityGroupIds": [ "string" ], "subnetId": "string" } ] }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

availabilityZone

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

Type: String

Required: No

entitlements

The entitlements that you want to grant on a flow.

Type: Array of GrantEntitlementRequest objects

Required: No

flowSize

Determines the processing capacity and feature set of the flow. Set this optional parameter to LARGE if you want to enable NDI outputs on the flow.

Type: String

Valid Values: MEDIUM | LARGE

Required: No

maintenance

The maintenance settings you want to use for the flow.

Type: AddMaintenance object

Required: No

mediaStreams

The media streams that you want to add to the flow. You can associate these media streams with sources and outputs on the flow.

Type: Array of AddMediaStreamRequest objects

Required: No

name

The name of the flow.

Type: String

Required: Yes

ndiConfig

Specifies the configuration settings for NDI outputs. Required when the flow includes NDI outputs.

Type: NdiConfig object

Required: No

outputs

The outputs that you want to add to this flow.

Type: Array of AddOutputRequest objects

Required: No

source

The settings for the source that you want to use for the new flow.

Type: SetSourceRequest object

Required: No

sourceFailoverConfig

The settings for source failover.

Type: FailoverConfig object

Required: No

sourceMonitoringConfig

The settings for source monitoring.

Type: MonitoringConfig object

Required: No

sources

The sources that are assigned to the flow.

Type: Array of SetSourceRequest objects

Required: No

vpcInterfaces

The VPC interfaces you want on the flow.

Type: Array of VpcInterfaceRequest objects

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "flow": { "availabilityZone": "string", "description": "string", "egressIp": "string", "entitlements": [ { "dataTransferSubscriberFeePercent": number, "description": "string", "encryption": { "algorithm": "string", "constantInitializationVector": "string", "deviceId": "string", "keyType": "string", "region": "string", "resourceId": "string", "roleArn": "string", "secretArn": "string", "url": "string" }, "entitlementArn": "string", "entitlementStatus": "string", "name": "string", "subscribers": [ "string" ] } ], "flowArn": "string", "flowSize": "string", "maintenance": { "maintenanceDay": "string", "maintenanceDeadline": "string", "maintenanceScheduledDate": "string", "maintenanceStartHour": "string" }, "mediaStreams": [ { "attributes": { "fmtp": { "channelOrder": "string", "colorimetry": "string", "exactFramerate": "string", "par": "string", "range": "string", "scanMode": "string", "tcs": "string" }, "lang": "string" }, "clockRate": number, "description": "string", "fmt": number, "mediaStreamId": number, "mediaStreamName": "string", "mediaStreamType": "string", "videoFormat": "string" } ], "name": "string", "ndiConfig": { "machineName": "string", "ndiDiscoveryServers": [ { "discoveryServerAddress": "string", "discoveryServerPort": number, "vpcInterfaceAdapter": "string" } ], "ndiState": "string" }, "outputs": [ { "bridgeArn": "string", "bridgePorts": [ number ], "dataTransferSubscriberFeePercent": number, "description": "string", "destination": "string", "encryption": { "algorithm": "string", "constantInitializationVector": "string", "deviceId": "string", "keyType": "string", "region": "string", "resourceId": "string", "roleArn": "string", "secretArn": "string", "url": "string" }, "entitlementArn": "string", "listenerAddress": "string", "mediaLiveInputArn": "string", "mediaStreamOutputConfigurations": [ { "destinationConfigurations": [ { "destinationIp": "string", "destinationPort": number, "interface": { "name": "string" }, "outboundIp": "string" } ], "encodingName": "string", "encodingParameters": { "compressionFactor": number, "encoderProfile": "string" }, "mediaStreamName": "string" } ], "name": "string", "outputArn": "string", "outputStatus": "string", "port": number, "transport": { "cidrAllowList": [ "string" ], "maxBitrate": number, "maxLatency": number, "maxSyncBuffer": number, "minLatency": number, "ndiProgramName": "string", "ndiSpeedHqQuality": number, "protocol": "string", "remoteId": "string", "senderControlPort": number, "senderIpAddress": "string", "smoothingLatency": number, "sourceListenerAddress": "string", "sourceListenerPort": number, "streamId": "string" }, "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } } ], "source": { "dataTransferSubscriberFeePercent": number, "decryption": { "algorithm": "string", "constantInitializationVector": "string", "deviceId": "string", "keyType": "string", "region": "string", "resourceId": "string", "roleArn": "string", "secretArn": "string", "url": "string" }, "description": "string", "entitlementArn": "string", "gatewayBridgeSource": { "bridgeArn": "string", "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } }, "ingestIp": "string", "ingestPort": number, "mediaStreamSourceConfigurations": [ { "encodingName": "string", "inputConfigurations": [ { "inputIp": "string", "inputPort": number, "interface": { "name": "string" } } ], "mediaStreamName": "string" } ], "name": "string", "senderControlPort": number, "senderIpAddress": "string", "sourceArn": "string", "transport": { "cidrAllowList": [ "string" ], "maxBitrate": number, "maxLatency": number, "maxSyncBuffer": number, "minLatency": number, "ndiProgramName": "string", "ndiSpeedHqQuality": number, "protocol": "string", "remoteId": "string", "senderControlPort": number, "senderIpAddress": "string", "smoothingLatency": number, "sourceListenerAddress": "string", "sourceListenerPort": number, "streamId": "string" }, "vpcInterfaceName": "string", "whitelistCidr": "string" }, "sourceFailoverConfig": { "failoverMode": "string", "recoveryWindow": number, "sourcePriority": { "primarySource": "string" }, "state": "string" }, "sourceMonitoringConfig": { "audioMonitoringSettings": [ { "silentAudio": { "state": "string", "thresholdSeconds": number } } ], "contentQualityAnalysisState": "string", "thumbnailState": "string", "videoMonitoringSettings": [ { "blackFrames": { "state": "string", "thresholdSeconds": number }, "frozenFrames": { "state": "string", "thresholdSeconds": number } } ] }, "sources": [ { "dataTransferSubscriberFeePercent": number, "decryption": { "algorithm": "string", "constantInitializationVector": "string", "deviceId": "string", "keyType": "string", "region": "string", "resourceId": "string", "roleArn": "string", "secretArn": "string", "url": "string" }, "description": "string", "entitlementArn": "string", "gatewayBridgeSource": { "bridgeArn": "string", "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } }, "ingestIp": "string", "ingestPort": number, "mediaStreamSourceConfigurations": [ { "encodingName": "string", "inputConfigurations": [ { "inputIp": "string", "inputPort": number, "interface": { "name": "string" } } ], "mediaStreamName": "string" } ], "name": "string", "senderControlPort": number, "senderIpAddress": "string", "sourceArn": "string", "transport": { "cidrAllowList": [ "string" ], "maxBitrate": number, "maxLatency": number, "maxSyncBuffer": number, "minLatency": number, "ndiProgramName": "string", "ndiSpeedHqQuality": number, "protocol": "string", "remoteId": "string", "senderControlPort": number, "senderIpAddress": "string", "smoothingLatency": number, "sourceListenerAddress": "string", "sourceListenerPort": number, "streamId": "string" }, "vpcInterfaceName": "string", "whitelistCidr": "string" } ], "status": "string", "vpcInterfaces": [ { "name": "string", "networkInterfaceIds": [ "string" ], "networkInterfaceType": "string", "roleArn": "string", "securityGroupIds": [ "string" ], "subnetId": "string" } ] } }

Response Elements

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.

flow

The flow that you created.

Type: Flow object

Errors

For information about the errors that are common to all actions, see Common Errors.

BadRequestException

This exception is thrown if the request contains a semantic error. The precise meaning depends on the API, and is documented in the error message.

HTTP Status Code: 400

CreateFlow420Exception

Exception raised by AWS Elemental MediaConnect when creating the flow. See the error message for the operation for more information on the cause of this exception.

HTTP Status Code: 420

ForbiddenException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

InternalServerErrorException

The server encountered an internal error and is unable to complete the request.

HTTP Status Code: 500

ServiceUnavailableException

The service is currently unavailable or busy.

HTTP Status Code: 503

TooManyRequestsException

The request was denied due to request throttling.

HTTP Status Code: 429

See Also

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

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.