@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Elemental MediaStore Data Plane
@version 2017-09-01
@auth AWS SigV4
@endpoints 5
@toc {Path+}(4), root(1)

@group {Path+}
@endpoint DELETE /{Path+}
@desc Deletes an object at the specified path.
@required {Path: str}

@endpoint HEAD /{Path+}
@desc Gets the headers for an object at the specified path.
@required {Path: str}
@returns(200) {ETag: str?, ContentType: str?, ContentLength: int(i64)?, CacheControl: str?, LastModified: str(timestamp)?}

@endpoint GET /{Path+}
@desc Downloads the object at the specified path. If the object’s upload availability is set to streaming, AWS Elemental MediaStore downloads the object even if it’s still uploading the object.
@required {Path: str}
@optional {Range: str}
@returns(200) {Body: bytes?, CacheControl: str?, ContentRange: str?, ContentLength: int(i64)?, ContentType: str?, ETag: str?, LastModified: str(timestamp)?, StatusCode: int}

@endgroup

@group root
@endpoint GET /
@desc Provides a list of metadata entries about folders and objects in the specified folder.
@optional {Path: str, MaxResults: int, NextToken: str}
@returns(200) {Items: [Item]?, NextToken: str?}

@endgroup

@group {Path+}
@endpoint PUT /{Path+}
@desc Uploads an object to the specified path. Object sizes are limited to 25 MB for standard upload availability and 10 MB for streaming upload availability.
@required {Path: str, Body: bytes}
@optional {Content-Type: str, Cache-Control: str, x-amz-storage-class: str, x-amz-upload-availability: str}
@returns(200) {ContentSHA256: str?, ETag: str?, StorageClass: str?}

@endgroup

@end
