Amazon Kinesis Video Streams API

Amazon Kinesis Video Streams makes it easy to securely stream video, audio, and time-encoded data from connected devices to AWS for analytics, machine learning, playback, and other processing. The API supports stream lifecycle management, media ingest and retrieval, HLS and DASH playback URL generation, signaling for WebRTC peer connections, and integration with AWS Rekognition for video analysis.

OpenAPI Specification

amazon-kinesis-video-streams-openapi-original.yml Raw ↑
openapi: 3.0.0
info:
  version: 2017-09-30
  x-release: v4
  title: Amazon Kinesis Video Streams
  description: <p/>
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
    backgroundColor: "#FFFFFF"
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: [email protected]
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: kinesisvideo
  x-origin:
    - contentType: application/json
      url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/kinesisvideo-2017-09-30.normal.json
      converter:
        url: https://github.com/mermade/aws2openapi
        version: 1.0.0
      x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
    - cloud
  x-preferred: true
externalDocs:
  description: Amazon Web Services documentation
  url: https://docs.aws.amazon.com/kinesisvideo/
servers:
  - url: http://kinesisvideo.{region}.amazonaws.com
    variables:
      region:
        description: The AWS region
        enum:
          - us-east-1
          - us-east-2
          - us-west-1
          - us-west-2
          - us-gov-west-1
          - us-gov-east-1
          - ca-central-1
          - eu-north-1
          - eu-west-1
          - eu-west-2
          - eu-west-3
          - eu-central-1
          - eu-south-1
          - af-south-1
          - ap-northeast-1
          - ap-northeast-2
          - ap-northeast-3
          - ap-southeast-1
          - ap-southeast-2
          - ap-east-1
          - ap-south-1
          - sa-east-1
          - me-south-1
        default: us-east-1
    description: The Kinesis Video multi-region endpoint
  - url: https://kinesisvideo.{region}.amazonaws.com
    variables:
      region:
        description: The AWS region
        enum:
          - us-east-1
          - us-east-2
          - us-west-1
          - us-west-2
          - us-gov-west-1
          - us-gov-east-1
          - ca-central-1
          - eu-north-1
          - eu-west-1
          - eu-west-2
          - eu-west-3
          - eu-central-1
          - eu-south-1
          - af-south-1
          - ap-northeast-1
          - ap-northeast-2
          - ap-northeast-3
          - ap-southeast-1
          - ap-southeast-2
          - ap-east-1
          - ap-south-1
          - sa-east-1
          - me-south-1
        default: us-east-1
    description: The Kinesis Video multi-region endpoint
  - url: http://kinesisvideo.{region}.amazonaws.com.cn
    variables:
      region:
        description: The AWS region
        enum:
          - cn-north-1
          - cn-northwest-1
        default: cn-north-1
    description: The Kinesis Video endpoint for China (Beijing) and China (Ningxia)
  - url: https://kinesisvideo.{region}.amazonaws.com.cn
    variables:
      region:
        description: The AWS region
        enum:
          - cn-north-1
          - cn-northwest-1
        default: cn-north-1
    description: The Kinesis Video endpoint for China (Beijing) and China (Ningxia)
paths:
  /createSignalingChannel:
    post:
      operationId: CreateSignalingChannel
      description: <p>Creates a signaling channel. </p> <p> <code>CreateSignalingChannel</code> is an asynchronous operation.</p>
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateSignalingChannelOutput"
        "480":
          description: InvalidArgumentException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidArgumentException"
        "481":
          description: ClientLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientLimitExceededException"
        "482":
          description: AccountChannelLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccountChannelLimitExceededException"
        "483":
          description: ResourceInUseException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceInUseException"
        "484":
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccessDeniedException"
        "485":
          description: TagsPerResourceExceededLimitException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TagsPerResourceExceededLimitException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - ChannelName
              properties:
                ChannelName:
                  description: A name for the signaling channel that you are creating. It must be unique for each Amazon Web Services account and Amazon Web Services Region.
                  type: string
                  pattern: "[a-zA-Z0-9_.-]+"
                  minLength: 1
                  maxLength: 256
                ChannelType:
                  description: "A type of the signaling channel that you are creating. Currently, <code>SINGLE_MASTER</code> is the only supported channel type. "
                  type: string
                  enum:
                    - SINGLE_MASTER
                    - FULL_MESH
                SingleMasterConfiguration:
                  description: A structure that contains the configuration for the <code>SINGLE_MASTER</code> channel type.
                  type: object
                  properties:
                    MessageTtlSeconds:
                      allOf:
                        - $ref: "#/components/schemas/MessageTtlSeconds"
                        - description: The period of time a signaling channel retains undelivered messages before they are discarded.
                Tags:
                  description: A set of tags (key-value pairs) that you want to associate with this channel.
                  type: array
                  items:
                    $ref: "#/components/schemas/Tag"
                  minItems: 0
                  maxItems: 50
    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"
  /createStream:
    post:
      operationId: CreateStream
      description: <p>Creates a new Kinesis video stream. </p> <p>When you create a new stream, Kinesis Video Streams assigns it a version number. When you change the stream's metadata, Kinesis Video Streams updates the version. </p> <p> <code>CreateStream</code> is an asynchronous operation.</p> <p>For information about how the service works, see <a href="https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-it-works.html">How it Works</a>. </p> <p>You must have permissions for the <code>KinesisVideo:CreateStream</code> action.</p>
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateStreamOutput"
        "480":
          description: AccountStreamLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccountStreamLimitExceededException"
        "481":
          description: DeviceStreamLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeviceStreamLimitExceededException"
        "482":
          description: ResourceInUseException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceInUseException"
        "483":
          description: InvalidDeviceException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidDeviceException"
        "484":
          description: InvalidArgumentException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidArgumentException"
        "485":
          description: ClientLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientLimitExceededException"
        "486":
          description: TagsPerResourceExceededLimitException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TagsPerResourceExceededLimitException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - StreamName
              properties:
                DeviceName:
                  description: <p>The name of the device that is writing to the stream. </p> <note> <p>In the current implementation, Kinesis Video Streams does not use this name.</p> </note>
                  type: string
                  pattern: "[a-zA-Z0-9_.-]+"
                  minLength: 1
                  maxLength: 128
                StreamName:
                  description: <p>A name for the stream that you are creating.</p> <p>The stream name is an identifier for the stream, and must be unique for each account and region.</p>
                  type: string
                  pattern: "[a-zA-Z0-9_.-]+"
                  minLength: 1
                  maxLength: 256
                MediaType:
                  description: <p>The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see <a href="http://www.iana.org/assignments/media-types/media-types.xhtml">Media Types</a>. If you choose to specify the <code>MediaType</code>, see <a href="https://tools.ietf.org/html/rfc6838#section-4.2">Naming Requirements</a> for guidelines.</p> <p>Example valid values include "video/h264" and "video/h264,audio/aac".</p> <p>This parameter is optional; the default value is <code>null</code> (or empty in JSON).</p>
                  type: string
                  pattern: "[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+(,[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+)*"
                  minLength: 1
                  maxLength: 128
                KmsKeyId:
                  description: <p>The ID of the Key Management Service (KMS) key that you want Kinesis Video Streams to use to encrypt stream data.</p> <p>If no key ID is specified, the default, Kinesis Video-managed key (<code>aws/kinesisvideo</code>) is used.</p> <p> For more information, see <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters">DescribeKey</a>. </p>
                  type: string
                  pattern: .+
                  minLength: 1
                  maxLength: 2048
                DataRetentionInHours:
                  description: <p>The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.</p> <p>The default value is 0, indicating that the stream does not persist data.</p> <p>When the <code>DataRetentionInHours</code> value is 0, consumers can still consume the fragments that remain in the service host buffer, which has a retention time limit of 5 minutes and a retention memory limit of 200 MB. Fragments are removed from the buffer when either limit is reached.</p>
                  type: integer
                  minimum: 0
                Tags:
                  description: A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional).
                  type: object
                  minProperties: 1
                  maxProperties: 50
                  additionalProperties:
                    $ref: "#/components/schemas/TagValue"
    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"
  /deleteSignalingChannel:
    post:
      operationId: DeleteSignalingChannel
      description: Deletes a specified signaling channel. <code>DeleteSignalingChannel</code> is an asynchronous operation. If you don't specify the channel's current version, the most recent version is deleted.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeleteSignalingChannelOutput"
        "480":
          description: InvalidArgumentException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidArgumentException"
        "481":
          description: ClientLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientLimitExceededException"
        "482":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "483":
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccessDeniedException"
        "484":
          description: VersionMismatchException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VersionMismatchException"
        "485":
          description: ResourceInUseException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceInUseException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - ChannelARN
              properties:
                ChannelARN:
                  description: The Amazon Resource Name (ARN) of the signaling channel that you want to delete.
                  type: string
                  pattern: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
                  minLength: 1
                  maxLength: 1024
                CurrentVersion:
                  description: The current version of the signaling channel that you want to delete. You can obtain the current version by invoking the <code>DescribeSignalingChannel</code> or <code>ListSignalingChannels</code> API operations.
                  type: string
                  pattern: "[a-zA-Z0-9]+"
                  minLength: 1
                  maxLength: 64
    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"
  /deleteStream:
    post:
      operationId: DeleteStream
      description: <p>Deletes a Kinesis video stream and the data contained in the stream. </p> <p>This method marks the stream for deletion, and makes the data in the stream inaccessible immediately.</p> <p> </p> <p> To ensure that you have the latest version of the stream before deleting it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the <code>DescribeStream</code> API. </p> <p>This operation requires permission for the <code>KinesisVideo:DeleteStream</code> action.</p>
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeleteStreamOutput"
        "480":
          description: ClientLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientLimitExceededException"
        "481":
          description: InvalidArgumentException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidArgumentException"
        "482":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "483":
          description: NotAuthorizedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotAuthorizedException"
        "484":
          description: VersionMismatchException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VersionMismatchException"
        "485":
          description: ResourceInUseException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceInUseException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - StreamARN
              properties:
                StreamARN:
                  description: "The Amazon Resource Name (ARN) of the stream that you want to delete. "
                  type: string
                  pattern: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
                  minLength: 1
                  maxLength: 1024
                CurrentVersion:
                  description: "<p>Optional: The version of the stream that you want to delete. </p> <p>Specify the version as a safeguard to ensure that your are deleting the correct stream. To get the stream version, use the <code>DescribeStream</code> API.</p> <p>If not specified, only the <code>CreationTime</code> is checked before deleting the stream.</p>"
                  type: string
                  pattern: "[a-zA-Z0-9]+"
                  minLength: 1
                  maxLength: 64
    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"
  /describeEdgeConfiguration:
    post:
      operationId: DescribeEdgeConfiguration
      description: Describes a stream’s edge configuration that was set using the <code>StartEdgeConfigurationUpdate</code> API. Use this API to get the status of the configuration if the configuration is in sync with the Edge Agent.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DescribeEdgeConfigurationOutput"
        "480":
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccessDeniedException"
        "481":
          description: ClientLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientLimitExceededException"
        "482":
          description: InvalidArgumentException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidArgumentException"
        "483":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "484":
          description: StreamEdgeConfigurationNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StreamEdgeConfigurationNotFoundException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                StreamName:
                  description: "The name of the stream whose edge configuration you want to update. Specify either the <code>StreamName</code> or the <code>StreamARN</code>. "
                  type: string
                  pattern: "[a-zA-Z0-9_.-]+"
                  minLength: 1
                  maxLength: 256
                StreamARN:
                  description: The Amazon Resource Name (ARN) of the stream. Specify either the <code>StreamName</code>or the <code>StreamARN</code>.
                  type: string
                  pattern: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
                  minLength: 1
                  maxLength: 1024
    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"
  /describeImageGenerationConfiguration:
    post:
      operationId: DescribeImageGenerationConfiguration
      description: Gets the <code>ImageGenerationConfiguration</code> for a given Kinesis video stream.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DescribeImageGenerationConfigurationOutput"
        "480":
          description: InvalidArgumentException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidArgumentException"
        "481":
          description: ClientLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientLimitExceededException"
        "482":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "483":
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccessDeniedException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                StreamName:
                  description: "The name of the stream from which to retrieve the image generation configuration. You must specify either the <code>StreamName</code> or the <code>StreamARN</code>. "
                  type: string
                  pattern: "[a-zA-Z0-9_.-]+"
                  minLength: 1
                  maxLength: 256
                StreamARN:
                  description: The Amazon Resource Name (ARN) of the Kinesis video stream from which to retrieve the image generation configuration. You must specify either the <code>StreamName</code> or the <code>StreamARN</code>.
                  type: string
                  pattern: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
                  minLength: 1
                  maxLength: 1024
    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"
  /describeMappedResourceConfiguration:
    post:
      operationId: DescribeMappedResourceConfiguration
      description: <p>Returns the most current information about the stream. Either streamName or streamARN should be provided in the input.</p> <p>Returns the most current information about the stream. The <code>streamName</code> or <code>streamARN</code> should be provided in the input.</p>
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DescribeMappedResourceConfigurationOutput"
        "480":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "481":
          description: InvalidArgumentException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidArgumentException"
        "482":
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccessDeniedException"
        "483":
          description: ClientLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientLimitExceededException"
      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:
                StreamName:
                  description: The name of the stream.
                  type: string
                  pattern: "[a-zA-Z0-9_.-]+"
                  minLength: 1
                  maxLength: 256
                StreamARN:
                  description: The Amazon Resource Name (ARN) of the stream.
                  type: string
                  pattern: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
                  minLength: 1
                  maxLength: 1024
                MaxResults:
                  description: The maximum number of results to return in the response.
                  type: integer
                  minimum: 1
                  maximum: 1
                NextToken:
                  description: The token to provide in your next request, to get another batch of results.
                  type: string
                  pattern: "[a-zA-Z0-9+/=]*"
                  minLength: 0
                  maxLength: 512
    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"
  /describeMediaStorageConfiguration:
    post:
      operationId: DescribeMediaStorageConfiguration
      description: Returns the most current information about the channel. Specify the <code>ChannelName</code> or <code>ChannelARN</code> in the input.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DescribeMediaStorageConfigurationOutput"
        "480":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "481":
          description: InvalidArgumentException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidArgumentException"
        "482":
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccessDeniedException"
        "483":
          description: ClientLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientLimitExceededException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ChannelName:
                  description: The name of the channel.
                  type: string
                  pattern: "[a-zA-Z0-9_.-]+"
                  minLength: 1
                  maxLength: 256
                ChannelARN:
                  description: The Amazon Resource Name (ARN) of the channel.
                  type: string
                  pattern: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
                  minLength: 1
                  maxLength: 1024
    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"
  /describeNotificationConfiguration:
    post:
      operationId: DescribeNotificationConfiguration
      description: Gets the <code>NotificationConfiguration</code> for a given Kinesis video stream.
      responses:
        "200":
          description: Success
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DescribeNotificationConfigurationOutput"
        "480":
          description: InvalidArgumentException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvalidArgumentException"
        "481":
          description: ClientLimitExceededException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ClientLimitExceededException"
        "482":
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceNotFoundException"
        "483":
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccessDeniedException"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
             

# --- truncated at 32 KB (165 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kinesis/refs/heads/main/openapi/amazon-kinesis-video-streams-openapi-original.yml