UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 9.01 kB
{"openapi":"3.0.0","info":{"version":"2017-09-30","x-release":"v4","title":"Amazon Kinesis Video Streams Media","description":"<p/>","x-logo":{"url":"https://twitter.com/awscloud/profile_image?size=original","backgroundColor":"#FFFFFF"},"termsOfService":"https://aws.amazon.com/service-terms/","contact":{"name":"Mike Ralphson","email":"mike.ralphson@gmail.com","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":"kinesis-video-media","x-origin":[{"contentType":"application/json","url":"https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/kinesis-video-media-2017-09-30.normal.json","converter":{"url":"https://github.com/mermade/aws2openapi","version":"1.0.0"},"x-apisguru-direct":true}],"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://aws.amazon.com/kinesisvideo/"},"security":[{"hmac":[]}],"paths":{"/getMedia":{"post":{"operationId":"GetMedia","description":"<p> Use this API to retrieve media content from a Kinesis video stream. In the request, you identify stream name or stream Amazon Resource Name (ARN), and the starting chunk. Kinesis Video Streams then returns a stream of chunks in order by fragment number.</p> <note> <p> You must first call the <code>GetDataEndpoint</code> API to get an endpoint to which you can then send the <code>GetMedia</code> requests. </p> </note> <p>When you put media data (fragments) on a stream, Kinesis Video Streams stores each incoming fragment and related metadata in what is called a \"chunk.\" For more information, see . The <code>GetMedia</code> API returns a stream of these chunks starting from the chunk that you specify in the request. </p> <p>The following limits apply when using the <code>GetMedia</code> API:</p> <ul> <li> <p>A client can call <code>GetMedia</code> up to five times per second per stream. </p> </li> <li> <p>Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a <code>GetMedia</code> session. </p> </li> </ul>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMediaOutput"}}}},"480":{"description":"ResourceNotFoundException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundException"}}}},"481":{"description":"NotAuthorizedException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotAuthorizedException"}}}},"482":{"description":"InvalidEndpointException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidEndpointException"}}}},"483":{"description":"ClientLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientLimitExceededException"}}}},"484":{"description":"ConnectionLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionLimitExceededException"}}}},"485":{"description":"InvalidArgumentException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidArgumentException"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMediaInput"}}},"required":true}},"parameters":[{"$ref":"#/components/parameters/Action"},{"$ref":"#/components/parameters/Version"},{"$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"}]}},"servers":[{"url":"https://kinesisvideo.amazonaws.com/"},{"url":"http://kinesisvideo.amazonaws.com/"}],"components":{"parameters":{"Action":{"name":"Action","in":"query","required":true,"schema":{"type":"string"}},"Version":{"name":"Version","in":"query","required":true,"schema":{"type":"string"}},"X-Amz-Content-Sha256":{"name":"X-Amz-Content-Sha256","in":"header","required":false,"schema":{"type":"string"}},"X-Amz-Date":{"name":"X-Amz-Date","in":"header","required":false,"schema":{"type":"string"}},"X-Amz-Algorithm":{"name":"X-Amz-Algorithm","in":"header","required":false,"schema":{"type":"string"}},"X-Amz-Credential":{"name":"X-Amz-Credential","in":"header","required":false,"schema":{"type":"string"}},"X-Amz-Security-Token":{"name":"X-Amz-Security-Token","in":"header","required":false,"schema":{"type":"string"}},"X-Amz-Signature":{"name":"X-Amz-Signature","in":"header","required":false,"schema":{"type":"string"}},"X-Amz-SignedHeaders":{"name":"X-Amz-SignedHeaders","in":"header","required":false,"schema":{"type":"string"}}},"securitySchemes":{"hmac":{"type":"apiKey","name":"Authorization","in":"header","description":"Amazon Signature authorization v4","x-amazon-apigateway-authtype":"awsSigv4"}},"schemas":{"GetMediaOutput":{"type":"object","properties":{"Payload":{"$ref":"#/components/schemas/Payload"}}},"GetMediaInput":{"type":"object","required":["StartSelector"],"properties":{"StreamName":{"$ref":"#/components/schemas/StreamName"},"StreamARN":{"$ref":"#/components/schemas/ResourceARN"},"StartSelector":{"$ref":"#/components/schemas/StartSelector"}}},"ResourceNotFoundException":{"type":"object","properties":{"Message":{"$ref":"#/components/schemas/ErrorMessage"}},"description":"Status Code: 404, The stream with the given name does not exist."},"NotAuthorizedException":{"type":"object","properties":{"Message":{"$ref":"#/components/schemas/ErrorMessage"}},"description":"Status Code: 403, The caller is not authorized to perform an operation on the given stream, or the token has expired."},"InvalidEndpointException":{"type":"object","properties":{"Message":{"$ref":"#/components/schemas/ErrorMessage"}},"description":" Status Code: 400, Caller used wrong endpoint to write data to a stream. On receiving such an exception, the user must call <code>GetDataEndpoint</code> with <code>AccessMode</code> set to \"READ\" and use the endpoint Kinesis Video returns in the next <code>GetMedia</code> call. "},"ClientLimitExceededException":{"type":"object","properties":{"Message":{"$ref":"#/components/schemas/ErrorMessage"}},"description":"Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later."},"ConnectionLimitExceededException":{"type":"object","properties":{"Message":{"$ref":"#/components/schemas/ErrorMessage"}},"description":"Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client connections."},"InvalidArgumentException":{"type":"object","properties":{"Message":{"$ref":"#/components/schemas/ErrorMessage"}},"description":"The value for this input parameter is invalid."},"ErrorMessage":{"type":"string"},"ContentType":{"type":"string","pattern":"^[a-zA-Z0-9_\\.\\-]+$","minLength":1,"maxLength":128},"ContinuationToken":{"type":"string","pattern":"^[a-zA-Z0-9_\\.\\-]+$","minLength":1,"maxLength":128},"FragmentNumberString":{"type":"string","pattern":"^[0-9]+$","minLength":1,"maxLength":128},"StreamName":{"type":"string","pattern":"[a-zA-Z0-9_.-]+","minLength":1,"maxLength":256},"ResourceARN":{"type":"string","pattern":"arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+","minLength":1,"maxLength":1024},"StartSelector":{"type":"object","required":["StartSelectorType"],"properties":{"StartSelectorType":{"$ref":"#/components/schemas/StartSelectorType"},"AfterFragmentNumber":{"$ref":"#/components/schemas/FragmentNumberString"},"StartTimestamp":{"$ref":"#/components/schemas/Timestamp"},"ContinuationToken":{"$ref":"#/components/schemas/ContinuationToken"}},"description":"<p>Identifies the chunk on the Kinesis video stream where you want the <code>GetMedia</code> API to start returning media data. You have the following options to identify the starting chunk: </p> <ul> <li> <p>Choose the latest (or oldest) chunk.</p> </li> <li> <p>Identify a specific chunk. You can identify a specific chunk either by providing a fragment number or time stamp (server or producer). </p> </li> <li> <p>Each chunk's metadata includes a continuation token as a Matroska (MKV) tag (<code>AWS_KINESISVIDEO_CONTINUATION_TOKEN</code>). If your previous <code>GetMedia</code> request terminated, you can use this tag value in your next <code>GetMedia</code> request. The API then starts returning chunks starting where the last API ended.</p> </li> </ul>"},"Payload":{"type":"string"},"StartSelectorType":{"type":"string","enum":["FRAGMENT_NUMBER","SERVER_TIMESTAMP","PRODUCER_TIMESTAMP","NOW","EARLIEST","CONTINUATION_TOKEN"]},"Timestamp":{"type":"string","format":"date-time"}}}}