CloudFront Streaming Distribution API
The Streaming Distribution API from CloudFront — 3 operation(s) for streaming distribution.
The Streaming Distribution API from CloudFront — 3 operation(s) for streaming distribution.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cloudfront:cloudfront-streaming-distribution-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Amazon CloudFront Streaming Distribution API
version: '2020-05-31'
description: Generated from AWS's published Smithy model for Amazon CloudFront. 7 operation(s).
contact:
name: Amazon Web Services
url: https://aws.amazon.com/contact-us/
license:
name: Apache 2.0
identifier: Apache-2.0
url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://cloudfront.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
paths:
/2020-05-31/streaming-distribution:
post:
operationId: CreateStreamingDistribution
summary: Create Streaming Distribution
description: This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions
on December 31, 2020. For more information, read the announcement on the Amazon CloudFront discussion forum.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/CreateStreamingDistributionResult'
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'409':
description: CNAMEAlreadyExists; StreamingDistributionAlreadyExists
content:
text/xml:
schema:
$ref: '#/components/schemas/CNAMEAlreadyExists'
'400':
description: InconsistentQuantities; InvalidArgument; InvalidOrigin; InvalidOriginAccessControl; InvalidOriginAccessIdentity;
MissingBody; TooManyStreamingDistributionCNAMEs; TooManyStreamingDistributions; TooManyTrustedSigners; TrustedSignerDoesNotExist
content:
text/xml:
schema:
$ref: '#/components/schemas/InconsistentQuantities'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/CreateStreamingDistributionRequest'
tags:
- Streaming Distribution
get:
operationId: ListStreamingDistributions
summary: List Streaming Distributions
description: List streaming distributions.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/ListStreamingDistributionsResult'
'400':
description: InvalidArgument
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidArgument'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/ListStreamingDistributionsRequest'
tags:
- Streaming Distribution
/2020-05-31/streaming-distribution?WithTags:
post:
operationId: CreateStreamingDistributionWithTags
summary: Create Streaming Distribution With Tags
description: This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions
on December 31, 2020. For more information, read the announcement on the Amazon CloudFront discussion forum.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/CreateStreamingDistributionWithTagsResult'
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'409':
description: CNAMEAlreadyExists; StreamingDistributionAlreadyExists
content:
text/xml:
schema:
$ref: '#/components/schemas/CNAMEAlreadyExists'
'400':
description: InconsistentQuantities; InvalidArgument; InvalidOrigin; InvalidOriginAccessControl; InvalidOriginAccessIdentity;
InvalidTagging; MissingBody; TooManyStreamingDistributionCNAMEs; TooManyStreamingDistributions; TooManyTrustedSigners;
TrustedSignerDoesNotExist
content:
text/xml:
schema:
$ref: '#/components/schemas/InconsistentQuantities'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/CreateStreamingDistributionWithTagsRequest'
tags:
- Streaming Distribution
/2020-05-31/streaming-distribution/{Id}:
delete:
operationId: DeleteStreamingDistribution
summary: Delete Streaming Distribution
description: 'Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the
following steps. To delete an RTMP distribution using the CloudFront API: Disable the RTMP distribution. Submit a
GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.
Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change
the value of Enabled to false. Submit a PUT Streaming Distribution Config request to update the configuration for
your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of
the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming
Distribution Config request in Step 2. Review the response to the PUT Streaming Distribution Config request to confirm
that the distribution was successfully disabled. Submit a GET Streaming Distribution Config request to confirm that
your changes have propagated. When propagation is complete, the value of Status is Deployed. Submit a DELETE Streaming
Distribution request. Set the value of the HTTP'
responses:
'200':
description: Success
content:
text/xml:
schema:
type: string
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'400':
description: InvalidIfMatchVersion
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidIfMatchVersion'
'404':
description: NoSuchStreamingDistribution
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchStreamingDistribution'
'412':
description: PreconditionFailed
content:
text/xml:
schema:
$ref: '#/components/schemas/PreconditionFailed'
'409':
description: StreamingDistributionNotDisabled
content:
text/xml:
schema:
$ref: '#/components/schemas/StreamingDistributionNotDisabled'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/DeleteStreamingDistributionRequest'
tags:
- Streaming Distribution
get:
operationId: GetStreamingDistribution
summary: Get Streaming Distribution
description: Gets information about a specified RTMP distribution, including the distribution configuration.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/GetStreamingDistributionResult'
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'404':
description: NoSuchStreamingDistribution
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchStreamingDistribution'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/GetStreamingDistributionRequest'
tags:
- Streaming Distribution
/2020-05-31/streaming-distribution/{Id}/config:
get:
operationId: GetStreamingDistributionConfig
summary: Get Streaming Distribution Config
description: Get the configuration information about a streaming distribution.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/GetStreamingDistributionConfigResult'
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'404':
description: NoSuchStreamingDistribution
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchStreamingDistribution'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/GetStreamingDistributionConfigRequest'
tags:
- Streaming Distribution
put:
operationId: UpdateStreamingDistribution
summary: Update Streaming Distribution
description: Update a streaming distribution.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/UpdateStreamingDistributionResult'
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'409':
description: CNAMEAlreadyExists
content:
text/xml:
schema:
$ref: '#/components/schemas/CNAMEAlreadyExists'
'400':
description: IllegalUpdate; InconsistentQuantities; InvalidArgument; InvalidIfMatchVersion; InvalidOriginAccessControl;
InvalidOriginAccessIdentity; MissingBody; TooManyStreamingDistributionCNAMEs; TooManyTrustedSigners; TrustedSignerDoesNotExist
content:
text/xml:
schema:
$ref: '#/components/schemas/IllegalUpdate'
'404':
description: NoSuchStreamingDistribution
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchStreamingDistribution'
'412':
description: PreconditionFailed
content:
text/xml:
schema:
$ref: '#/components/schemas/PreconditionFailed'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/UpdateStreamingDistributionRequest'
tags:
- Streaming Distribution
components:
securitySchemes:
sigv4:
type: apiKey
in: header
name: Authorization
description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
x-aws-sigv4:
signingName: cloudfront
schemas:
AccessDenied:
type: object
properties:
Message:
type: string
ActiveTrustedSigners:
type: object
properties:
Enabled:
type: boolean
description: This field is true if any of the Amazon Web Services accounts in the list are configured as trusted
signers. If not, this field is false.
Quantity:
type: integer
description: The number of Amazon Web Services accounts in the list.
Items:
type: array
items:
$ref: '#/components/schemas/Signer'
description: A list of Amazon Web Services accounts and the identifiers of active CloudFront key pairs in each account
that CloudFront can use to verify the signatures of signed URLs and signed cookies.
required:
- Enabled
- Quantity
Aliases:
type: object
properties:
Quantity:
type: integer
description: The number of CNAME aliases, if any, that you want to associate with this distribution.
Items:
type: array
items:
type: string
description: A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.
required:
- Quantity
CNAMEAlreadyExists:
type: object
properties:
Message:
type: string
CreateStreamingDistributionRequest:
type: object
properties:
StreamingDistributionConfig:
$ref: '#/components/schemas/StreamingDistributionConfig'
required:
- StreamingDistributionConfig
CreateStreamingDistributionResult:
type: object
properties:
StreamingDistribution:
$ref: '#/components/schemas/StreamingDistribution'
Location:
type: string
description: The fully qualified URI of the new streaming distribution resource just created.
ETag:
type: string
description: The current version of the streaming distribution created.
CreateStreamingDistributionWithTagsRequest:
type: object
properties:
StreamingDistributionConfigWithTags:
$ref: '#/components/schemas/StreamingDistributionConfigWithTags'
required:
- StreamingDistributionConfigWithTags
CreateStreamingDistributionWithTagsResult:
type: object
properties:
StreamingDistribution:
$ref: '#/components/schemas/StreamingDistribution'
Location:
type: string
description: The fully qualified URI of the new streaming distribution resource just created.
ETag:
type: string
description: The current version of the distribution created.
DeleteStreamingDistributionRequest:
type: object
properties:
Id:
type: string
description: The distribution ID.
IfMatch:
type: string
description: 'The value of the ETag header that you received when you disabled the streaming distribution. For example:
E2QWRUHAPOMQZL.'
required:
- Id
GetStreamingDistributionConfigRequest:
type: object
properties:
Id:
type: string
description: The streaming distribution's ID.
required:
- Id
GetStreamingDistributionConfigResult:
type: object
properties:
StreamingDistributionConfig:
$ref: '#/components/schemas/StreamingDistributionConfig'
ETag:
type: string
description: 'The current version of the configuration. For example: E2QWRUHAPOMQZL.'
GetStreamingDistributionRequest:
type: object
properties:
Id:
type: string
description: The streaming distribution's ID.
required:
- Id
GetStreamingDistributionResult:
type: object
properties:
StreamingDistribution:
$ref: '#/components/schemas/StreamingDistribution'
ETag:
type: string
description: 'The current version of the streaming distribution''s information. For example: E2QWRUHAPOMQZL.'
IllegalUpdate:
type: object
properties:
Message:
type: string
InconsistentQuantities:
type: object
properties:
Message:
type: string
InvalidArgument:
type: object
properties:
Message:
type: string
InvalidIfMatchVersion:
type: object
properties:
Message:
type: string
KeyPairIds:
type: object
properties:
Quantity:
type: integer
description: The number of key pair identifiers in the list.
Items:
type: array
items:
type: string
description: A list of CloudFront key pair identifiers.
required:
- Quantity
ListStreamingDistributionsRequest:
type: object
properties:
Marker:
type: string
description: The value that you provided for the Marker request parameter.
MaxItems:
type: integer
description: The value that you provided for the MaxItems request parameter.
ListStreamingDistributionsResult:
type: object
properties:
StreamingDistributionList:
$ref: '#/components/schemas/StreamingDistributionList'
NoSuchStreamingDistribution:
type: object
properties:
Message:
type: string
PreconditionFailed:
type: object
properties:
Message:
type: string
S3Origin:
type: object
properties:
DomainName:
type: string
description: The DNS name of the Amazon S3 origin.
OriginAccessIdentity:
type: string
description: The CloudFront origin access identity to associate with the distribution. Use an origin access identity
to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.
If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify
an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update
the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access
identity, update the distribution configura
required:
- DomainName
- OriginAccessIdentity
Signer:
type: object
properties:
AwsAccountNumber:
type: string
description: An Amazon Web Services account number that contains active CloudFront key pairs that CloudFront can
use to verify the signatures of signed URLs and signed cookies. If the Amazon Web Services account that owns the
key pairs is the same account that owns the CloudFront distribution, the value of this field is self.
KeyPairIds:
$ref: '#/components/schemas/KeyPairIds'
StreamingDistribution:
type: object
properties:
Id:
type: string
description: 'The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.'
ARN:
type: string
description: 'The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5,
where 123456789012 is your Amazon Web Services account ID.'
Status:
type: string
description: The current status of the RTMP distribution. When the status is Deployed, the distribution's information
is propagated to all CloudFront edge locations.
LastModifiedTime:
type: string
format: date-time
description: The date and time that the distribution was last modified.
DomainName:
type: string
description: The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net.
ActiveTrustedSigners:
$ref: '#/components/schemas/ActiveTrustedSigners'
StreamingDistributionConfig:
$ref: '#/components/schemas/StreamingDistributionConfig'
required:
- Id
- ARN
- Status
- DomainName
- ActiveTrustedSigners
- StreamingDistributionConfig
StreamingDistributionConfig:
type: object
properties:
CallerReference:
type: string
description: A unique value (for example, a date-time stamp) that ensures that the request can't be replayed. If
the value of CallerReference is new (regardless of the content of the StreamingDistributionConfig object), CloudFront
creates a new distribution. If CallerReference is a value that you already sent in a previous request to create
a distribution, CloudFront returns a DistributionAlreadyExists error.
S3Origin:
$ref: '#/components/schemas/S3Origin'
Aliases:
$ref: '#/components/schemas/Aliases'
Comment:
type: string
description: Any comments you want to include about the streaming distribution.
Logging:
$ref: '#/components/schemas/StreamingLoggingConfig'
TrustedSigners:
$ref: '#/components/schemas/TrustedSigners'
PriceClass:
type: string
enum:
- PriceClass_100
- PriceClass_200
- PriceClass_All
- None
description: A complex type that contains information about price class for this streaming distribution.
Enabled:
type: boolean
description: Whether the streaming distribution is enabled to accept user requests for content.
required:
- CallerReference
- S3Origin
- Comment
- TrustedSigners
- Enabled
StreamingDistributionConfigWithTags:
type: object
properties:
StreamingDistributionConfig:
$ref: '#/components/schemas/StreamingDistributionConfig'
Tags:
$ref: '#/components/schemas/Tags'
required:
- StreamingDistributionConfig
- Tags
StreamingDistributionList:
type: object
properties:
Marker:
type: string
description: The value you provided for the Marker request parameter.
NextMarker:
type: string
description: If IsTruncated is true, this element is present and contains the value you can use for the Marker request
parameter to continue listing your RTMP distributions where they left off.
MaxItems:
type: integer
description: The value you provided for the MaxItems request parameter.
IsTruncated:
type: boolean
description: A flag that indicates whether more streaming distributions remain to be listed. If your results were
truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions
in the list.
Quantity:
type: integer
description: The number of streaming distributions that were created by the current Amazon Web Services account.
Items:
type: array
items:
$ref: '#/components/schemas/StreamingDistributionSummary'
description: A complex type that contains one StreamingDistributionSummary element for each distribution that was
created by the current Amazon Web Services account.
required:
- Marker
- MaxItems
- IsTruncated
- Quantity
StreamingDistributionNotDisabled:
type: object
properties:
Message:
type: string
StreamingDistributionSummary:
type: object
properties:
Id:
type: string
description: The identifier for the distribution, for example, EDFDVBD632BHDS5.
ARN:
type: string
description: 'The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5,
where 123456789012 is your Amazon Web Services account ID.'
Status:
type: string
description: Indicates the current status of the distribution. When the status is Deployed, the distribution's information
is fully propagated throughout the Amazon CloudFront system.
LastModifiedTime:
type: string
format: date-time
description: The date and time the distribution was last modified.
DomainName:
type: string
description: The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.
S3Origin:
$ref: '#/components/schemas/S3Origin'
Aliases:
$ref: '#/components/schemas/Aliases'
TrustedSigners:
$ref: '#/components/schemas/TrustedSigners'
Comment:
type: string
description: The comment originally specified when this distribution was created.
PriceClass:
type: string
enum:
- PriceClass_100
- PriceClass_200
- PriceClass_All
- None
description: A complex type that contains information about price class for this streaming distribution.
Enabled:
type: boolean
description: Whether the distribution is enabled to accept end user requests for content.
required:
- Id
- ARN
- Status
- LastModifiedTime
- DomainName
- S3Origin
- Aliases
- TrustedSigners
- Comment
- PriceClass
- Enabled
StreamingLoggingConfig:
type: object
properties:
Enabled:
type: boolean
description: Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want
to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming
distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for
Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.
Bucket:
type: string
description: The Amazon S3 bucket to store the access logs in, for example, amzn-s3-demo-bucket.s3.amazonaws.com.
Prefix:
type: string
description: An optional string that you want CloudFront to prefix to the access log filenames for this streaming
distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you
still must include an empty Prefix element in the Logging element.
required:
- Enabled
- Bucket
- Prefix
Tag:
type: object
properties:
Key:
type: string
description: 'A string that contains Tag key. The string length should be between 1 and 128 characters. Valid characters
include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.'
Value:
type: string
description: 'A string that contains an optional Tag value. The string length should be between 0 and 256 characters.
Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.'
required:
- Key
Tags:
type: object
properties:
Items:
type: array
items:
$ref: '#/components/schemas/Tag'
description: A complex type that contains Tag elements.
TrustedSigners:
type: object
properties:
Enabled:
type: boolean
description: This field is true if any of the Amazon Web Services accounts in the list are configured as trusted
signers. If not, this field is false.
Quantity:
type: integer
description: The number of Amazon Web Services accounts in the list.
Items:
type: array
items:
type: string
description: A list of Amazon Web Services account identifiers.
required:
- Enabled
- Quantity
UpdateStreamingDistributionRequest:
type: object
properties:
StreamingDistributionConfig:
$ref: '#/components/schemas/StreamingDistributionConfig'
Id:
type: string
description: The streaming distribution's id.
IfMatch:
type: string
description: 'The value of the ETag header that you received when retrieving the streaming distribution''s configuration.
For example: E2QWRUHAPOMQZL.'
required:
- StreamingDistributionConfig
- Id
UpdateStreamingDistributionResult:
type: object
properties:
StreamingDistribution:
$ref: '#/components/schemas/StreamingDistribution'
ETag:
type: string
description: 'The current version of the configuration. For example: E2QWRUHAPOMQZL.'
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/cloudfront/service/2020-05-31/cloudfront-2020-05-31.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)