# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Amazon S3 REST Objects API version: 1.0.0 extends: openapi/amazon-s3-objects-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 7 - target: $.paths['/{Bucket}?list-type=2'].get update: x-apievangelist-phrasing: intent: List objects in a bucket effect: read questions: - How do I see what files are stored in a bucket? - Can I list only the objects under a certain folder prefix? - What's the maximum number of keys returned per listing page? instructions: - text: List the objects in bucket {bucket}. slots: bucket: path.Bucket - text: List objects in {bucket} whose keys start with {prefix}. slots: bucket: path.Bucket prefix: query.prefix - text: List up to {max_keys} keys in {bucket} grouped by delimiter {delimiter}. slots: max_keys: query.max-keys bucket: path.Bucket delimiter: query.delimiter method: generated generated: '2026-10-01' - target: $.paths['/{Bucket}/{Key+}'].get update: x-apievangelist-phrasing: intent: Download an object effect: read questions: - How do I download a file from an S3 bucket? - Can I fetch just a byte range of a large object? - Can I retrieve an older version of a file? instructions: - text: Download object {key} from bucket {bucket}. slots: key: path.Key+ bucket: path.Bucket - text: Download bytes {range} of {key} in {bucket}. slots: range: header.Range key: path.Key+ bucket: path.Bucket - text: Get version {version} of {key} from {bucket}. slots: version: query.versionId key: path.Key+ bucket: path.Bucket method: generated generated: '2026-10-01' - target: $.paths['/{Bucket}/{Key+}'].put update: x-apievangelist-phrasing: intent: Upload an object effect: write questions: - How do I upload a file to an S3 bucket? - What's the largest file I can upload in a single PUT? - Can I choose a storage class and encryption when uploading a file? instructions: - text: Upload a file to {bucket} as key {key}. slots: bucket: path.Bucket key: path.Key+ - text: Upload {key} to {bucket} with storage class {storage_class}. slots: key: path.Key+ bucket: path.Bucket storage_class: header.x-amz-storage-class - text: Store {key} in {bucket} with content type {content_type}. slots: key: path.Key+ bucket: path.Bucket content_type: header.Content-Type method: generated generated: '2026-10-01' - target: $.paths['/{Bucket}/{Key+}'].delete update: x-apievangelist-phrasing: intent: Delete a single object effect: destructive questions: - How do I delete one file from a bucket? - What happens when I delete an object in a versioned bucket? - Can I permanently remove a specific version of an object? instructions: - text: Delete object {key} from bucket {bucket}. slots: key: path.Key+ bucket: path.Bucket - text: Permanently delete version {version} of {key} in {bucket}. slots: version: query.versionId key: path.Key+ bucket: path.Bucket method: generated generated: '2026-10-01' - target: $.paths['/{Bucket}/{Key+}'].head update: x-apievangelist-phrasing: intent: Check an object's metadata effect: read questions: - How can I check if a file exists in a bucket without downloading it? - Can I read an object's size and content type without fetching its body? instructions: - text: Get the metadata of {key} in {bucket} without downloading it. slots: key: path.Key+ bucket: path.Bucket - text: Check whether object {key} exists in bucket {bucket}. slots: key: path.Key+ bucket: path.Bucket method: generated generated: '2026-10-01' - target: $.paths['/{Bucket}/{Key+}?copy'].put update: x-apievangelist-phrasing: intent: Copy an object effect: write questions: - How do I copy a file from one bucket to another? - What's the size limit for copying an object in one request? - Can I replace the metadata while copying an object? instructions: - text: Copy {source} to key {key} in bucket {bucket}. slots: source: header.x-amz-copy-source key: path.Key+ bucket: path.Bucket - text: Copy {source} into {bucket}/{key} with storage class {storage_class}. slots: source: header.x-amz-copy-source bucket: path.Bucket key: path.Key+ storage_class: header.x-amz-storage-class method: generated generated: '2026-10-01' - target: $.paths['/{Bucket}?delete'].post update: x-apievangelist-phrasing: intent: Delete many objects in one request effect: destructive questions: - How do I delete a batch of files from a bucket at once? - How many keys can I remove in a single bulk delete? - Can I suppress per-key results when bulk deleting? instructions: - text: Delete objects {objects} from bucket {bucket} in one request. slots: objects: requestBody.Object bucket: path.Bucket - text: Bulk delete the listed keys from {bucket} in quiet mode {quiet}. slots: bucket: path.Bucket quiet: requestBody.Quiet method: generated generated: '2026-10-01'