@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Kinesis
@version 2013-12-02
@auth AWS SigV4
@endpoints 31
@hint download_for_search
@toc root(31)

@endpoint POST /
@required {Tags: map<str,str>}
@optional {StreamName: str, StreamARN: str}

@endpoint POST /
@required {StreamName: str}
@optional {ShardCount: int, StreamModeDetails: StreamModeDetails}

@endpoint POST /
@required {RetentionPeriodHours: int}
@optional {StreamName: str, StreamARN: str}

@endpoint POST /
@required {ResourceARN: str}

@endpoint POST /
@optional {StreamName: str, EnforceConsumerDeletion: bool, StreamARN: str}

@endpoint POST /
@optional {StreamARN: str, ConsumerName: str, ConsumerARN: str}

@endpoint POST /
@returns(200) {ShardLimit: int, OpenShardCount: int, OnDemandStreamCount: int, OnDemandStreamCountLimit: int}

@endpoint POST /
@optional {StreamName: str, Limit: int, ExclusiveStartShardId: str, StreamARN: str}
@returns(200) {StreamDescription: StreamDescription{StreamName: str, StreamARN: str, StreamStatus: str, StreamModeDetails: StreamModeDetails?{StreamMode: str}, Shards: [Shard], HasMoreShards: bool, RetentionPeriodHours: int, StreamCreationTimestamp: str(timestamp), EnhancedMonitoring: [EnhancedMetrics], EncryptionType: str?, KeyId: str?}}

@endpoint POST /
@optional {StreamARN: str, ConsumerName: str, ConsumerARN: str}
@returns(200) {ConsumerDescription: ConsumerDescription{ConsumerName: str, ConsumerARN: str, ConsumerStatus: str, ConsumerCreationTimestamp: str(timestamp), StreamARN: str}}

@endpoint POST /
@optional {StreamName: str, StreamARN: str}
@returns(200) {StreamDescriptionSummary: StreamDescriptionSummary{StreamName: str, StreamARN: str, StreamStatus: str, StreamModeDetails: StreamModeDetails?{StreamMode: str}, RetentionPeriodHours: int, StreamCreationTimestamp: str(timestamp), EnhancedMonitoring: [EnhancedMetrics], EncryptionType: str?, KeyId: str?, OpenShardCount: int, ConsumerCount: int?}}

@endpoint POST /
@required {ShardLevelMetrics: [str]}
@optional {StreamName: str, StreamARN: str}
@returns(200) {StreamName: str?, CurrentShardLevelMetrics: [str]?, DesiredShardLevelMetrics: [str]?, StreamARN: str?}

@endpoint POST /
@required {ShardLevelMetrics: [str]}
@optional {StreamName: str, StreamARN: str}
@returns(200) {StreamName: str?, CurrentShardLevelMetrics: [str]?, DesiredShardLevelMetrics: [str]?, StreamARN: str?}

@endpoint POST /
@required {ShardIterator: str}
@optional {Limit: int, StreamARN: str}
@returns(200) {Records: [Record], NextShardIterator: str?, MillisBehindLatest: int(i64)?, ChildShards: [ChildShard]?}

@endpoint POST /
@required {ResourceARN: str}
@returns(200) {Policy: str}

@endpoint POST /
@required {ShardId: str, ShardIteratorType: str}
@optional {StreamName: str, StartingSequenceNumber: str, Timestamp: str(timestamp), StreamARN: str}
@returns(200) {ShardIterator: str?}

@endpoint POST /
@required {RetentionPeriodHours: int}
@optional {StreamName: str, StreamARN: str}

@endpoint POST /
@optional {StreamName: str, NextToken: str, ExclusiveStartShardId: str, MaxResults: int, StreamCreationTimestamp: str(timestamp), ShardFilter: ShardFilter, StreamARN: str}
@returns(200) {Shards: [Shard]?, NextToken: str?}

@endpoint POST /
@required {StreamARN: str}
@optional {NextToken: str, MaxResults: int, StreamCreationTimestamp: str(timestamp)}
@returns(200) {Consumers: [Consumer]?, NextToken: str?}

@endpoint POST /
@optional {Limit: int, ExclusiveStartStreamName: str, NextToken: str}
@returns(200) {StreamNames: [str], HasMoreStreams: bool, NextToken: str?, StreamSummaries: [StreamSummary]?}

@endpoint POST /
@optional {StreamName: str, ExclusiveStartTagKey: str, Limit: int, StreamARN: str}
@returns(200) {Tags: [Tag], HasMoreTags: bool}

@endpoint POST /
@required {ShardToMerge: str, AdjacentShardToMerge: str}
@optional {StreamName: str, StreamARN: str}

@endpoint POST /
@required {Data: bytes, PartitionKey: str}
@optional {StreamName: str, ExplicitHashKey: str, SequenceNumberForOrdering: str, StreamARN: str}
@returns(200) {ShardId: str, SequenceNumber: str, EncryptionType: str?}

@endpoint POST /
@required {Records: [PutRecordsRequestEntry]}
@optional {StreamName: str, StreamARN: str}
@returns(200) {FailedRecordCount: int?, Records: [PutRecordsResultEntry], EncryptionType: str?}

@endpoint POST /
@required {ResourceARN: str, Policy: str}

@endpoint POST /
@required {StreamARN: str, ConsumerName: str}
@returns(200) {Consumer: Consumer{ConsumerName: str, ConsumerARN: str, ConsumerStatus: str, ConsumerCreationTimestamp: str(timestamp)}}

@endpoint POST /
@required {TagKeys: [str]}
@optional {StreamName: str, StreamARN: str}

@endpoint POST /
@required {ShardToSplit: str, NewStartingHashKey: str}
@optional {StreamName: str, StreamARN: str}

@endpoint POST /
@required {EncryptionType: str, KeyId: str}
@optional {StreamName: str, StreamARN: str}

@endpoint POST /
@required {EncryptionType: str, KeyId: str}
@optional {StreamName: str, StreamARN: str}

@endpoint POST /
@required {TargetShardCount: int, ScalingType: str}
@optional {StreamName: str, StreamARN: str}
@returns(200) {StreamName: str?, CurrentShardCount: int?, TargetShardCount: int?, StreamARN: str?}

@endpoint POST /
@required {StreamARN: str, StreamModeDetails: StreamModeDetails}

@end
