generated: '2026-07-15' method: generated source: openapi/amazon-s3-control-api-openapi.yml, openapi/amazon-s3-rest-api-openapi.yml, openapi/amazon-s3-tables-api-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 82 by_action_class: connected: 34 acting: 48 by_consequence: read: 34 write: 47 safety-critical: 1 human_in_the_loop_required: 1 operations: - path: /v20180820/accesspoint/{name} method: get operationId: GetAccessPoint x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/accesspoint/{name} method: put operationId: CreateAccessPoint x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/accesspoint/{name} method: delete operationId: DeleteAccessPoint x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/accesspoint method: get operationId: ListAccessPoints x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/accesspoint/{name}/policy method: get operationId: GetAccessPointPolicy x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/accesspoint/{name}/policy method: put operationId: PutAccessPointPolicy x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/accesspoint/{name}/policy method: delete operationId: DeleteAccessPointPolicy x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/jobs method: get operationId: ListJobs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/jobs method: post operationId: CreateJob x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/jobs/{id} method: get operationId: DescribeJob x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/jobs/{id}/priority method: post operationId: UpdateJobPriority x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/jobs/{id}/status method: post operationId: UpdateJobStatus x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/configuration/publicAccessBlock method: get operationId: GetPublicAccessBlock x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/configuration/publicAccessBlock method: put operationId: PutPublicAccessBlock x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/configuration/publicAccessBlock method: delete operationId: DeletePublicAccessBlock x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/storagelens method: get operationId: ListStorageLensConfigurations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/storagelens/{storagelensid} method: get operationId: GetStorageLensConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/storagelens/{storagelensid} method: put operationId: PutStorageLensConfiguration x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/storagelens/{storagelensid} method: delete operationId: DeleteStorageLensConfiguration x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/accessgrantsinstance method: get operationId: GetAccessGrantsInstance x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/accessgrantsinstance method: post operationId: CreateAccessGrantsInstance x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/accessgrantsinstance method: delete operationId: DeleteAccessGrantsInstance x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/async-requests/mrap/create method: post operationId: CreateMultiRegionAccessPoint x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v20180820/mrap/instances method: get operationId: ListMultiRegionAccessPoints x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v20180820/mrap/instances/{mrap_name+} method: get operationId: GetMultiRegionAccessPoint x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: / method: get operationId: ListBuckets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket} method: put operationId: CreateBucket x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket} method: delete operationId: DeleteBucket x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket} method: head operationId: HeadBucket x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}?list-type=2 method: get operationId: ListObjectsV2 x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}/{Key+} method: get operationId: GetObject x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}/{Key+} method: put operationId: PutObject x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}/{Key+} method: delete operationId: DeleteObject x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}/{Key+} method: head operationId: HeadObject x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}/{Key+}?copy method: put operationId: CopyObject x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?delete method: post operationId: DeleteObjects x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}/{Key+}?uploads method: post operationId: CreateMultipartUpload x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}/{Key+}?partNumber={partNumber}&uploadId={uploadId} method: put operationId: UploadPart x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}/{Key+}?uploadId={uploadId} method: post operationId: CompleteMultipartUpload x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}/{Key+}?uploadId={uploadId} method: delete operationId: AbortMultipartUpload x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?acl method: get operationId: GetBucketAcl x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}?acl method: put operationId: PutBucketAcl x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /{Bucket}?versioning method: get operationId: GetBucketVersioning x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}?versioning method: put operationId: PutBucketVersioning x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?tagging method: get operationId: GetBucketTagging x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}?tagging method: put operationId: PutBucketTagging x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?tagging method: delete operationId: DeleteBucketTagging x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?encryption method: get operationId: GetBucketEncryption x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}?encryption method: put operationId: PutBucketEncryption x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?encryption method: delete operationId: DeleteBucketEncryption x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?lifecycle method: get operationId: GetBucketLifecycleConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}?lifecycle method: put operationId: PutBucketLifecycleConfiguration x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?lifecycle method: delete operationId: DeleteBucketLifecycle x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?cors method: get operationId: GetBucketCors x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{Bucket}?cors method: put operationId: PutBucketCors x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /{Bucket}?cors method: delete operationId: DeleteBucketCors x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /buckets method: get operationId: ListTableBuckets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /buckets method: put operationId: CreateTableBucket x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /buckets/{tableBucketARN} method: get operationId: GetTableBucket x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /buckets/{tableBucketARN} method: delete operationId: DeleteTableBucket x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /buckets/{tableBucketARN}/policy method: get operationId: GetTableBucketPolicy x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /buckets/{tableBucketARN}/policy method: put operationId: PutTableBucketPolicy x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /buckets/{tableBucketARN}/policy method: delete operationId: DeleteTableBucketPolicy x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /buckets/{tableBucketARN}/maintenance method: get operationId: GetTableBucketMaintenanceConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /buckets/{tableBucketARN}/maintenance method: put operationId: PutTableBucketMaintenanceConfiguration x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /namespaces/{tableBucketARN} method: get operationId: ListNamespaces x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /namespaces/{tableBucketARN} method: put operationId: CreateNamespace x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /namespaces/{tableBucketARN}/{namespace} method: get operationId: GetNamespace x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /namespaces/{tableBucketARN}/{namespace} method: delete operationId: DeleteNamespace x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /tables/{tableBucketARN}/{namespace} method: get operationId: ListTables x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tables/{tableBucketARN}/{namespace} method: put operationId: CreateTable x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /tables/{tableBucketARN}/{namespace}/{name} method: get operationId: GetTable x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tables/{tableBucketARN}/{namespace}/{name} method: delete operationId: DeleteTable x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /tables/{tableBucketARN}/{namespace}/{name} method: post operationId: RenameTable x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /tables/{tableBucketARN}/{namespace}/{name}/policy method: get operationId: GetTablePolicy x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tables/{tableBucketARN}/{namespace}/{name}/policy method: put operationId: PutTablePolicy x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /tables/{tableBucketARN}/{namespace}/{name}/policy method: delete operationId: DeleteTablePolicy x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /tables/{tableBucketARN}/{namespace}/{name}/maintenance method: get operationId: GetTableMaintenanceConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tables/{tableBucketARN}/{namespace}/{name}/maintenance method: put operationId: PutTableMaintenanceConfiguration x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /tables/{tableBucketARN}/{namespace}/{name}/maintenance-job-status method: get operationId: GetTableMaintenanceJobStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tables/{tableBucketARN}/{namespace}/{name}/metadata-location method: get operationId: GetTableMetadataLocation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /tables/{tableBucketARN}/{namespace}/{name}/metadata-location method: put operationId: UpdateTableMetadataLocation x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required