Amazon S3 · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Amazon S3 REST Objects API

8 actions 8 updates phrasing extends openapi/amazon-s3-objects-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Amazon S3's API. It is a proposal applied on top of the contract, not a document Amazon S3 publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/{Bucket}?list-type=2'].get
$.paths['/{Bucket}/{Key+}'].get
$.paths['/{Bucket}/{Key+}'].put
$.paths['/{Bucket}/{Key+}'].delete
$.paths['/{Bucket}/{Key+}'].head
$.paths['/{Bucket}/{Key+}?copy'].put
$.paths['/{Bucket}?delete'].post

OpenAPI Overlay

Raw ↑
# 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'