Oracle Cloud Infrastructure · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Service Object Storage API

62 actions 62 updates phrasing extends openapi/oracle-cloud-object-storage-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Oracle Cloud Infrastructure's API. It is a proposal applied on top of the contract, not a document Oracle Cloud Infrastructure publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 62 · first 16 shown; the file carries all of them

$.info
$.paths['/n/'].get
$.paths['/n/{namespaceName}'].get
$.paths['/n/{namespaceName}'].put
$.paths['/n/{namespaceName}/b/'].get
$.paths['/n/{namespaceName}/b/'].post
$.paths['/n/{namespaceName}/b/{bucketName}/'].get
$.paths['/n/{namespaceName}/b/{bucketName}/'].post
$.paths['/n/{namespaceName}/b/{bucketName}/'].delete
$.paths['/n/{namespaceName}/b/{bucketName}/'].head
$.paths['/n/{namespaceName}/b/{bucketName}/actions/batchDeleteObjects'].post
$.paths['/n/{namespaceName}/b/{bucketName}/actions/copyObject'].post
$.paths['/n/{namespaceName}/b/{bucketName}/actions/makeBucketWritable'].post
$.paths['/n/{namespaceName}/b/{bucketName}/actions/reencrypt'].post
$.paths['/n/{namespaceName}/b/{bucketName}/actions/reencrypt/{objectName}'].post
$.paths['/n/{namespaceName}/b/{bucketName}/actions/renameObject'].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 Service Object Storage API
  version: 1.0.0
extends: openapi/oracle-cloud-object-storage-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-02'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 61
- target: $.paths['/n/'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up my tenancy's Object Storage namespace name
      effect: read
      questions:
      - What is the Object Storage namespace string assigned to my Oracle Cloud tenancy?
      - Where do I find the system-generated namespace name I need for bucket URLs?
      instructions:
      - text: Tell me the Object Storage namespace name for my tenancy.
      - text: Get the namespace name for the tenancy that owns compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}'].get
  update:
    x-apievangelist-phrasing:
      intent: View the default S3 and Swift compartments of a namespace
      effect: read
      questions:
      - Which compartment do buckets created through the S3 compatibility API land in by default?
      - Can I see the defaultSwiftCompartmentId currently set on my namespace?
      instructions:
      - text: Show the metadata for namespace {namespaceName}, including its default S3 and Swift compartments.
        slots:
          namespaceName: path.namespaceName
      - text: Read which compartments namespace {namespaceName} uses for S3 and Swift bucket creation.
        slots:
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change the default compartments for S3 and Swift buckets
      effect: write
      questions:
      - How do I stop S3-compatible buckets from being created in the root compartment?
      - Can I change where Swift API buckets get created by default?
      instructions:
      - text: Set the default S3 compartment of namespace {namespaceName} to {defaultS3CompartmentId}.
        slots:
          namespaceName: path.namespaceName
          defaultS3CompartmentId: requestBody.defaultS3CompartmentId
      - text: Make {defaultSwiftCompartmentId} the default compartment for Swift buckets in namespace {namespaceName}.
        slots:
          defaultSwiftCompartmentId: requestBody.defaultSwiftCompartmentId
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/'].get
  update:
    x-apievangelist-phrasing:
      intent: List the buckets in a compartment
      effect: read
      questions:
      - Which Object Storage buckets exist in a given compartment?
      - Does the bucket list include user-defined metadata, or only summary fields?
      instructions:
      - text: List all buckets in compartment {compartmentId} of namespace {namespaceName}.
        slots:
          compartmentId: query.compartmentId
          namespaceName: path.namespaceName
      - text: Show the first {limit} buckets in compartment {compartmentId} under namespace {namespaceName}.
        slots:
          limit: query.limit
          compartmentId: query.compartmentId
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new Object Storage bucket
      effect: write
      questions:
      - How do I create a bucket in Oracle Cloud Object Storage?
      - Can I turn on versioning and auto-tiering when I first create a bucket?
      - Is it possible to make a new bucket publicly readable from the start?
      instructions:
      - text: Create a bucket named {name} in compartment {compartmentId} of namespace {namespaceName}.
        slots:
          name: requestBody.name
          compartmentId: requestBody.compartmentId
          namespaceName: path.namespaceName
      - text: Create a bucket {name} in compartment {compartmentId}, namespace {namespaceName}, with storage tier {storageTier}.
        slots:
          name: requestBody.name
          compartmentId: requestBody.compartmentId
          namespaceName: path.namespaceName
          storageTier: requestBody.storageTier
      - text: Create bucket {name} in compartment {compartmentId} under {namespaceName} encrypted with KMS key {kmsKeyId}.
        slots:
          name: requestBody.name
          compartmentId: requestBody.compartmentId
          namespaceName: path.namespaceName
          kmsKeyId: requestBody.kmsKeyId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the full details of a bucket
      effect: read
      questions:
      - What settings, tags and metadata does one specific bucket have?
      - Can I check a bucket's approximate size and object count?
      instructions:
      - text: Show the full configuration of bucket {bucketName} in namespace {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Get bucket {bucketName} in {namespaceName} including the fields {fields}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          fields: query.fields
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a bucket's settings or move it to another compartment
      effect: write
      questions:
      - How do I move an existing bucket to a different compartment?
      - Can I change the public access setting on a bucket I already created?
      instructions:
      - text: Move bucket {bucketName} in namespace {namespaceName} to compartment {compartmentId}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          compartmentId: requestBody.compartmentId
      - text: Change the public access type of existing bucket {bucketName} in {namespaceName} to {publicAccessType}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          publicAccessType: requestBody.publicAccessType
      - text: Turn versioning to {versioning} on the existing bucket {bucketName} in {namespaceName}.
        slots:
          versioning: requestBody.versioning
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an empty bucket
      effect: destructive
      questions:
      - Why can't I delete a bucket that still has objects in it?
      - What do I need to remove before an Object Storage bucket can be deleted?
      instructions:
      - text: Delete the empty bucket {bucketName} from namespace {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Remove bucket {bucketName} in {namespaceName} now that it has no objects left.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/'].head
  update:
    x-apievangelist-phrasing:
      intent: Check whether a bucket exists and get its ETag
      effect: read
      questions:
      - Is there a quick way to test if a bucket exists without fetching all its details?
      - What is the current ETag of a bucket?
      instructions:
      - text: Check whether bucket {bucketName} exists in namespace {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Get just the ETag for bucket {bucketName} in {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/actions/batchDeleteObjects'].post
  update:
    x-apievangelist-phrasing:
      intent: Delete many objects from a bucket at once
      effect: destructive
      questions:
      - Can I delete a whole batch of objects in one request instead of one by one?
      - Is there a bulk delete for objects in a bucket?
      instructions:
      - text: Delete these objects {objects} from bucket {bucketName} in namespace {namespaceName} in one batch.
        slots:
          objects: requestBody.objects
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Bulk-remove objects {objects} from {bucketName} in {namespaceName} and skip listing the deleted results.
        slots:
          objects: requestBody.objects
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/actions/copyObject'].post
  update:
    x-apievangelist-phrasing:
      intent: Copy an object to another bucket or region
      effect: write
      questions:
      - How do I copy an object from one bucket into a bucket in another region?
      - Can I copy a specific older version of an object?
      instructions:
      - text: Copy {sourceObjectName} from {bucketName} ({namespaceName}) to {destinationBucket} in {destinationRegion} as {destinationObjectName}.
        slots:
          sourceObjectName: requestBody.sourceObjectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          destinationBucket: requestBody.destinationBucket
          destinationRegion: requestBody.destinationRegion
          destinationObjectName: requestBody.destinationObjectName
      - text: Copy {sourceObjectName} in {bucketName}, namespace {namespaceName}, into namespace {destinationNamespace} bucket {destinationBucket}.
        slots:
          sourceObjectName: requestBody.sourceObjectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          destinationNamespace: requestBody.destinationNamespace
          destinationBucket: requestBody.destinationBucket
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/actions/makeBucketWritable'].post
  update:
    x-apievangelist-phrasing:
      intent: Stop replication into a destination bucket
      effect: destructive
      questions:
      - My replication target bucket is read-only; how do I make it writable again?
      - What happens to the replication policy when I make a destination bucket writable?
      instructions:
      - text: Stop replication into destination bucket {bucketName} in {namespaceName} and make it writable.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Remove the replication policy targeting bucket {bucketName} in namespace {namespaceName} so I can write to it.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/actions/reencrypt'].post
  update:
    x-apievangelist-phrasing:
      intent: Re-encrypt a bucket's data keys with the latest master key
      effect: write
      questions:
      - After rotating my master encryption key, how do I re-encrypt the data keys for a whole bucket?
      - Can I re-encrypt only the bucket key and not every object?
      instructions:
      - text: Re-encrypt all data encryption keys in bucket {bucketName} ({namespaceName}) with the current master key version.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Re-encrypt only the bucket key of {bucketName} in {namespaceName}, setting bucket-key-only to {isReencryptBucketKeyOnly}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          isReencryptBucketKeyOnly: query.isReencryptBucketKeyOnly
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/actions/reencrypt/{objectName}'].post
  update:
    x-apievangelist-phrasing:
      intent: Re-encrypt a single object's data encryption keys
      effect: write
      questions:
      - Can I re-encrypt one object with a different KMS key without touching the rest of the bucket?
      - Which key options exist for re-encrypting an individual object, like a customer-provided SSE key?
      instructions:
      - text: Re-encrypt object {objectName} in bucket {bucketName} ({namespaceName}) using KMS key {kmsKeyId}.
        slots:
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          kmsKeyId: requestBody.kmsKeyId
      - text: Re-encrypt version {versionId} of object {objectName} in {bucketName}, namespace {namespaceName}.
        slots:
          versionId: query.versionId
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/actions/renameObject'].post
  update:
    x-apievangelist-phrasing:
      intent: Rename an object in a bucket
      effect: write
      questions:
      - Is there a way to rename an object without downloading and re-uploading it?
      - Can a rename be made conditional on the source object's ETag?
      instructions:
      - text: Rename object {sourceName} to {newName} in bucket {bucketName} of namespace {namespaceName}.
        slots:
          sourceName: requestBody.sourceName
          newName: requestBody.newName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: In {bucketName} ({namespaceName}), rename {sourceName} to {newName} only if the source ETag is {srcObjIfMatchETag}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          sourceName: requestBody.sourceName
          newName: requestBody.newName
          srcObjIfMatchETag: requestBody.srcObjIfMatchETag
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/actions/restoreObjects'].post
  update:
    x-apievangelist-phrasing:
      intent: Restore an archived object for download
      effect: write
      questions:
      - How do I bring an object back from Archive storage so I can read it?
      - How long does a restored archived object stay available, and can I extend it?
      instructions:
      - text: Restore archived object {objectName} in bucket {bucketName} ({namespaceName}).
        slots:
          objectName: requestBody.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Restore {objectName} from archive in {bucketName}, namespace {namespaceName}, for {hours} hours.
        slots:
          objectName: requestBody.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          hours: requestBody.hours
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/actions/updateObjectStorageTier'].post
  update:
    x-apievangelist-phrasing:
      intent: Move an object to a different storage tier
      effect: write
      questions:
      - Can I move a single object to Infrequent Access or Archive to save money?
      - What storage tiers can an individual object be switched to?
      instructions:
      - text: Change the storage tier of object {objectName} in {bucketName} ({namespaceName}) to {storageTier}.
        slots:
          objectName: requestBody.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          storageTier: requestBody.storageTier
      - text: Move version {versionId} of {objectName} in bucket {bucketName}, namespace {namespaceName}, into the {storageTier} tier.
        slots:
          versionId: requestBody.versionId
          objectName: requestBody.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          storageTier: requestBody.storageTier
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/l'].get
  update:
    x-apievangelist-phrasing:
      intent: View a bucket's object lifecycle policy
      effect: read
      questions:
      - What lifecycle rules are currently set to archive or delete objects in my bucket?
      - Does this bucket have an object lifecycle policy at all?
      instructions:
      - text: Show the object lifecycle policy for bucket {bucketName} in {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Read the lifecycle rules configured on {bucketName} in namespace {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/l'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace a bucket's lifecycle policy
      effect: write
      questions:
      - How do I set up rules that automatically archive or delete old objects in a bucket?
      - Does saving a new lifecycle policy replace the existing rules entirely?
      instructions:
      - text: 'Set the lifecycle policy on bucket {bucketName} in {namespaceName} to these rules: {items}.'
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          items: requestBody.items
      - text: Replace the object lifecycle rules of {bucketName} ({namespaceName}) with {items}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          items: requestBody.items
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/l'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a bucket's object lifecycle policy
      effect: destructive
      questions:
      - How can I turn off all automatic archiving and deletion rules on a bucket?
      - Can I drop a bucket's lifecycle policy completely?
      instructions:
      - text: Delete the object lifecycle policy from bucket {bucketName} in {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Remove all lifecycle rules on {bucketName}, namespace {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/o'].get
  update:
    x-apievangelist-phrasing:
      intent: List the objects in a bucket
      effect: read
      questions:
      - What files are stored in my bucket?
      - Can I list only objects whose names start with a certain prefix, like a folder?
      - Which extra fields, such as size or time created, can the object listing include?
      instructions:
      - text: List the objects in bucket {bucketName} of namespace {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: List objects under prefix {prefix} in bucket {bucketName} ({namespaceName}) using delimiter {delimiter}.
        slots:
          prefix: query.prefix
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          delimiter: query.delimiter
      - text: Show objects in {bucketName}, namespace {namespaceName}, with the fields {fields}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          fields: query.fields
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/o/{objectName}'].get
  update:
    x-apievangelist-phrasing:
      intent: Download an object's contents
      effect: read
      questions:
      - How do I download a file from an Oracle Cloud bucket?
      - Can I fetch just a byte range of a large object?
      instructions:
      - text: Download object {objectName} from bucket {bucketName} in namespace {namespaceName}.
        slots:
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Fetch bytes {range} of {objectName} in {bucketName} ({namespaceName}).
        slots:
          range: header.range
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Download version {versionId} of {objectName} from {bucketName}, namespace {namespaceName}.
        slots:
          versionId: query.versionId
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/o/{objectName}'].put
  update:
    x-apievangelist-phrasing:
      intent: Upload or overwrite an object in a bucket
      effect: write
      questions:
      - What's the biggest file I can upload in a single PutObject request?
      - Will uploading a file with the same name overwrite the existing object?
      instructions:
      - text: Upload a {Content-Length}-byte file as object {objectName} to bucket {bucketName} in {namespaceName}.
        slots:
          Content-Length: header.Content-Length
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Put object {objectName} ({Content-Length} bytes) into {bucketName}, namespace {namespaceName}, in storage tier {storage-tier}.
        slots:
          objectName: path.objectName
          Content-Length: header.Content-Length
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          storage-tier: header.storage-tier
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/o/{objectName}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a single object from a bucket
      effect: destructive
      questions:
      - How do I delete one file from a bucket?
      - Can I delete a specific version of an object instead of the latest one?
      instructions:
      - text: Delete object {objectName} from bucket {bucketName} in namespace {namespaceName}.
        slots:
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Delete version {versionId} of {objectName} in {bucketName} ({namespaceName}).
        slots:
          versionId: query.versionId
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/o/{objectName}'].head
  update:
    x-apievangelist-phrasing:
      intent: Get an object's metadata and ETag without the body
      effect: read
      questions:
      - Can I read an object's user-defined metadata without downloading the file?
      - Is there a cheap way to check if an object exists and get its ETag?
      instructions:
      - text: Get the metadata and ETag of object {objectName} in bucket {bucketName} ({namespaceName}) without downloading it.
        slots:
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Check that {objectName} exists in {bucketName}, namespace {namespaceName}.
        slots:
          objectName: path.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/objectversions'].get
  update:
    x-apievangelist-phrasing:
      intent: List all versions of objects in a bucket
      effect: read
      questions:
      - In a versioned bucket, how can I see every previous version of my objects?
      - How many object versions come back per page, and how do I get the rest?
      instructions:
      - text: List all object versions in bucket {bucketName} of namespace {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Show every version of objects with prefix {prefix} in {bucketName} ({namespaceName}).
        slots:
          prefix: query.prefix
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/p/'].get
  update:
    x-apievangelist-phrasing:
      intent: List a bucket's pre-authenticated requests
      effect: read
      questions:
      - Which pre-authenticated request links are currently active on my bucket?
      - Can I filter pre-authenticated requests by object name prefix?
      instructions:
      - text: List the pre-authenticated requests on bucket {bucketName} in {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Show PARs in {bucketName} ({namespaceName}) for objects starting with {objectNamePrefix}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          objectNamePrefix: query.objectNamePrefix
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/p/'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a pre-authenticated link to a bucket or object
      effect: write
      questions:
      - How do I share a file from a private bucket with someone who has no Oracle Cloud account?
      - Can a pre-authenticated request allow uploads as well as reads, and when does it expire?
      instructions:
      - text: Create a pre-authenticated request named {name} for object {objectName} in {bucketName} ({namespaceName}) with access {accessType}, expiring {timeExpires}.
        slots:
          name: requestBody.name
          objectName: requestBody.objectName
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          accessType: requestBody.accessType
          timeExpires: requestBody.timeExpires
      - text: Make a shareable upload link {name} for bucket {bucketName} in {namespaceName} with access type {accessType} that expires at {timeExpires}.
        slots:
          name: requestBody.name
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          accessType: requestBody.accessType
          timeExpires: requestBody.timeExpires
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/p/{parId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the details of one pre-authenticated request
      effect: read
      questions:
      - When does a particular pre-authenticated request expire and what access does it grant?
      - Which object does a given PAR point to?
      instructions:
      - text: Show pre-authenticated request {parId} on bucket {bucketName} in {namespaceName}.
        slots:
          parId: path.parId
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Get the access type and expiry of PAR {parId} in {bucketName}, namespace {namespaceName}.
        slots:
          parId: path.parId
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/p/{parId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke a pre-authenticated request
      effect: destructive
      questions:
      - How do I revoke a shared link to my bucket before it expires?
      - Can I kill a pre-authenticated request that was shared by mistake?
      instructions:
      - text: Delete pre-authenticated request {parId} from bucket {bucketName} in {namespaceName}.
        slots:
          parId: path.parId
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Revoke the shared PAR link {parId} on {bucketName}, namespace {namespaceName}.
        slots:
          parId: path.parId
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/replicationPolicies'].get
  update:
    x-apievangelist-phrasing:
      intent: List a source bucket's replication policies
      effect: read
      questions:
      - Which replication policies are copying objects out of my bucket?
      - Where is this bucket replicating its data to?
      instructions:
      - text: List the replication policies on source bucket {bucketName} in {namespaceName}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Show outgoing replication policies for {bucketName}, namespace {namespaceName}, {limit} per page.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          limit: query.limit
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/replicationPolicies'].post
  update:
    x-apievangelist-phrasing:
      intent: Replicate a bucket to a bucket in another region
      effect: write
      questions:
      - How do I set up cross-region replication for an Object Storage bucket?
      - Can I automatically copy new objects from one bucket into a bucket in another region?
      instructions:
      - text: Create replication policy {name} copying bucket {bucketName} ({namespaceName}) to {destinationBucketName} in region {destinationRegionName}.
        slots:
          name: requestBody.name
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          destinationBucketName: requestBody.destinationBucketName
          destinationRegionName: requestBody.destinationRegionName
      - text: Start replicating {bucketName} in {namespaceName} into {destinationBucketName} in {destinationRegionName}, naming the policy {name}.
        slots:
          bucketName: path.bucketName
          namespaceName: path.namespaceName
          destinationBucketName: requestBody.destinationBucketName
          destinationRegionName: requestBody.destinationRegionName
          name: requestBody.name
      method: generated
      generated: '2026-10-02'
- target: $.paths['/n/{namespaceName}/b/{bucketName}/replicationPolicies/{replicationId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one replication policy on a bucket
      effect: read
      questions:
      - What destination bucket and region does a specific replication policy target?
      - Can I check the status of one replication policy?
      instructions:
      - text: Show replication policy {replicationId} on bucket {bucketName} in {namespaceName}.
        slots:
          replicationId: path.replicationId
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      - text: Get the destination and status of replication {replicationId} for {bucketName}, namespace {namespaceName}.
        slots:
          replicationId: path.replicationId
          bucketName: path.bucketName
          namespaceName: path.namespaceName
      method: generated
      generated: '2026-10-02'


# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-cloud/refs/heads/main/overlays/oracle-cloud-object-storage-api-phrasing-overlay.yaml