openapi: 3.0.0 info: version: '2020-07-14' x-release: v4 title: Amazon Interactive Video Service description: '
Introduction
The Amazon Interactive Video Service (IVS) API is REST compatible, using a standard HTTP API and an Amazon Web Services EventBridge event stream for responses. JSON is used for both requests and responses, including errors.
The API is an Amazon Web Services regional service. For a list of supported regions and Amazon IVS HTTPS service endpoints, see the Amazon IVS page in the Amazon Web Services General Reference.
All API request parameters and URLs are case sensitive.
For a summary of notable documentation changes in each release, see Document History.
Allowed Header Values
Accept: application/json
Accept-Encoding: gzip, deflate
Content-Type:
application/json
Resources
The following resources contain information about your IVS live stream (see Getting Started with Amazon IVS):
Channel — Stores configuration data related to your live stream. You first create a channel and then use the channel’s stream key to start your live stream. See the Channel endpoints for more information.
Stream key — An identifier assigned by Amazon IVS when you create a channel, which is then used to authorize streaming. See the StreamKey endpoints for more information. Treat the stream key like a secret, since it allows anyone to stream to the channel.
Playback key pair — Video playback may be restricted using playback-authorization tokens, which use public-key encryption. A playback key pair is the public-private pair of keys used to sign and validate the playback-authorization token. See the PlaybackKeyPair endpoints for more information.
Recording configuration — Stores configuration related to recording a live stream and where to store the recorded content. Multiple channels can reference the same recording configuration. See the Recording Configuration endpoints for more information.
Tagging
A tag is a metadata label that you assign to an Amazon Web Services resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature
to label a particular video category. See Tagging Amazon Web Services Resources for more information, including restrictions
that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented there.
Tags can help you identify and organize your Amazon Web Services resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags).
The Amazon IVS API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following resources support tagging: Channels, Stream Keys, Playback Key Pairs, and Recording Configurations.
At most 50 tags can be applied to a resource.
Authentication versus Authorization
Note the differences between these concepts:
Authentication is about verifying identity. You need to be authenticated to sign Amazon IVS API requests.
Authorization is about granting permissions. Your IAM roles need to have permissions for Amazon IVS API requests. In addition, authorization is needed to view Amazon IVS private channels. (Private channels are channels that are enabled for "playback authorization.")
Authentication
All Amazon IVS API requests must be authenticated with a signature. The Amazon Web Services Command-Line Interface (CLI) and Amazon IVS Player SDKs take care of signing the underlying API calls for you. However, if your application calls the Amazon IVS API directly, it’s your responsibility to sign the requests.
You generate a signature using valid Amazon Web Services credentials that have permission to perform the requested action. For
example, you must sign PutMetadata requests with a signature generated from a user account that has the ivs:PutMetadata permission.
For more information:
Authentication and generating signatures — See Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon Web Services General Reference.
Managing Amazon IVS permissions — See Identity and Access Management on the Security page of the Amazon IVS User Guide.
Amazon Resource Names (ARNs)
ARNs uniquely identify AWS resources. An ARN is required when you need to specify a resource unambiguously across all of AWS, such as in IAM policies and API calls. For more information, see Amazon Resource Names in the AWS General Reference.
Channel Endpoints
CreateChannel — Creates a new channel and an associated stream key to start streaming.
GetChannel — Gets the channel configuration for the specified channel ARN.
BatchGetChannel — Performs GetChannel on multiple ARNs simultaneously.
ListChannels — Gets summary information about all channels in your account, in the Amazon Web Services region where the API request is processed. This list can be filtered to match a specified name or recording-configuration ARN. Filters are mutually exclusive and cannot be used together. If you try to use both filters, you will get an error (409 Conflict Exception).
UpdateChannel — Updates a channel''s configuration. This does not affect an ongoing stream of this channel. You must stop and restart the stream for the changes to take effect.
DeleteChannel — Deletes the specified channel.
StreamKey Endpoints
CreateStreamKey — Creates a stream key, used to initiate a stream, for the specified channel ARN.
GetStreamKey — Gets stream key information for the specified ARN.
BatchGetStreamKey — Performs GetStreamKey on multiple ARNs simultaneously.
ListStreamKeys — Gets summary information about stream keys for the specified channel.
DeleteStreamKey — Deletes the stream key for the specified ARN, so it can no longer be used to stream.
Stream Endpoints
GetStream — Gets information about the active (live) stream on a specified channel.
GetStreamSession — Gets metadata on a specified stream.
ListStreams — Gets summary information about live streams in your account, in the Amazon Web Services region where the API request is processed.
ListStreamSessions — Gets a summary of current and previous streams for a specified channel in your account, in the AWS region where the API request is processed.
StopStream — Disconnects the incoming RTMPS stream for the specified channel. Can be used in conjunction with DeleteStreamKey to prevent further streaming to a channel.
PutMetadata — Inserts metadata into the active stream of the specified channel. At most 5 requests per second per channel are allowed, each with a maximum 1 KB payload. (If 5 TPS is not sufficient for your needs, we recommend batching your data into a single PutMetadata call.) At most 155 requests per second per account are allowed.
Private Channel Endpoints
For more information, see Setting Up Private Channels in the Amazon IVS User Guide.
ImportPlaybackKeyPair — Imports the public portion of a new key pair and returns its arn and fingerprint.
The privateKey can then be used to generate viewer authorization tokens, to grant viewers access to private channels (channels enabled for playback authorization).
GetPlaybackKeyPair
— Gets a specified playback authorization key pair and returns the arn and fingerprint. The privateKey held by the caller can be used to generate viewer authorization
tokens, to grant viewers access to private channels.
ListPlaybackKeyPairs — Gets summary information about playback key pairs.
DeletePlaybackKeyPair
— Deletes a specified authorization key pair. This invalidates future viewer tokens generated using the key pair’s privateKey.
StartViewerSessionRevocation — Starts the process of revoking the viewer session associated with a specified channel ARN and viewer ID. Optionally, you can provide a version to revoke viewer sessions less than and including that version.
BatchStartViewerSessionRevocation — Performs StartViewerSessionRevocation on multiple channel ARN and viewer ID pairs simultaneously.
RecordingConfiguration Endpoints
CreateRecordingConfiguration — Creates a new recording configuration, used to enable recording to Amazon S3.
GetRecordingConfiguration — Gets the recording-configuration metadata for the specified ARN.
ListRecordingConfigurations — Gets summary information about all recording configurations in your account, in the Amazon Web Services region where the API request is processed.
DeleteRecordingConfiguration — Deletes the recording configuration for the specified ARN.
Amazon Web Services Tags Endpoints
TagResource — Adds or updates tags for the Amazon Web Services resource with the specified ARN.
UntagResource — Removes tags from the resource with the specified ARN.
ListTagsForResource — Gets information about Amazon Web Services tags for the specified ARN.
false.'
type: boolean
insecureIngest:
description: 'Whether the channel allows insecure RTMP ingest. Default: false.'
type: boolean
latencyMode:
description: 'Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. (Note:
In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.) Default: LOW.'
type: string
enum:
- NORMAL
- LOW
name:
description: Channel name.
type: string
pattern: '^[a-zA-Z0-9-_]*$'
minLength: 0
maxLength: 128
preset:
description: 'Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default
preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").'
type: string
enum:
- HIGHER_BANDWIDTH_DELIVERY
- CONSTRAINED_BANDWIDTH_DELIVERY
recordingConfigurationArn:
description: 'Recording-configuration ARN. Default: "" (empty string, recording is disabled).'
type: string
pattern: '^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$'
minLength: 0
maxLength: 128
tags:
description: 'Array of 1-50 maps, each of the form string:string (key:value). See Tagging Amazon Web
Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
type: object
minProperties: 0
maxProperties: 50
additionalProperties:
$ref: '#/components/schemas/TagValue'
type:
description: 'Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately.
Some types generate multiple qualities (renditions) from the original input; this automatically gives viewers the best experience for their devices and network conditions. Some types
provide transcoded video; transcoding allows higher playback quality across a range of download speeds. Default: STANDARD. Valid values:
BASIC:
Video is transmuxed: Amazon IVS delivers the original input quality to viewers. The viewer’s video-quality choice is limited to the original input. Input resolution can be up to 1080p
and bitrate can be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio is passed through.
STANDARD: Video
is transcoded: multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Transcoding allows
higher playback quality across a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above
that, audio is passed through. This is the default when you create a channel.
ADVANCED_SD: Video is transcoded; multiple qualities are generated from
the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps;
output is capped at SD quality (480p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.
ADVANCED_HD: Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices
and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see
below). Audio for all renditions is transcoded, and an audio-only rendition is available.
Optional transcode presets (available for the ADVANCED
types) allow you to trade off available download bandwidth and video quality, to optimize the viewing experience. There are two presets:
Constrained bandwidth delivery uses a lower bitrate for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads)
Higher bandwidth delivery uses a higher bitrate for each quality level. Use it if you have high download bandwidth and/or complex video content (e.g., flashes and quick scene changes).
Creates a new recording configuration, used to enable recording to Amazon S3.
Known issue: In the us-east-1 region, if you use the Amazon Web Services CLI to create
a recording configuration, it returns success even if the S3 bucket is in a different region. In this case, the state of the recording configuration is CREATE_FAILED (instead
of ACTIVE). (In other regions, the CLI correctly returns failure if the bucket is in a different region.)
Workaround: Ensure that your S3 bucket is in the same region as the recording configuration. If you create a recording configuration in a different region as your S3 bucket, delete that recording configuration and create a new one with an S3 bucket from the correct region.
' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateRecordingConfigurationResponse' '480': description: InternalServerException content: application/json: schema: $ref: '#/components/schemas/InternalServerException' '481': description: AccessDeniedException content: application/json: schema: $ref: '#/components/schemas/AccessDeniedException' '482': description: ValidationException content: application/json: schema: $ref: '#/components/schemas/ValidationException' '483': description: PendingVerification content: application/json: schema: $ref: '#/components/schemas/PendingVerification' '484': description: ConflictException content: application/json: schema: $ref: '#/components/schemas/ConflictException' '485': description: ServiceQuotaExceededException content: application/json: schema: $ref: '#/components/schemas/ServiceQuotaExceededException' parameters: [] requestBody: required: true content: application/json: schema: type: object required: - destinationConfiguration properties: destinationConfiguration: description: 'A complex type that describes a location where recorded videos will be stored. Each member represents a type of destination configuration. For recording, you define one and only one type of destination configuration.' type: object properties: s3: allOf: - $ref: '#/components/schemas/S3DestinationConfiguration' - description: An S3 destination configuration where recorded videos will be stored. name: description: Recording-configuration name. The value does not need to be unique. type: string pattern: '^[a-zA-Z0-9-_]*$' minLength: 0 maxLength: 128 recordingReconnectWindowSeconds: description: 'If a broadcast disconnects and then reconnects within the specified interval, the multiple streams will be considered a single broadcast and merged together. Default: 0.' type: integer minimum: 0 maximum: 300 renditionConfiguration: description: Object that describes which renditions should be recorded for a stream. type: object properties: renditionSelection: allOf: - $ref: '#/components/schemas/RenditionConfigurationRenditionSelection' - description: 'Indicates which set of renditions are recorded for a stream. ForBASIC channels, the CUSTOM value has no effect. If CUSTOM is
specified, a set of renditions must be specified in the renditions field. Default: ALL.'
renditions:
allOf:
- $ref: '#/components/schemas/RenditionConfigurationRenditionList'
- description: 'Indicates which renditions are recorded for a stream, if renditionSelection is CUSTOM; otherwise, this field is irrelevant. The selected renditions
are recorded if they are available during the stream. If a selected rendition is unavailable, the best available rendition is recorded. For details on the resolution dimensions
of each rendition, see Auto-Record to Amazon S3.'
tags:
description: 'Array of 1-50 maps, each of the form string:string (key:value). See Tagging Amazon Web
Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
type: object
minProperties: 0
maxProperties: 50
additionalProperties:
$ref: '#/components/schemas/TagValue'
thumbnailConfiguration:
description: An object representing a configuration of thumbnails for recorded video.
type: object
properties:
recordingMode:
allOf:
- $ref: '#/components/schemas/RecordingMode'
- description: 'Thumbnail recording mode. Default: INTERVAL.'
resolution:
allOf:
- $ref: '#/components/schemas/ThumbnailConfigurationResolution'
- description: 'Indicates the desired resolution of recorded thumbnails. Thumbnails are recorded at the selected resolution if the corresponding rendition is available during the stream;
otherwise, they are recorded at source resolution. For more information about resolution values and their corresponding height and width dimensions, see Auto-Record
to Amazon S3. Default: Null (source resolution is returned).'
storage:
allOf:
- $ref: '#/components/schemas/ThumbnailConfigurationStorageList'
- description: 'Indicates the format in which thumbnails are recorded. SEQUENTIAL records all generated thumbnails in a serial manner, to the media/thumbnails directory.
LATEST saves the latest thumbnail in media/latest_thumbnail/thumb.jpg and overwrites it at the interval specified by targetIntervalSeconds. You can enable
both SEQUENTIAL and LATEST. Default: SEQUENTIAL.'
targetIntervalSeconds:
allOf:
- $ref: '#/components/schemas/TargetIntervalSeconds'
- description: 'The targeted thumbnail-generation interval in seconds. This is configurable (and required) only if recordingMode is INTERVAL. Default:
60.
Important: For the BASIC channel type, setting a value for targetIntervalSeconds does not guarantee that thumbnails are generated at
the specified interval. For thumbnails to be generated at the targetIntervalSeconds interval, the IDR/Keyframe value for the input video must be less
than the targetIntervalSeconds value. See Amazon IVS Streaming Configuration
for information on setting IDR/Keyframe to the recommended value in video-encoder settings.
Creates a stream key, used to initiate a stream, for the specified channel ARN.
Note that CreateChannel creates a stream key. If you subsequently use CreateStreamKey on the same channel, it will fail because a stream key already exists and there is a limit of 1 stream key per channel. To reset the stream key on a channel, use DeleteStreamKey and then CreateStreamKey.
' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateStreamKeyResponse' '480': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '481': description: AccessDeniedException content: application/json: schema: $ref: '#/components/schemas/AccessDeniedException' '482': description: ValidationException content: application/json: schema: $ref: '#/components/schemas/ValidationException' '483': description: PendingVerification content: application/json: schema: $ref: '#/components/schemas/PendingVerification' '484': description: ServiceQuotaExceededException content: application/json: schema: $ref: '#/components/schemas/ServiceQuotaExceededException' parameters: [] requestBody: required: true content: application/json: schema: type: object required: - channelArn properties: channelArn: description: ARN of the channel for which to create the stream key. type: string pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$' minLength: 1 maxLength: 128 tags: description: 'Array of 1-50 maps, each of the formstring:string (key:value). See Tagging Amazon Web
Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
type: object
minProperties: 0
maxProperties: 50
additionalProperties:
$ref: '#/components/schemas/TagValue'
summary: Amazon Interactive Video Service Create Stream Key
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/DeleteChannel:
post:
operationId: DeleteChannel
description: 'Deletes the specified channel and its associated stream keys.
If you try to delete a live channel, you will get an error (409 ConflictException). To delete a channel that is live, call StopStream, wait for the Amazon EventBridge "Stream End" event (to verify that the stream''s state is no longer Live), then call DeleteChannel. (See Using EventBridge with Amazon IVS.)
' responses: '204': description: Success '480': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '481': description: AccessDeniedException content: application/json: schema: $ref: '#/components/schemas/AccessDeniedException' '482': description: ValidationException content: application/json: schema: $ref: '#/components/schemas/ValidationException' '483': description: PendingVerification content: application/json: schema: $ref: '#/components/schemas/PendingVerification' '484': description: ConflictException content: application/json: schema: $ref: '#/components/schemas/ConflictException' parameters: [] requestBody: required: true content: application/json: schema: type: object required: - arn properties: arn: description: ARN of the channel to be deleted. type: string pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$' minLength: 1 maxLength: 128 summary: Amazon Interactive Video Service Delete Channel x-microcks-operation: delay: 0 dispatcher: FALLBACK parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' /DeletePlaybackKeyPair: post: operationId: DeletePlaybackKeyPair description: 'Deletes a specified authorization key pair. This invalidates future viewer tokens generated using the key pair’sprivateKey. For more information, see Setting
Up Private Channels in the Amazon IVS User Guide.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeletePlaybackKeyPairResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'483':
description: PendingVerification
content:
application/json:
schema:
$ref: '#/components/schemas/PendingVerification'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- arn
properties:
arn:
description: ARN of the key pair to be deleted.
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:playback-key/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
summary: Amazon Interactive Video Service Delete Playback Key Pair
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/DeleteRecordingConfiguration:
post:
operationId: DeleteRecordingConfiguration
description: 'Deletes the recording configuration for the specified ARN.
If you try to delete a recording configuration that is associated with a channel, you will get an error (409 ConflictException).
To avoid this, for all channels that reference the recording configuration, first use UpdateChannel to set the recordingConfigurationArn field to an empty string, then use DeleteRecordingConfiguration.
arn and fingerprint. The privateKey held by the caller can be used to generate
viewer authorization tokens, to grant viewers access to private channels. For more information, see Setting Up Private
Channels in the Amazon IVS User Guide.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetPlaybackKeyPairResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- arn
properties:
arn:
description: ARN of the key pair to be returned.
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:playback-key/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
summary: Amazon Interactive Video Service Get Playback Key Pair
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/GetRecordingConfiguration:
post:
operationId: GetRecordingConfiguration
description: Gets the recording configuration for the specified ARN.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetRecordingConfigurationResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'482':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'483':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- arn
properties:
arn:
description: ARN of the recording configuration to be retrieved.
type: string
pattern: '^arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$'
minLength: 0
maxLength: 128
summary: Amazon Interactive Video Service Get Recording Configuration
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/GetStream:
post:
operationId: GetStream
description: Gets information about the active (live) stream on a specified channel.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetStreamResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'483':
description: ChannelNotBroadcasting
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelNotBroadcasting'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- channelArn
properties:
channelArn:
description: Channel ARN for stream to be accessed.
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
summary: Amazon Interactive Video Service Get Stream
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/GetStreamKey:
post:
operationId: GetStreamKey
description: Gets stream-key information for a specified ARN.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetStreamKeyResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- arn
properties:
arn:
description: ARN for the stream key to be retrieved.
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:stream-key/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
summary: Amazon Interactive Video Service Get Stream Key
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/GetStreamSession:
post:
operationId: GetStreamSession
description: Gets metadata on a specified stream.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetStreamSessionResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- channelArn
properties:
channelArn:
description: ARN of the channel resource
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
streamId:
description: 'Unique identifier for a live or previously live stream in the specified channel. If no streamId is provided, this returns the most recent stream session for
the channel, if it exists.'
type: string
pattern: '^st-[a-zA-Z0-9]+$'
minLength: 26
maxLength: 26
summary: Amazon Interactive Video Service Get Stream Session
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/ImportPlaybackKeyPair:
post:
operationId: ImportPlaybackKeyPair
description: 'Imports the public portion of a new key pair and returns its arn and fingerprint. The privateKey can then be used to generate viewer authorization
tokens, to grant viewers access to private channels. For more information, see Setting Up Private Channels in
the Amazon IVS User Guide.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ImportPlaybackKeyPairResponse'
'480':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'481':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'482':
description: PendingVerification
content:
application/json:
schema:
$ref: '#/components/schemas/PendingVerification'
'483':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'484':
description: ServiceQuotaExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceQuotaExceededException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- publicKeyMaterial
properties:
name:
description: Playback-key-pair name. The value does not need to be unique.
type: string
pattern: '^[a-zA-Z0-9-_]*$'
minLength: 0
maxLength: 128
publicKeyMaterial:
description: The public portion of a customer-generated key pair.
type: string
tags:
description: 'Any tags provided with the request are added to the playback key pair tags. See Tagging Amazon Web
Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
type: object
minProperties: 0
maxProperties: 50
additionalProperties:
$ref: '#/components/schemas/TagValue'
summary: Amazon Interactive Video Service Import Playback Key Pair
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/ListChannels:
post:
operationId: ListChannels
description: 'Gets summary information about all channels in your account, in the Amazon Web Services region where the API request is processed. This list can be filtered to match a specified name
or recording-configuration ARN. Filters are mutually exclusive and cannot be used together. If you try to use both filters, you will get an error (409 ConflictException).'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListChannelsResponse'
'480':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'481':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'482':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
parameters:
- name: maxResults
in: query
schema:
type: string
description: Pagination limit
required: false
- name: nextToken
in: query
schema:
type: string
description: Pagination token
required: false
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
filterByName:
description: Filters the channel list to match the specified name.
type: string
pattern: '^[a-zA-Z0-9-_]*$'
minLength: 0
maxLength: 128
filterByRecordingConfigurationArn:
description: Filters the channel list to match the specified recording-configuration ARN.
type: string
pattern: '^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$'
minLength: 0
maxLength: 128
maxResults:
description: 'Maximum number of channels to return. Default: 100.'
type: integer
minimum: 1
maximum: 100
nextToken:
description: The first channel to retrieve. This is used for pagination; see the nextToken response field.
type: string
pattern: '^[a-zA-Z0-9+/=_-]*$'
minLength: 0
maxLength: 1024
summary: Amazon Interactive Video Service List Channels
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/ListPlaybackKeyPairs:
post:
operationId: ListPlaybackKeyPairs
description: 'Gets summary information about playback key pairs. For more information, see Setting Up Private Channels
in the Amazon IVS User Guide.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListPlaybackKeyPairsResponse'
'480':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'481':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters:
- name: maxResults
in: query
schema:
type: string
description: Pagination limit
required: false
- name: nextToken
in: query
schema:
type: string
description: Pagination token
required: false
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
maxResults:
description: 'Maximum number of key pairs to return. Default: your service quota or 100, whichever is smaller.'
type: integer
minimum: 1
maximum: 100
nextToken:
description: The first key pair to retrieve. This is used for pagination; see the nextToken response field.
type: string
pattern: '^[a-zA-Z0-9+/=_-]*$'
minLength: 0
maxLength: 1024
summary: Amazon Interactive Video Service List Playback Key Pairs
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/ListRecordingConfigurations:
post:
operationId: ListRecordingConfigurations
description: 'Gets summary information about all recording configurations in your account, in the Amazon Web Services region where the API request is processed.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListRecordingConfigurationsResponse'
'480':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters:
- name: maxResults
in: query
schema:
type: string
description: Pagination limit
required: false
- name: nextToken
in: query
schema:
type: string
description: Pagination token
required: false
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
maxResults:
description: 'Maximum number of recording configurations to return. Default: your service quota or 100, whichever is smaller. '
type: integer
minimum: 1
maximum: 100
nextToken:
description: The first recording configuration to retrieve. This is used for pagination; see the nextToken response field.
type: string
pattern: '^[a-zA-Z0-9+/=_-]*$'
minLength: 0
maxLength: 1024
summary: Amazon Interactive Video Service List Recording Configurations
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/ListStreamKeys:
post:
operationId: ListStreamKeys
description: Gets summary information about stream keys for the specified channel.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListStreamKeysResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters:
- name: maxResults
in: query
schema:
type: string
description: Pagination limit
required: false
- name: nextToken
in: query
schema:
type: string
description: Pagination token
required: false
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- channelArn
properties:
channelArn:
description: Channel ARN used to filter the list.
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
maxResults:
description: 'Maximum number of streamKeys to return. Default: 1.'
type: integer
minimum: 1
maximum: 50
nextToken:
description: The first stream key to retrieve. This is used for pagination; see the nextToken response field.
type: string
pattern: '^[a-zA-Z0-9+/=_-]*$'
minLength: 0
maxLength: 1024
summary: Amazon Interactive Video Service List Stream Keys
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/ListStreamSessions:
post:
operationId: ListStreamSessions
description: 'Gets a summary of current and previous streams for a specified channel in your account, in the AWS region where the API request is processed.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListStreamSessionsResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters:
- name: maxResults
in: query
schema:
type: string
description: Pagination limit
required: false
- name: nextToken
in: query
schema:
type: string
description: Pagination token
required: false
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- channelArn
properties:
channelArn:
description: Channel ARN used to filter the list.
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
maxResults:
description: 'Maximum number of streams to return. Default: 100.'
type: integer
minimum: 1
maximum: 100
nextToken:
description: The first stream to retrieve. This is used for pagination; see the nextToken response field.
type: string
pattern: '^[a-zA-Z0-9+/=_-]*$'
minLength: 0
maxLength: 1024
summary: Amazon Interactive Video Service List Stream Sessions
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/ListStreams:
post:
operationId: ListStreams
description: 'Gets summary information about live streams in your account, in the Amazon Web Services region where the API request is processed.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListStreamsResponse'
'480':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'481':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters:
- name: maxResults
in: query
schema:
type: string
description: Pagination limit
required: false
- name: nextToken
in: query
schema:
type: string
description: Pagination token
required: false
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
filterBy:
description: Object specifying the stream attribute on which to filter.
type: object
properties:
health:
allOf:
- $ref: '#/components/schemas/StreamHealth'
- description: The stream’s health.
maxResults:
description: 'Maximum number of streams to return. Default: 100.'
type: integer
minimum: 1
maximum: 100
nextToken:
description: The first stream to retrieve. This is used for pagination; see the nextToken response field.
type: string
pattern: '^[a-zA-Z0-9+/=_-]*$'
minLength: 0
maxLength: 1024
summary: Amazon Interactive Video Service List Streams
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
'/tags/{resourceArn}':
get:
operationId: ListTagsForResource
description: Gets information about Amazon Web Services tags for the specified ARN.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListTagsForResourceResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters:
- name: resourceArn
in: path
required: true
description: The ARN of the resource to be retrieved. The ARN must be URL-encoded.
schema:
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
summary: Amazon Interactive Video Service List Tags for Resource
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
post:
operationId: TagResource
description: Adds or updates tags for the Amazon Web Services resource with the specified ARN.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TagResourceResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
parameters:
- name: resourceArn
in: path
required: true
description: ARN of the resource for which tags are to be added or updated. The ARN must be URL-encoded.
schema:
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- tags
properties:
tags:
description: 'Array of tags to be added or updated. Array of maps, each of the form string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints
beyond what is documented there.'
type: object
minProperties: 0
maxProperties: 50
additionalProperties:
$ref: '#/components/schemas/TagValue'
summary: Amazon Interactive Video Service Tag Resource
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/PutMetadata:
post:
operationId: PutMetadata
description: 'Inserts metadata into the active stream of the specified channel. At most 5 requests per second per channel are allowed, each with a maximum 1 KB payload. (If 5 TPS is not sufficient
for your needs, we recommend batching your data into a single PutMetadata call.) At most 155 requests per second per account are allowed. Also see Embedding
Metadata within a Video Stream in the Amazon IVS User Guide.'
responses:
'204':
description: Success
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'483':
description: ChannelNotBroadcasting
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelNotBroadcasting'
'484':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- channelArn
- metadata
properties:
channelArn:
description: ARN of the channel into which metadata is inserted. This channel must have an active stream.
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
metadata:
description: 'Metadata to insert into the stream. Maximum: 1 KB per request.'
type: string
minLength: 1
format: password
summary: Amazon Interactive Video Service Put Metadata
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/StartViewerSessionRevocation:
post:
operationId: StartViewerSessionRevocation
description: 'Starts the process of revoking the viewer session associated with a specified channel ARN and viewer ID. Optionally, you can provide a version to revoke viewer sessions less than and
including that version. For instructions on associating a viewer ID with a viewer session, see Setting Up Private
Channels.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/StartViewerSessionRevocationResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'482':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'483':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'484':
description: PendingVerification
content:
application/json:
schema:
$ref: '#/components/schemas/PendingVerification'
'485':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- channelArn
- viewerId
properties:
channelArn:
description: The ARN of the channel associated with the viewer session to revoke.
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
viewerId:
description: 'The ID of the viewer associated with the viewer session to revoke. Do not use this field for personally identifying, confidential, or sensitive information.'
type: string
minLength: 1
maxLength: 40
viewerSessionVersionsLessThanOrEqualTo:
description: 'An optional filter on which versions of the viewer session to revoke. All versions less than or equal to the specified version will be revoked. Default: 0.'
type: integer
minimum: 0
summary: Amazon Interactive Video Service Start Viewer Session Revocation
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/StopStream:
post:
operationId: StopStream
description: 'Disconnects the incoming RTMPS stream for the specified channel. Can be used in conjunction with DeleteStreamKey to prevent further streaming to a channel.
Many
streaming client-software libraries automatically reconnect a dropped RTMPS session, so to stop the stream permanently, you may want to first revoke the streamKey attached to the channel.
tring:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
schema:
type: array
items:
$ref: '#/components/schemas/TagKey'
minItems: 0
maxItems: 50
summary: Amazon Interactive Video Service Untag Resource
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
/UpdateChannel:
post:
operationId: UpdateChannel
description: 'Updates a channel''s configuration. Live channels cannot be updated. You must stop the ongoing stream, update the channel, and restart the stream for the changes to take effect.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateChannelResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'483':
description: PendingVerification
content:
application/json:
schema:
$ref: '#/components/schemas/PendingVerification'
'484':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- arn
properties:
arn:
description: ARN of the channel to be updated.
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
authorized:
description: Whether the channel is private (enabled for playback authorization).
type: boolean
insecureIngest:
description: 'Whether the channel allows insecure RTMP ingest. Default: false.'
type: boolean
latencyMode:
description: 'Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. (Note:
In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)'
type: string
enum:
- NORMAL
- LOW
name:
description: Channel name.
type: string
pattern: '^[a-zA-Z0-9-_]*$'
minLength: 0
maxLength: 128
preset:
description: 'Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default
preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").'
type: string
enum:
- HIGHER_BANDWIDTH_DELIVERY
- CONSTRAINED_BANDWIDTH_DELIVERY
recordingConfigurationArn:
description: 'Recording-configuration ARN. If this is set to an empty string, recording is disabled. A value other than an empty string indicates that recording is enabled'
type: string
pattern: '^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$'
minLength: 0
maxLength: 128
type:
description: 'Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately.
Some types generate multiple qualities (renditions) from the original input; this automatically gives viewers the best experience for their devices and network conditions. Some types
provide transcoded video; transcoding allows higher playback quality across a range of download speeds. Default: STANDARD. Valid values:
BASIC:
Video is transmuxed: Amazon IVS delivers the original input quality to viewers. The viewer’s video-quality choice is limited to the original input. Input resolution can be up to 1080p
and bitrate can be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio is passed through.
STANDARD: Video
is transcoded: multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Transcoding allows
higher playback quality across a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above
that, audio is passed through. This is the default when you create a channel.
ADVANCED_SD: Video is transcoded; multiple qualities are generated from
the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps;
output is capped at SD quality (480p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.
ADVANCED_HD: Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices
and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see
below). Audio for all renditions is transcoded, and an audio-only rendition is available.
Optional transcode presets (available for the ADVANCED
types) allow you to trade off available download bandwidth and video quality, to optimize the viewing experience. There are two presets:
Constrained bandwidth delivery uses a lower bitrate for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads)
Higher bandwidth delivery uses a higher bitrate for each quality level. Use it if you have high download bandwidth and/or complex video content (e.g., flashes and quick scene changes).
channelArn and viewerId pair in the request.
BatchStartViewerSessionRevocationViewerSession:
type: object
required:
- channelArn
- viewerId
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: The ARN of the channel associated with the viewer session to revoke.
viewerId:
allOf:
- $ref: '#/components/schemas/ViewerId'
- description: 'The ID of the viewer associated with the viewer session to revoke. Do not use this field for personally identifying, confidential, or sensitive information.'
viewerSessionVersionsLessThanOrEqualTo:
allOf:
- $ref: '#/components/schemas/ViewerSessionVersion'
- description: 'An optional filter on which versions of the viewer session to revoke. All versions less than or equal to the specified version will be revoked. Default: 0.'
description: A viewer session to revoke in the call to BatchStartViewerSessionRevocation.
AccessDeniedException: {}
ValidationException: {}
PendingVerification: {}
ThrottlingException: {}
CreateChannelResponse:
type: object
properties:
channel:
allOf:
- $ref: '#/components/schemas/Channel'
- description:
streamKey:
allOf:
- $ref: '#/components/schemas/StreamKey'
- description:
TagValue:
type: string
minLength: 0
maxLength: 256
ResourceNotFoundException: {}
ServiceQuotaExceededException: {}
CreateRecordingConfigurationResponse:
type: object
properties:
recordingConfiguration:
allOf:
- $ref: '#/components/schemas/RecordingConfiguration'
- description: maxResults, use nextToken in the request to get the next set.'
ListPlaybackKeyPairsResponse:
type: object
required:
- keyPairs
properties:
keyPairs:
allOf:
- $ref: '#/components/schemas/PlaybackKeyPairList'
- description: List of key pairs.
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: 'If there are more key pairs than maxResults, use nextToken in the request to get the next set.'
ListRecordingConfigurationsResponse:
type: object
required:
- recordingConfigurations
properties:
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: 'If there are more recording configurations than maxResults, use nextToken in the request to get the next set.'
recordingConfigurations:
allOf:
- $ref: '#/components/schemas/RecordingConfigurationList'
- description: List of the matching recording configurations.
ListStreamKeysResponse:
type: object
required:
- streamKeys
properties:
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: 'If there are more stream keys than maxResults, use nextToken in the request to get the next set.'
streamKeys:
allOf:
- $ref: '#/components/schemas/StreamKeyList'
- description: List of stream keys.
ListStreamSessionsResponse:
type: object
required:
- streamSessions
properties:
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: 'If there are more streams than maxResults, use nextToken in the request to get the next set.'
streamSessions:
allOf:
- $ref: '#/components/schemas/StreamSessionList'
- description: List of stream sessions.
ListStreamsResponse:
type: object
required:
- streams
properties:
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: 'If there are more streams than maxResults, use nextToken in the request to get the next set.'
streams:
allOf:
- $ref: '#/components/schemas/StreamList'
- description: List of streams.
StreamHealth:
type: string
enum:
- HEALTHY
- STARVING
- UNKNOWN
ListTagsForResourceResponse:
type: object
required:
- tags
properties:
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Tags attached to the resource. Array of maps, each of the form string:string (key:value).'
StartViewerSessionRevocationResponse:
type: object
properties: {}
StopStreamResponse:
type: object
properties: {}
StreamUnavailable: {}
TagResourceResponse:
type: object
properties: {}
UntagResourceResponse:
type: object
properties: {}
TagKey:
type: string
minLength: 1
maxLength: 128
UpdateChannelResponse:
type: object
properties:
channel:
$ref: '#/components/schemas/Channel'
Integer:
type: integer
String:
type: string
AudioConfiguration:
type: object
properties:
channels:
allOf:
- $ref: '#/components/schemas/Integer'
- description: Number of audio channels.
codec:
allOf:
- $ref: '#/components/schemas/String'
- description: Codec used for the audio encoding.
sampleRate:
allOf:
- $ref: '#/components/schemas/Integer'
- description: Number of audio samples recorded per second.
targetBitrate:
allOf:
- $ref: '#/components/schemas/Integer'
- description: The expected ingest bitrate (bits per second). This is configured in the encoder.
description: 'Object specifying a stream’s audio configuration, as set up by the broadcaster (usually in an encoder). This is part of the IngestConfiguration object and used for monitoring
stream health.'
ResourceArn:
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
errorCode:
type: string
errorMessage:
type: string
BatchError:
type: object
properties:
arn:
allOf:
- $ref: '#/components/schemas/ResourceArn'
- description: Channel ARN.
code:
allOf:
- $ref: '#/components/schemas/errorCode'
- description: Error code.
message:
allOf:
- $ref: '#/components/schemas/errorMessage'
- description: 'Error message, determined by the application.'
description: 'Error related to a specific channel, specified by its ARN.'
BatchErrors:
type: array
items:
$ref: '#/components/schemas/BatchError'
ChannelArnList:
type: array
items:
$ref: '#/components/schemas/ChannelArn'
minItems: 1
maxItems: 50
BatchGetChannelRequest:
type: object
required:
- arns
title: BatchGetChannelRequest
properties:
arns:
allOf:
- $ref: '#/components/schemas/ChannelArnList'
- description: 'Array of ARNs, one per channel.'
Channels:
type: array
items:
$ref: '#/components/schemas/Channel'
StreamKeyArnList:
type: array
items:
$ref: '#/components/schemas/StreamKeyArn'
minItems: 1
maxItems: 50
BatchGetStreamKeyRequest:
type: object
required:
- arns
title: BatchGetStreamKeyRequest
properties:
arns:
allOf:
- $ref: '#/components/schemas/StreamKeyArnList'
- description: 'Array of ARNs, one per stream key.'
StreamKeys:
type: array
items:
$ref: '#/components/schemas/StreamKey'
ViewerId:
type: string
minLength: 1
maxLength: 40
BatchStartViewerSessionRevocationError:
type: object
required:
- channelArn
- viewerId
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: Channel ARN.
code:
allOf:
- $ref: '#/components/schemas/errorCode'
- description: Error code.
message:
allOf:
- $ref: '#/components/schemas/errorMessage'
- description: 'Error message, determined by the application.'
viewerId:
allOf:
- $ref: '#/components/schemas/ViewerId'
- description: The ID of the viewer session to revoke.
description: Error for a request in the batch for BatchStartViewerSessionRevocation. Each error is related to a specific channel-ARN and viewer-ID pair.
BatchStartViewerSessionRevocationErrors:
type: array
items:
$ref: '#/components/schemas/BatchStartViewerSessionRevocationError'
BatchStartViewerSessionRevocationViewerSessionList:
type: array
items:
$ref: '#/components/schemas/BatchStartViewerSessionRevocationViewerSession'
minItems: 1
maxItems: 20
BatchStartViewerSessionRevocationRequest:
type: object
required:
- viewerSessions
title: BatchStartViewerSessionRevocationRequest
properties:
viewerSessions:
allOf:
- $ref: '#/components/schemas/BatchStartViewerSessionRevocationViewerSessionList'
- description: 'Array of viewer sessions, one per channel-ARN and viewer-ID pair.'
ViewerSessionVersion:
type: integer
minimum: 0
Boolean:
type: boolean
IsAuthorized:
type: boolean
IngestEndpoint:
type: string
InsecureIngest:
type: boolean
ChannelLatencyMode:
type: string
enum:
- NORMAL
- LOW
ChannelName:
type: string
pattern: '^[a-zA-Z0-9-_]*$'
minLength: 0
maxLength: 128
PlaybackURL:
type: string
TranscodePreset:
type: string
enum:
- HIGHER_BANDWIDTH_DELIVERY
- CONSTRAINED_BANDWIDTH_DELIVERY
ChannelRecordingConfigurationArn:
type: string
pattern: '^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$'
minLength: 0
maxLength: 128
Tags:
type: object
minProperties: 0
maxProperties: 50
additionalProperties:
$ref: '#/components/schemas/TagValue'
ChannelType:
type: string
enum:
- BASIC
- STANDARD
- ADVANCED_SD
- ADVANCED_HD
Channel:
type: object
properties:
arn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: Channel ARN.
authorized:
allOf:
- $ref: '#/components/schemas/IsAuthorized'
- description: 'Whether the channel is private (enabled for playback authorization). Default: false.'
ingestEndpoint:
allOf:
- $ref: '#/components/schemas/IngestEndpoint'
- description: 'Channel ingest endpoint, part of the definition of an ingest server, used when you set up streaming software.'
insecureIngest:
allOf:
- $ref: '#/components/schemas/InsecureIngest'
- description: 'Whether the channel allows insecure RTMP ingest. Default: false.'
latencyMode:
allOf:
- $ref: '#/components/schemas/ChannelLatencyMode'
- description: 'Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW.
(Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)'
name:
allOf:
- $ref: '#/components/schemas/ChannelName'
- description: Channel name.
playbackUrl:
allOf:
- $ref: '#/components/schemas/PlaybackURL'
- description: Channel playback URL.
preset:
allOf:
- $ref: '#/components/schemas/TranscodePreset'
- description: 'Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default
preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").'
recordingConfigurationArn:
allOf:
- $ref: '#/components/schemas/ChannelRecordingConfigurationArn'
- description: 'Recording-configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (empty string, recording is disabled).'
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Tags attached to the resource. Array of 1-50 maps, each of the form string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
type:
allOf:
- $ref: '#/components/schemas/ChannelType'
- description: 'Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately.
Some types generate multiple qualities (renditions) from the original input; this automatically gives viewers the best experience for their devices and network conditions. Some types provide
transcoded video; transcoding allows higher playback quality across a range of download speeds. Default: STANDARD. Valid values:
BASIC: Video is
transmuxed: Amazon IVS delivers the original input quality to viewers. The viewer’s video-quality choice is limited to the original input. Input resolution can be up to 1080p and bitrate can
be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio is passed through.
STANDARD: Video is transcoded: multiple
qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Transcoding allows higher playback quality across
a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above that, audio is passed through. This
is the default when you create a channel.
ADVANCED_SD: Video is transcoded; multiple qualities are generated from the original input, to automatically give
viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality (480p). You can
select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.
ADVANCED_HD: Video is transcoded;
multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and
bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition
is available.
Optional transcode presets (available for the ADVANCED types) allow you to trade off available download bandwidth and video quality, to
optimize the viewing experience. There are two presets:
Constrained bandwidth delivery uses a lower bitrate for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads)
Higher bandwidth delivery uses a higher bitrate for each quality level. Use it if you have high download bandwidth and/or complex video content (e.g., flashes and quick scene changes).
false.'
insecureIngest:
allOf:
- $ref: '#/components/schemas/InsecureIngest'
- description: 'Whether the channel allows insecure RTMP ingest. Default: false.'
latencyMode:
allOf:
- $ref: '#/components/schemas/ChannelLatencyMode'
- description: 'Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW.
(Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)'
name:
allOf:
- $ref: '#/components/schemas/ChannelName'
- description: Channel name.
preset:
allOf:
- $ref: '#/components/schemas/TranscodePreset'
- description: 'Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default
preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").'
recordingConfigurationArn:
allOf:
- $ref: '#/components/schemas/ChannelRecordingConfigurationArn'
- description: 'Recording-configuration ARN. A value other than an empty string indicates that recording is enabled. Default: "" (empty string, recording is disabled).'
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Tags attached to the resource. Array of 1-50 maps, each of the form string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
type:
allOf:
- $ref: '#/components/schemas/ChannelType'
- description: 'Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately.
Some types generate multiple qualities (renditions) from the original input; this automatically gives viewers the best experience for their devices and network conditions. Some types provide
transcoded video; transcoding allows higher playback quality across a range of download speeds. Default: STANDARD. Valid values:
BASIC: Video is
transmuxed: Amazon IVS delivers the original input quality to viewers. The viewer’s video-quality choice is limited to the original input. Input resolution can be up to 1080p and bitrate can
be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio is passed through.
STANDARD: Video is transcoded: multiple
qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Transcoding allows higher playback quality across
a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above that, audio is passed through. This
is the default when you create a channel.
ADVANCED_SD: Video is transcoded; multiple qualities are generated from the original input, to automatically give
viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality (480p). You can
select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.
ADVANCED_HD: Video is transcoded;
multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and
bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition
is available.
Optional transcode presets (available for the ADVANCED types) allow you to trade off available download bandwidth and video quality, to
optimize the viewing experience. There are two presets:
Constrained bandwidth delivery uses a lower bitrate for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads)
Higher bandwidth delivery uses a higher bitrate for each quality level. Use it if you have high download bandwidth and/or complex video content (e.g., flashes and quick scene changes).
false.'
insecureIngest:
allOf:
- $ref: '#/components/schemas/Boolean'
- description: 'Whether the channel allows insecure RTMP ingest. Default: false.'
latencyMode:
allOf:
- $ref: '#/components/schemas/ChannelLatencyMode'
- description: 'Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the
Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.) Default: LOW.'
name:
allOf:
- $ref: '#/components/schemas/ChannelName'
- description: Channel name.
preset:
allOf:
- $ref: '#/components/schemas/TranscodePreset'
- description: 'Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default
preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").'
recordingConfigurationArn:
allOf:
- $ref: '#/components/schemas/ChannelRecordingConfigurationArn'
- description: 'Recording-configuration ARN. Default: "" (empty string, recording is disabled).'
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Array of 1-50 maps, each of the form string:string (key:value). See Tagging Amazon Web Services
Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented
there.'
type:
allOf:
- $ref: '#/components/schemas/ChannelType'
- description: 'Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately.
Some types generate multiple qualities (renditions) from the original input; this automatically gives viewers the best experience for their devices and network conditions. Some types provide
transcoded video; transcoding allows higher playback quality across a range of download speeds. Default: STANDARD. Valid values:
BASIC: Video is
transmuxed: Amazon IVS delivers the original input quality to viewers. The viewer’s video-quality choice is limited to the original input. Input resolution can be up to 1080p and bitrate can
be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio is passed through.
STANDARD: Video is transcoded: multiple
qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Transcoding allows higher playback quality across
a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above that, audio is passed through. This
is the default when you create a channel.
ADVANCED_SD: Video is transcoded; multiple qualities are generated from the original input, to automatically give
viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality (480p). You can
select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.
ADVANCED_HD: Video is transcoded;
multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and
bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition
is available.
Optional transcode presets (available for the ADVANCED types) allow you to trade off available download bandwidth and video quality, to
optimize the viewing experience. There are two presets:
Constrained bandwidth delivery uses a lower bitrate for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads)
Higher bandwidth delivery uses a higher bitrate for each quality level. Use it if you have high download bandwidth and/or complex video content (e.g., flashes and quick scene changes).
string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
value:
allOf:
- $ref: '#/components/schemas/StreamKeyValue'
- description: Stream-key value.
description: Object specifying a stream key.
DestinationConfiguration:
type: object
properties:
s3:
allOf:
- $ref: '#/components/schemas/S3DestinationConfiguration'
- description: An S3 destination configuration where recorded videos will be stored.
description: 'A complex type that describes a location where recorded videos will be stored. Each member represents a type of destination configuration. For recording, you define one and only one
type of destination configuration.'
RecordingConfigurationName:
type: string
pattern: '^[a-zA-Z0-9-_]*$'
minLength: 0
maxLength: 128
RecordingReconnectWindowSeconds:
type: integer
minimum: 0
maximum: 300
RenditionConfiguration:
type: object
properties:
renditionSelection:
allOf:
- $ref: '#/components/schemas/RenditionConfigurationRenditionSelection'
- description: 'Indicates which set of renditions are recorded for a stream. For BASIC channels, the CUSTOM value has no effect. If CUSTOM is specified,
a set of renditions must be specified in the renditions field. Default: ALL.'
renditions:
allOf:
- $ref: '#/components/schemas/RenditionConfigurationRenditionList'
- description: 'Indicates which renditions are recorded for a stream, if renditionSelection is CUSTOM; otherwise, this field is irrelevant. The selected renditions are
recorded if they are available during the stream. If a selected rendition is unavailable, the best available rendition is recorded. For details on the resolution dimensions of each rendition,
see Auto-Record to Amazon S3.'
description: Object that describes which renditions should be recorded for a stream.
ThumbnailConfiguration:
type: object
properties:
recordingMode:
allOf:
- $ref: '#/components/schemas/RecordingMode'
- description: 'Thumbnail recording mode. Default: INTERVAL.'
resolution:
allOf:
- $ref: '#/components/schemas/ThumbnailConfigurationResolution'
- description: 'Indicates the desired resolution of recorded thumbnails. Thumbnails are recorded at the selected resolution if the corresponding rendition is available during the stream; otherwise,
they are recorded at source resolution. For more information about resolution values and their corresponding height and width dimensions, see Auto-Record
to Amazon S3. Default: Null (source resolution is returned).'
storage:
allOf:
- $ref: '#/components/schemas/ThumbnailConfigurationStorageList'
- description: 'Indicates the format in which thumbnails are recorded. SEQUENTIAL records all generated thumbnails in a serial manner, to the media/thumbnails directory. LATEST
saves the latest thumbnail in media/latest_thumbnail/thumb.jpg and overwrites it at the interval specified by targetIntervalSeconds. You can enable both SEQUENTIAL
and LATEST. Default: SEQUENTIAL.'
targetIntervalSeconds:
allOf:
- $ref: '#/components/schemas/TargetIntervalSeconds'
- description: 'The targeted thumbnail-generation interval in seconds. This is configurable (and required) only if recordingMode is INTERVAL. Default: 60.
Important: For the BASIC channel type, setting a value for targetIntervalSeconds does not guarantee that thumbnails are generated at the specified interval.
For thumbnails to be generated at the targetIntervalSeconds interval, the IDR/Keyframe value for the input video must be less than the targetIntervalSeconds
value. See Amazon IVS Streaming Configuration for information on setting IDR/Keyframe to
the recommended value in video-encoder settings.
string:string (key:value). See Tagging Amazon Web Services
Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented
there.'
thumbnailConfiguration:
allOf:
- $ref: '#/components/schemas/ThumbnailConfiguration'
- description: A complex type that allows you to enable/disable the recording of thumbnails for a live session and modify the interval at which thumbnails are generated for the live session.
RecordingConfiguration:
type: object
required:
- arn
- destinationConfiguration
- state
properties:
arn:
allOf:
- $ref: '#/components/schemas/RecordingConfigurationArn'
- description: Recording-configuration ARN.
destinationConfiguration:
allOf:
- $ref: '#/components/schemas/DestinationConfiguration'
- description: A complex type that contains information about where recorded video will be stored.
name:
allOf:
- $ref: '#/components/schemas/RecordingConfigurationName'
- description: Recording-configuration name. The value does not need to be unique.
recordingReconnectWindowSeconds:
allOf:
- $ref: '#/components/schemas/RecordingReconnectWindowSeconds'
- description: 'If a broadcast disconnects and then reconnects within the specified interval, the multiple streams will be considered a single broadcast and merged together. Default: 0.'
renditionConfiguration:
allOf:
- $ref: '#/components/schemas/RenditionConfiguration'
- description: Object that describes which renditions should be recorded for a stream.
state:
allOf:
- $ref: '#/components/schemas/RecordingConfigurationState'
- description: 'Indicates the current state of the recording configuration. When the state is ACTIVE, the configuration is ready for recording a channel stream.'
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Tags attached to the resource. Array of 1-50 maps, each of the form string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
thumbnailConfiguration:
allOf:
- $ref: '#/components/schemas/ThumbnailConfiguration'
- description: A complex type that allows you to enable/disable the recording of thumbnails for a live session and modify the interval at which thumbnails are generated for the live session.
description: An object representing a configuration to record a channel stream.
CreateStreamKeyRequest:
type: object
required:
- channelArn
title: CreateStreamKeyRequest
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: ARN of the channel for which to create the stream key.
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Array of 1-50 maps, each of the form string:string (key:value). See Tagging Amazon Web Services
Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented
there.'
DeleteChannelRequest:
type: object
required:
- arn
title: DeleteChannelRequest
properties:
arn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: ARN of the channel to be deleted.
PlaybackKeyPairArn:
type: string
pattern: '^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:playback-key/[a-zA-Z0-9-]+$'
minLength: 1
maxLength: 128
DeletePlaybackKeyPairRequest:
type: object
required:
- arn
title: DeletePlaybackKeyPairRequest
properties:
arn:
allOf:
- $ref: '#/components/schemas/PlaybackKeyPairArn'
- description: ARN of the key pair to be deleted.
RecordingConfigurationArn:
type: string
pattern: '^arn:aws:ivs:[a-z0-9-]+:[0-9]+:recording-configuration/[a-zA-Z0-9-]+$'
minLength: 0
maxLength: 128
DeleteRecordingConfigurationRequest:
type: object
required:
- arn
title: DeleteRecordingConfigurationRequest
properties:
arn:
allOf:
- $ref: '#/components/schemas/RecordingConfigurationArn'
- description: ARN of the recording configuration to be deleted.
DeleteStreamKeyRequest:
type: object
required:
- arn
title: DeleteStreamKeyRequest
properties:
arn:
allOf:
- $ref: '#/components/schemas/StreamKeyArn'
- description: ARN of the stream key to be deleted.
GetChannelRequest:
type: object
required:
- arn
title: GetChannelRequest
properties:
arn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: ARN of the channel for which the configuration is to be retrieved.
GetPlaybackKeyPairRequest:
type: object
required:
- arn
title: GetPlaybackKeyPairRequest
properties:
arn:
allOf:
- $ref: '#/components/schemas/PlaybackKeyPairArn'
- description: ARN of the key pair to be returned.
PlaybackKeyPair:
type: object
properties:
arn:
allOf:
- $ref: '#/components/schemas/PlaybackKeyPairArn'
- description: Key-pair ARN.
fingerprint:
allOf:
- $ref: '#/components/schemas/PlaybackKeyPairFingerprint'
- description: Key-pair identifier.
name:
allOf:
- $ref: '#/components/schemas/PlaybackKeyPairName'
- description: Playback-key-pair name. The value does not need to be unique.
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Tags attached to the resource. Array of 1-50 maps, each of the form string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
description: A key pair used to sign and validate a playback authorization token.
GetRecordingConfigurationRequest:
type: object
required:
- arn
title: GetRecordingConfigurationRequest
properties:
arn:
allOf:
- $ref: '#/components/schemas/RecordingConfigurationArn'
- description: ARN of the recording configuration to be retrieved.
GetStreamKeyRequest:
type: object
required:
- arn
title: GetStreamKeyRequest
properties:
arn:
allOf:
- $ref: '#/components/schemas/StreamKeyArn'
- description: ARN for the stream key to be retrieved.
GetStreamRequest:
type: object
required:
- channelArn
title: GetStreamRequest
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: Channel ARN for stream to be accessed.
Stream:
type: object
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: Channel ARN for the stream.
health:
allOf:
- $ref: '#/components/schemas/StreamHealth'
- description: The stream’s health.
playbackUrl:
allOf:
- $ref: '#/components/schemas/PlaybackURL'
- description: 'URL of the master playlist, required by the video player to play the HLS stream.'
startTime:
allOf:
- $ref: '#/components/schemas/StreamStartTime'
- description: Time of the stream’s start. This is an ISO 8601 timestamp; note that this is returned as a string.
state:
allOf:
- $ref: '#/components/schemas/StreamState'
- description: 'The stream’s state. Do not rely on the OFFLINE state, as the API may not return it; instead, a "NotBroadcasting" error will indicate that the stream is not live.'
streamId:
allOf:
- $ref: '#/components/schemas/StreamId'
- description: Unique identifier for a live or previously live stream in the specified channel.
viewerCount:
allOf:
- $ref: '#/components/schemas/StreamViewerCount'
- description: 'A count of concurrent views of the stream. Typically, a new view appears in viewerCount within 15 seconds of when video playback starts and a view is removed from
viewerCount within 1 minute of when video playback ends. A value of -1 indicates that the request timed out; in this case, retry.'
description: Specifies a live video stream that has been ingested and distributed.
StreamId:
type: string
pattern: '^st-[a-zA-Z0-9]+$'
minLength: 26
maxLength: 26
GetStreamSessionRequest:
type: object
required:
- channelArn
title: GetStreamSessionRequest
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: ARN of the channel resource
streamId:
allOf:
- $ref: '#/components/schemas/StreamId'
- description: 'Unique identifier for a live or previously live stream in the specified channel. If no streamId is provided, this returns the most recent stream session for the channel,
if it exists.'
StreamSession:
type: object
properties:
channel:
allOf:
- $ref: '#/components/schemas/Channel'
- description: The properties of the channel at the time of going live.
endTime:
allOf:
- $ref: '#/components/schemas/Time'
- description: 'Time when the channel went offline. This is an ISO 8601 timestamp; note that this is returned as a string. For live streams, this is NULL.'
ingestConfiguration:
allOf:
- $ref: '#/components/schemas/IngestConfiguration'
- description: The properties of the incoming RTMP stream for the stream.
recordingConfiguration:
allOf:
- $ref: '#/components/schemas/RecordingConfiguration'
- description: The properties of recording the live stream.
startTime:
allOf:
- $ref: '#/components/schemas/Time'
- description: Time when the channel went live. This is an ISO 8601 timestamp; note that this is returned as a string.
streamId:
allOf:
- $ref: '#/components/schemas/StreamId'
- description: Unique identifier for a live or previously live stream in the specified channel.
truncatedEvents:
allOf:
- $ref: '#/components/schemas/StreamEvents'
- description: 'List of Amazon IVS events that the stream encountered. The list is sorted by most recent events and contains up to 500 events. For Amazon IVS events, see Using
Amazon EventBridge with Amazon IVS.'
description: 'Object that captures the Amazon IVS configuration that the customer provisioned, the ingest configurations that the broadcaster used, and the most recent Amazon IVS stream events it
encountered.'
PlaybackKeyPairName:
type: string
pattern: '^[a-zA-Z0-9-_]*$'
minLength: 0
maxLength: 128
PlaybackPublicKeyMaterial:
type: string
ImportPlaybackKeyPairRequest:
type: object
required:
- publicKeyMaterial
title: ImportPlaybackKeyPairRequest
properties:
name:
allOf:
- $ref: '#/components/schemas/PlaybackKeyPairName'
- description: Playback-key-pair name. The value does not need to be unique.
publicKeyMaterial:
allOf:
- $ref: '#/components/schemas/PlaybackPublicKeyMaterial'
- description: The public portion of a customer-generated key pair.
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Any tags provided with the request are added to the playback key pair tags. See Tagging Amazon Web Services
Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond what is documented
there.'
VideoConfiguration:
type: object
properties:
avcLevel:
allOf:
- $ref: '#/components/schemas/String'
- description: 'Indicates the degree of required decoder performance for a profile. Normally this is set automatically by the encoder. For details, see the H.264 specification.'
avcProfile:
allOf:
- $ref: '#/components/schemas/String'
- description: 'Indicates to the decoder the requirements for decoding the stream. For definitions of the valid values, see the H.264 specification.'
codec:
allOf:
- $ref: '#/components/schemas/String'
- description: Codec used for the video encoding.
encoder:
allOf:
- $ref: '#/components/schemas/String'
- description: Software or hardware used to encode the video.
targetBitrate:
allOf:
- $ref: '#/components/schemas/Integer'
- description: The expected ingest bitrate (bits per second). This is configured in the encoder.
targetFramerate:
allOf:
- $ref: '#/components/schemas/Integer'
- description: The expected ingest framerate. This is configured in the encoder.
videoHeight:
allOf:
- $ref: '#/components/schemas/Integer'
- description: Video-resolution height in pixels.
videoWidth:
allOf:
- $ref: '#/components/schemas/Integer'
- description: Video-resolution width in pixels.
description: 'Object specifying a stream’s video configuration, as set up by the broadcaster (usually in an encoder). This is part of the IngestConfiguration object and used for monitoring
stream health.'
IngestConfiguration:
type: object
properties:
audio:
allOf:
- $ref: '#/components/schemas/AudioConfiguration'
- description: Encoder settings for audio.
video:
allOf:
- $ref: '#/components/schemas/VideoConfiguration'
- description: Encoder settings for video.
description: 'Object specifying the ingest configuration set up by the broadcaster, usually in an encoder.'
MaxChannelResults:
type: integer
minimum: 1
maximum: 100
PaginationToken:
type: string
pattern: '^[a-zA-Z0-9+/=_-]*$'
minLength: 0
maxLength: 1024
ListChannelsRequest:
type: object
title: ListChannelsRequest
properties:
filterByName:
allOf:
- $ref: '#/components/schemas/ChannelName'
- description: Filters the channel list to match the specified name.
filterByRecordingConfigurationArn:
allOf:
- $ref: '#/components/schemas/ChannelRecordingConfigurationArn'
- description: Filters the channel list to match the specified recording-configuration ARN.
maxResults:
allOf:
- $ref: '#/components/schemas/MaxChannelResults'
- description: 'Maximum number of channels to return. Default: 100.'
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: The first channel to retrieve. This is used for pagination; see the nextToken response field.
MaxPlaybackKeyPairResults:
type: integer
minimum: 1
maximum: 100
ListPlaybackKeyPairsRequest:
type: object
title: ListPlaybackKeyPairsRequest
properties:
maxResults:
allOf:
- $ref: '#/components/schemas/MaxPlaybackKeyPairResults'
- description: 'Maximum number of key pairs to return. Default: your service quota or 100, whichever is smaller.'
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: The first key pair to retrieve. This is used for pagination; see the nextToken response field.
PlaybackKeyPairList:
type: array
items:
$ref: '#/components/schemas/PlaybackKeyPairSummary'
MaxRecordingConfigurationResults:
type: integer
minimum: 1
maximum: 100
ListRecordingConfigurationsRequest:
type: object
title: ListRecordingConfigurationsRequest
properties:
maxResults:
allOf:
- $ref: '#/components/schemas/MaxRecordingConfigurationResults'
- description: 'Maximum number of recording configurations to return. Default: your service quota or 100, whichever is smaller. '
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: The first recording configuration to retrieve. This is used for pagination; see the nextToken response field.
RecordingConfigurationList:
type: array
items:
$ref: '#/components/schemas/RecordingConfigurationSummary'
MaxStreamKeyResults:
type: integer
minimum: 1
maximum: 50
ListStreamKeysRequest:
type: object
required:
- channelArn
title: ListStreamKeysRequest
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: Channel ARN used to filter the list.
maxResults:
allOf:
- $ref: '#/components/schemas/MaxStreamKeyResults'
- description: 'Maximum number of streamKeys to return. Default: 1.'
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: The first stream key to retrieve. This is used for pagination; see the nextToken response field.
StreamKeyList:
type: array
items:
$ref: '#/components/schemas/StreamKeySummary'
MaxStreamResults:
type: integer
minimum: 1
maximum: 100
ListStreamSessionsRequest:
type: object
required:
- channelArn
title: ListStreamSessionsRequest
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: Channel ARN used to filter the list.
maxResults:
allOf:
- $ref: '#/components/schemas/MaxStreamResults'
- description: 'Maximum number of streams to return. Default: 100.'
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: The first stream to retrieve. This is used for pagination; see the nextToken response field.
StreamSessionList:
type: array
items:
$ref: '#/components/schemas/StreamSessionSummary'
StreamFilters:
type: object
properties:
health:
allOf:
- $ref: '#/components/schemas/StreamHealth'
- description: The stream’s health.
description: Object specifying the stream attribute on which to filter.
ListStreamsRequest:
type: object
title: ListStreamsRequest
properties:
filterBy:
allOf:
- $ref: '#/components/schemas/StreamFilters'
- description: Filters the stream list to match the specified criterion.
maxResults:
allOf:
- $ref: '#/components/schemas/MaxStreamResults'
- description: 'Maximum number of streams to return. Default: 100.'
nextToken:
allOf:
- $ref: '#/components/schemas/PaginationToken'
- description: The first stream to retrieve. This is used for pagination; see the nextToken response field.
StreamList:
type: array
items:
$ref: '#/components/schemas/StreamSummary'
ListTagsForResourceRequest:
type: object
title: ListTagsForResourceRequest
properties: {}
PlaybackKeyPairFingerprint:
type: string
PlaybackKeyPairSummary:
type: object
properties:
arn:
allOf:
- $ref: '#/components/schemas/PlaybackKeyPairArn'
- description: Key-pair ARN.
name:
allOf:
- $ref: '#/components/schemas/PlaybackKeyPairName'
- description: Playback-key-pair name. The value does not need to be unique.
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Tags attached to the resource. Array of 1-50 maps, each of the form string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
description: Summary information about a playback key pair.
StreamMetadata:
type: string
minLength: 1
format: password
PutMetadataRequest:
type: object
required:
- channelArn
- metadata
title: PutMetadataRequest
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: ARN of the channel into which metadata is inserted. This channel must have an active stream.
metadata:
allOf:
- $ref: '#/components/schemas/StreamMetadata'
- description: 'Metadata to insert into the stream. Maximum: 1 KB per request.'
RecordingConfigurationState:
type: string
enum:
- CREATING
- CREATE_FAILED
- ACTIVE
RecordingConfigurationSummary:
type: object
required:
- arn
- destinationConfiguration
- state
properties:
arn:
allOf:
- $ref: '#/components/schemas/RecordingConfigurationArn'
- description: Recording-configuration ARN.
destinationConfiguration:
allOf:
- $ref: '#/components/schemas/DestinationConfiguration'
- description: A complex type that contains information about where recorded video will be stored.
name:
allOf:
- $ref: '#/components/schemas/RecordingConfigurationName'
- description: Recording-configuration name. The value does not need to be unique.
state:
allOf:
- $ref: '#/components/schemas/RecordingConfigurationState'
- description: 'Indicates the current state of the recording configuration. When the state is ACTIVE, the configuration is ready for recording a channel stream.'
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Tags attached to the resource. Array of 1-50 maps, each of the form string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
description: Summary information about a RecordingConfiguration.
RenditionConfigurationRendition:
type: string
enum:
- FULL_HD
- HD
- SD
- LOWEST_RESOLUTION
S3DestinationBucketName:
type: string
pattern: '^[a-z0-9-.]+$'
minLength: 3
maxLength: 63
StartViewerSessionRevocationRequest:
type: object
required:
- channelArn
- viewerId
title: StartViewerSessionRevocationRequest
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: The ARN of the channel associated with the viewer session to revoke.
viewerId:
allOf:
- $ref: '#/components/schemas/ViewerId'
- description: 'The ID of the viewer associated with the viewer session to revoke. Do not use this field for personally identifying, confidential, or sensitive information.'
viewerSessionVersionsLessThanOrEqualTo:
allOf:
- $ref: '#/components/schemas/ViewerSessionVersion'
- description: 'An optional filter on which versions of the viewer session to revoke. All versions less than or equal to the specified version will be revoked. Default: 0.'
StopStreamRequest:
type: object
required:
- channelArn
title: StopStreamRequest
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: ARN of the channel for which the stream is to be stopped.
StreamStartTime:
type: string
format: date-time
StreamState:
type: string
enum:
- LIVE
- OFFLINE
StreamViewerCount:
type: integer
Time:
type: string
format: date-time
StreamEvent:
type: object
properties:
eventTime:
allOf:
- $ref: '#/components/schemas/Time'
- description: Time when the event occurred. This is an ISO 8601 timestamp; note that this is returned as a string.
name:
allOf:
- $ref: '#/components/schemas/String'
- description: Name that identifies the stream event within a type.
type:
allOf:
- $ref: '#/components/schemas/String'
- description: Logical group for certain events.
description: 'Object specifying a stream’s events. For a list of events, see Using Amazon EventBridge with Amazon IVS.'
StreamEvents:
type: array
items:
$ref: '#/components/schemas/StreamEvent'
minItems: 0
maxItems: 500
StreamKeyValue:
type: string
format: password
StreamKeySummary:
type: object
properties:
arn:
allOf:
- $ref: '#/components/schemas/StreamKeyArn'
- description: Stream-key ARN.
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: Channel ARN for the stream.
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Tags attached to the resource. Array of 1-50 maps, each of the form string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
description: Summary information about a stream key.
StreamSummary:
type: object
properties:
channelArn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: Channel ARN for the stream.
health:
allOf:
- $ref: '#/components/schemas/StreamHealth'
- description: The stream’s health.
startTime:
allOf:
- $ref: '#/components/schemas/StreamStartTime'
- description: 'Time of the stream’s start. This is an ISO 8601 timestamp; note that this is returned as a string. '
state:
allOf:
- $ref: '#/components/schemas/StreamState'
- description: 'The stream’s state. Do not rely on the OFFLINE state, as the API may not return it; instead, a "NotBroadcasting" error will indicate that the stream is not live.'
streamId:
allOf:
- $ref: '#/components/schemas/StreamId'
- description: Unique identifier for a live or previously live stream in the specified channel.
viewerCount:
allOf:
- $ref: '#/components/schemas/StreamViewerCount'
- description: 'A count of concurrent views of the stream. Typically, a new view appears in viewerCount within 15 seconds of when video playback starts and a view is removed from
viewerCount within 1 minute of when video playback ends. A value of -1 indicates that the request timed out; in this case, retry.'
description: Summary information about a stream.
StreamSessionSummary:
type: object
properties:
endTime:
allOf:
- $ref: '#/components/schemas/Time'
- description: 'Time when the channel went offline. This is an ISO 8601 timestamp; note that this is returned as a string. For live streams, this is NULL.'
hasErrorEvent:
allOf:
- $ref: '#/components/schemas/Boolean'
- description: 'If true, this stream encountered a quota breach or failure.'
startTime:
allOf:
- $ref: '#/components/schemas/Time'
- description: Time when the channel went live. This is an ISO 8601 timestamp; note that this is returned as a string.
streamId:
allOf:
- $ref: '#/components/schemas/StreamId'
- description: Unique identifier for a live or previously live stream in the specified channel.
description: Summary information about a stream session.
TagKeyList:
type: array
items:
$ref: '#/components/schemas/TagKey'
minItems: 0
maxItems: 50
TagResourceRequest:
type: object
required:
- tags
title: TagResourceRequest
properties:
tags:
allOf:
- $ref: '#/components/schemas/Tags'
- description: 'Array of tags to be added or updated. Array of maps, each of the form string:string (key:value). See Tagging
Amazon Web Services Resources for more information, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS has no service-specific constraints beyond
what is documented there.'
ThumbnailConfigurationStorage:
type: string
enum:
- SEQUENTIAL
- LATEST
UntagResourceRequest:
type: object
title: UntagResourceRequest
properties: {}
UpdateChannelRequest:
type: object
required:
- arn
title: UpdateChannelRequest
properties:
arn:
allOf:
- $ref: '#/components/schemas/ChannelArn'
- description: ARN of the channel to be updated.
authorized:
allOf:
- $ref: '#/components/schemas/Boolean'
- description: Whether the channel is private (enabled for playback authorization).
insecureIngest:
allOf:
- $ref: '#/components/schemas/Boolean'
- description: 'Whether the channel allows insecure RTMP ingest. Default: false.'
latencyMode:
allOf:
- $ref: '#/components/schemas/ChannelLatencyMode'
- description: 'Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the
Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard, respectively.)'
name:
allOf:
- $ref: '#/components/schemas/ChannelName'
- description: Channel name.
preset:
allOf:
- $ref: '#/components/schemas/TranscodePreset'
- description: 'Optional transcode preset for the channel. This is selectable only for ADVANCED_HD and ADVANCED_SD channel types. For those channel types, the default
preset is HIGHER_BANDWIDTH_DELIVERY. For other channel types (BASIC and STANDARD), preset is the empty string ("").'
recordingConfigurationArn:
allOf:
- $ref: '#/components/schemas/ChannelRecordingConfigurationArn'
- description: 'Recording-configuration ARN. If this is set to an empty string, recording is disabled. A value other than an empty string indicates that recording is enabled'
type:
allOf:
- $ref: '#/components/schemas/ChannelType'
- description: 'Channel type, which determines the allowable resolution and bitrate. If you exceed the allowable input resolution or bitrate, the stream probably will disconnect immediately.
Some types generate multiple qualities (renditions) from the original input; this automatically gives viewers the best experience for their devices and network conditions. Some types provide
transcoded video; transcoding allows higher playback quality across a range of download speeds. Default: STANDARD. Valid values:
BASIC: Video is
transmuxed: Amazon IVS delivers the original input quality to viewers. The viewer’s video-quality choice is limited to the original input. Input resolution can be up to 1080p and bitrate can
be up to 1.5 Mbps for 480p and up to 3.5 Mbps for resolutions between 480p and 1080p. Original audio is passed through.
STANDARD: Video is transcoded: multiple
qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Transcoding allows higher playback quality across
a range of download speeds. Resolution can be up to 1080p and bitrate can be up to 8.5 Mbps. Audio is transcoded only for renditions 360p and below; above that, audio is passed through. This
is the default when you create a channel.
ADVANCED_SD: Video is transcoded; multiple qualities are generated from the original input, to automatically give
viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality (480p). You can
select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.
ADVANCED_HD: Video is transcoded;
multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and
bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition
is available.
Optional transcode presets (available for the ADVANCED types) allow you to trade off available download bandwidth and video quality, to
optimize the viewing experience. There are two presets:
Constrained bandwidth delivery uses a lower bitrate for each quality level. Use it if you have low download bandwidth and/or simple video content (e.g., talking heads)
Higher bandwidth delivery uses a higher bitrate for each quality level. Use it if you have high download bandwidth and/or complex video content (e.g., flashes and quick scene changes).