{ "$comment": "MCP tool definitions for the core tier of the S3 interface profile. Generated by scripts/build-artifacts.py \u2014 do not hand-edit. SPDX-License-Identifier: CC-BY-NC-SA-4.0", "standard": "s3-2006-03-01", "tier": "core", "tools": [ { "name": "s3_ListBuckets", "description": "This operation is not supported for directory buckets. Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation Core-tier: declared by 83.3% of the cohort.", "inputSchema": { "type": "object", "properties": { "MaxBuckets": { "type": "integer", "description": "Maximum number of buckets to be returned in response. When the number is more than the count of buckets that are owned by an Amazon Web Services account, return all the buckets in response.", "x-location": "querystring", "x-location-name": "max-buckets" }, "ContinuationToken": { "type": "string", "description": "ContinuationToken indicates to Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key. You can use this ContinuationToken for pag", "x-location": "querystring", "x-location-name": "continuation-token" }, "Prefix": { "type": "string", "description": "Limits the response to bucket names that begin with the specified bucket name prefix.", "x-location": "querystring", "x-location-name": "prefix" }, "BucketRegion": { "type": "string", "description": "Limits the response to buckets that are located in the specified Amazon Web Services Region. The Amazon Web Services Region must be expressed according to the Amazon Web Services Region code, such as ", "x-location": "querystring", "x-location-name": "bucket-region" }, "endpoint": { "type": "string", "format": "uri", "description": "The S3-compatible endpoint to call." } } }, "_meta": { "apicommons.org/standard": "s3-2006-03-01", "apicommons.org/tier": "core", "apicommons.org/operation": "GET /", "apicommons.org/auth": "AWS Signature Version 4. Every call is signed; there is no anonymous mode." } }, { "name": "s3_ListObjects", "description": "This operation is not supported for directory buckets. Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to ret Core-tier: declared by 83.3% of the cohort.", "inputSchema": { "type": "object", "properties": { "Bucket": { "type": "string", "description": "The name of the bucket containing the objects. Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-z", "x-location": "uri", "x-location-name": "Bucket" }, "Delimiter": { "type": "string", "description": "A delimiter is a character that you use to group keys. CommonPrefixes is filtered out from results if it is not lexicographically greater than the key-marker.", "x-location": "querystring", "x-location-name": "delimiter" }, "EncodingType": { "type": "string", "enum": [ "url" ], "x-location": "querystring", "x-location-name": "encoding-type" }, "Marker": { "type": "string", "description": "Marker is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. Marker can be any key in the bucket.", "x-location": "querystring", "x-location-name": "marker" }, "MaxKeys": { "type": "integer", "description": "Sets the maximum number of keys returned in the response. By default, the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.", "x-location": "querystring", "x-location-name": "max-keys" }, "Prefix": { "type": "string", "description": "Limits the response to keys that begin with the specified prefix.", "x-location": "querystring", "x-location-name": "prefix" }, "RequestPayer": { "type": "string", "enum": [ "requester" ], "description": "Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.", "x-location": "header", "x-location-name": "x-amz-request-payer" }, "ExpectedBucketOwner": { "type": "string", "description": "The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied)", "x-location": "header", "x-location-name": "x-amz-expected-bucket-owner" }, "OptionalObjectAttributes": { "type": "array", "items": { "type": "string", "enum": [ "RestoreStatus" ] }, "description": "Specifies the optional fields that you want returned in the response. Fields that you do not specify are not returned.", "x-location": "header", "x-location-name": "x-amz-optional-object-attributes" }, "endpoint": { "type": "string", "format": "uri", "description": "The S3-compatible endpoint to call." } }, "required": [ "Bucket" ] }, "_meta": { "apicommons.org/standard": "s3-2006-03-01", "apicommons.org/tier": "core", "apicommons.org/operation": "GET /{Bucket}", "apicommons.org/auth": "AWS Signature Version 4. Every call is signed; there is no anonymous mode." } }, { "name": "s3_DeleteBucket", "description": "Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted. Directory buckets - If Core-tier: declared by 75.0% of the cohort.", "inputSchema": { "type": "object", "properties": { "Bucket": { "type": "string", "description": "Specifies the bucket being deleted. Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region-code.amazon", "x-location": "uri", "x-location-name": "Bucket" }, "ExpectedBucketOwner": { "type": "string", "description": "The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied)", "x-location": "header", "x-location-name": "x-amz-expected-bucket-owner" }, "endpoint": { "type": "string", "format": "uri", "description": "The S3-compatible endpoint to call." } }, "required": [ "Bucket" ] }, "_meta": { "apicommons.org/standard": "s3-2006-03-01", "apicommons.org/tier": "core", "apicommons.org/operation": "DELETE /{Bucket}", "apicommons.org/auth": "AWS Signature Version 4. Every call is signed; there is no anonymous mode." } }, { "name": "s3_DeleteObject", "description": "Removes an object from a bucket. The behavior depends on the bucket's versioning state: If bucket versioning is not enabled, the operation permanently deletes the object. If bucket Core-tier: declared by 75.0% of the cohort.", "inputSchema": { "type": "object", "properties": { "Bucket": { "type": "string", "description": "The bucket name of the bucket containing the object. Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3exp", "x-location": "uri", "x-location-name": "Bucket" }, "Key": { "type": "string", "description": "Key name of the object to delete.", "x-location": "uri", "x-location-name": "Key" }, "MFA": { "type": "string", "description": "The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. Required to permanently delete a versioned object if versioning ", "x-location": "header", "x-location-name": "x-amz-mfa" }, "VersionId": { "type": "string", "description": "Version ID used to reference a specific version of the object. For directory buckets in this API operation, only the null value of the version ID is supported.", "x-location": "querystring", "x-location-name": "versionId" }, "RequestPayer": { "type": "string", "enum": [ "requester" ], "x-location": "header", "x-location-name": "x-amz-request-payer" }, "BypassGovernanceRetention": { "type": "boolean", "description": "Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process this operation. To use this header, you must have the s3:BypassGovernanceRetention permission. This functionality", "x-location": "header", "x-location-name": "x-amz-bypass-governance-retention" }, "ExpectedBucketOwner": { "type": "string", "description": "The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied)", "x-location": "header", "x-location-name": "x-amz-expected-bucket-owner" }, "IfMatch": { "type": "string", "description": "Deletes the object if the ETag (entity tag) value provided during the delete operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a 412 Precondition F", "x-location": "header", "x-location-name": "If-Match" }, "IfMatchLastModifiedTime": { "type": "string", "description": "If present, the object is deleted only if its modification times matches the provided Timestamp. If the Timestamp values do not match, the operation returns a 412 Precondition Failed error. If the Tim", "x-location": "header", "x-location-name": "x-amz-if-match-last-modified-time" }, "IfMatchSize": { "type": "integer", "description": "If present, the object is deleted only if its size matches the provided size in bytes. If the Size value does not match, the operation returns a 412 Precondition Failed error. If the Size matches or i", "x-location": "header", "x-location-name": "x-amz-if-match-size" }, "endpoint": { "type": "string", "format": "uri", "description": "The S3-compatible endpoint to call." } }, "required": [ "Bucket", "Key" ] }, "_meta": { "apicommons.org/standard": "s3-2006-03-01", "apicommons.org/tier": "core", "apicommons.org/operation": "DELETE /{Bucket}/{Key+}", "apicommons.org/auth": "AWS Signature Version 4. Every call is signed; there is no anonymous mode." } }, { "name": "s3_GetObject", "description": "Retrieves an object from Amazon S3. In the GetObject request, specify the full key name for the object. General purpose buckets - Both the virtual-hosted-style requests and the pat Core-tier: declared by 75.0% of the cohort.", "inputSchema": { "type": "object", "properties": { "Bucket": { "type": "string", "description": "The bucket name containing the object. Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.r", "x-location": "uri", "x-location-name": "Bucket" }, "IfMatch": { "type": "string", "description": "Return the object only if its entity tag (ETag) is the same as the one specified in this header; otherwise, return a 412 Precondition Failed error. If both of the If-Match and If-Unmodified-Since head", "x-location": "header", "x-location-name": "If-Match" }, "IfModifiedSince": { "type": "string", "description": "Return the object only if it has been modified since the specified time; otherwise, return a 304 Not Modified error. If both of the If-None-Match and If-Modified-Since headers are present in the reque", "x-location": "header", "x-location-name": "If-Modified-Since" }, "IfNoneMatch": { "type": "string", "description": "Return the object only if its entity tag (ETag) is different from the one specified in this header; otherwise, return a 304 Not Modified error. If both of the If-None-Match and If-Modified-Since heade", "x-location": "header", "x-location-name": "If-None-Match" }, "IfUnmodifiedSince": { "type": "string", "description": "Return the object only if it has not been modified since the specified time; otherwise, return a 412 Precondition Failed error. If both of the If-Match and If-Unmodified-Since headers are present in t", "x-location": "header", "x-location-name": "If-Unmodified-Since" }, "Key": { "type": "string", "description": "Key of the object to get.", "x-location": "uri", "x-location-name": "Key" }, "Range": { "type": "string", "description": "Downloads the specified byte range of an object. For more information about the HTTP Range header, see https://www.rfc-editor.org/rfc/rfc9110.html#name-range. Amazon S3 doesn't support retrieving mult", "x-location": "header", "x-location-name": "Range" }, "ResponseCacheControl": { "type": "string", "description": "Sets the Cache-Control header of the response.", "x-location": "querystring", "x-location-name": "response-cache-control" }, "ResponseContentDisposition": { "type": "string", "description": "Sets the Content-Disposition header of the response.", "x-location": "querystring", "x-location-name": "response-content-disposition" }, "ResponseContentEncoding": { "type": "string", "description": "Sets the Content-Encoding header of the response.", "x-location": "querystring", "x-location-name": "response-content-encoding" }, "ResponseContentLanguage": { "type": "string", "description": "Sets the Content-Language header of the response.", "x-location": "querystring", "x-location-name": "response-content-language" }, "ResponseContentType": { "type": "string", "description": "Sets the Content-Type header of the response.", "x-location": "querystring", "x-location-name": "response-content-type" }, "ResponseExpires": { "type": "string", "description": "Sets the Expires header of the response.", "x-location": "querystring", "x-location-name": "response-expires" }, "VersionId": { "type": "string", "description": "Version ID used to reference a specific version of the object. By default, the GetObject operation returns the current version of an object. To return a different version, use the versionId subresourc", "x-location": "querystring", "x-location-name": "versionId" }, "SSECustomerAlgorithm": { "type": "string", "description": "Specifies the algorithm to use when decrypting the object (for example, AES256). If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store ", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey": { "type": "string", "description": "Specifies the customer-provided encryption key that you originally provided for Amazon S3 to encrypt the data before storing it. This value is used to decrypt the object when recovering it and must ma", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5": { "type": "string", "description": "Specifies the 128-bit MD5 digest of the customer-provided encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitt", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-customer-key-MD5" }, "RequestPayer": { "type": "string", "enum": [ "requester" ], "x-location": "header", "x-location-name": "x-amz-request-payer" }, "PartNumber": { "type": "integer", "description": "Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an obje", "x-location": "querystring", "x-location-name": "partNumber" }, "ExpectedBucketOwner": { "type": "string", "description": "The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied)", "x-location": "header", "x-location-name": "x-amz-expected-bucket-owner" }, "ChecksumMode": { "type": "string", "enum": [ "ENABLED" ], "description": "To retrieve the checksum, this mode must be enabled.", "x-location": "header", "x-location-name": "x-amz-checksum-mode" }, "endpoint": { "type": "string", "format": "uri", "description": "The S3-compatible endpoint to call." } }, "required": [ "Bucket", "Key" ] }, "_meta": { "apicommons.org/standard": "s3-2006-03-01", "apicommons.org/tier": "core", "apicommons.org/operation": "GET /{Bucket}/{Key+}", "apicommons.org/auth": "AWS Signature Version 4. Every call is signed; there is no anonymous mode." } }, { "name": "s3_CreateBucket", "description": "This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see CreateBucket . Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and ha Core-tier: declared by 66.7% of the cohort.", "inputSchema": { "type": "object", "properties": { "ACL": { "type": "string", "enum": [ "private", "public-read", "public-read-write", "authenticated-read" ], "description": "The canned ACL to apply to the bucket. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-acl" }, "Bucket": { "type": "string", "description": "The name of the bucket to create. General purpose buckets - For information about bucket naming restrictions, see Bucket naming rules in the Amazon S3 User Guide. Directory buckets - When you use this", "x-location": "uri", "x-location-name": "Bucket" }, "CreateBucketConfiguration": { "type": "object", "properties": { "LocationConstraint": { "type": "string", "enum": [ "af-south-1", "ap-east-1", "ap-east-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ap-southeast-6", "ap-southeast-7", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "EU", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "mx-central-1", "sa-east-1", "us-east-2", "us-gov-east-1", "us-gov-west-1", "us-west-1", "us-west-2" ], "description": "Specifies the Region where the bucket will be created. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will" }, "Location": { "type": "object", "properties": { "Type": { "type": "string", "enum": [ "AvailabilityZone", "LocalZone" ], "description": "The type of location where the bucket will be created." }, "Name": { "type": "string", "description": "The name of the location where the bucket will be created. For directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be crea" } }, "description": "Specifies the location where the bucket will be created. Directory buckets - The location type is Availability Zone or Local Zone. To use the Local Zone location type, your account must be enabled for" }, "Bucket": { "type": "object", "properties": { "DataRedundancy": { "type": "string", "enum": [ "SingleAvailabilityZone", "SingleLocalZone" ], "description": "The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket." }, "Type": { "type": "string", "enum": [ "Directory" ], "description": "The type of bucket." } }, "description": "Specifies the information about the bucket that will be created. This functionality is only supported by directory buckets." }, "Tags": { "type": "array", "items": { "type": "object", "properties": { "Key": { "type": "string", "description": "Name of the object key." }, "Value": { "type": "string", "description": "Value of the tag." } }, "required": [ "Key", "Value" ] }, "description": "An array of tags that you can apply to the bucket that you're creating. Tags are key-value pairs of metadata used to categorize and organize your buckets, track costs, and control access. You must hav" } }, "description": "The configuration information for the bucket." }, "GrantFullControl": { "type": "string", "description": "Allows grantee the read, write, read ACP, and write ACP permissions on the bucket. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-grant-full-control" }, "GrantRead": { "type": "string", "description": "Allows grantee to list the objects in the bucket. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-grant-read" }, "GrantReadACP": { "type": "string", "description": "Allows grantee to read the bucket ACL. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-grant-read-acp" }, "GrantWrite": { "type": "string", "description": "Allows grantee to create new objects in the bucket. For the bucket and object owners of existing objects, also allows deletions and overwrites of those objects. This functionality is not supported for", "x-location": "header", "x-location-name": "x-amz-grant-write" }, "GrantWriteACP": { "type": "string", "description": "Allows grantee to write the ACL for the applicable bucket. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-grant-write-acp" }, "ObjectLockEnabledForBucket": { "type": "boolean", "description": "Specifies whether you want S3 Object Lock to be enabled for the new bucket. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-bucket-object-lock-enabled" }, "ObjectOwnership": { "type": "string", "enum": [ "BucketOwnerPreferred", "ObjectWriter", "BucketOwnerEnforced" ], "x-location": "header", "x-location-name": "x-amz-object-ownership" }, "BucketNamespace": { "type": "string", "enum": [ "account-regional", "global" ], "description": "Specifies the namespace where you want to create your general purpose bucket. When you create a general purpose bucket, you can choose to create a bucket in the shared global namespace or you can choo", "x-location": "header", "x-location-name": "x-amz-bucket-namespace" }, "endpoint": { "type": "string", "format": "uri", "description": "The S3-compatible endpoint to call." } }, "required": [ "Bucket" ] }, "_meta": { "apicommons.org/standard": "s3-2006-03-01", "apicommons.org/tier": "core", "apicommons.org/operation": "PUT /{Bucket}", "apicommons.org/auth": "AWS Signature Version 4. Every call is signed; there is no anonymous mode." } }, { "name": "s3_HeadObject", "description": "The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata. A HEAD request Core-tier: declared by 58.3% of the cohort.", "inputSchema": { "type": "object", "properties": { "Bucket": { "type": "string", "description": "The name of the bucket that contains the object. Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express", "x-location": "uri", "x-location-name": "Bucket" }, "IfMatch": { "type": "string", "description": "Return the object only if its entity tag (ETag) is the same as the one specified; otherwise, return a 412 (precondition failed) error. If both of the If-Match and If-Unmodified-Since headers are prese", "x-location": "header", "x-location-name": "If-Match" }, "IfModifiedSince": { "type": "string", "description": "Return the object only if it has been modified since the specified time; otherwise, return a 304 (not modified) error. If both of the If-None-Match and If-Modified-Since headers are present in the req", "x-location": "header", "x-location-name": "If-Modified-Since" }, "IfNoneMatch": { "type": "string", "description": "Return the object only if its entity tag (ETag) is different from the one specified; otherwise, return a 304 (not modified) error. If both of the If-None-Match and If-Modified-Since headers are presen", "x-location": "header", "x-location-name": "If-None-Match" }, "IfUnmodifiedSince": { "type": "string", "description": "Return the object only if it has not been modified since the specified time; otherwise, return a 412 (precondition failed) error. If both of the If-Match and If-Unmodified-Since headers are present in", "x-location": "header", "x-location-name": "If-Unmodified-Since" }, "Key": { "type": "string", "description": "The object key.", "x-location": "uri", "x-location-name": "Key" }, "Range": { "type": "string", "description": "HeadObject returns only the metadata for an object. If the Range is satisfiable, only the ContentLength is affected in the response. If the Range is not satisfiable, S3 returns a 416 - Requested Range", "x-location": "header", "x-location-name": "Range" }, "ResponseCacheControl": { "type": "string", "description": "Sets the Cache-Control header of the response.", "x-location": "querystring", "x-location-name": "response-cache-control" }, "ResponseContentDisposition": { "type": "string", "description": "Sets the Content-Disposition header of the response.", "x-location": "querystring", "x-location-name": "response-content-disposition" }, "ResponseContentEncoding": { "type": "string", "description": "Sets the Content-Encoding header of the response.", "x-location": "querystring", "x-location-name": "response-content-encoding" }, "ResponseContentLanguage": { "type": "string", "description": "Sets the Content-Language header of the response.", "x-location": "querystring", "x-location-name": "response-content-language" }, "ResponseContentType": { "type": "string", "description": "Sets the Content-Type header of the response.", "x-location": "querystring", "x-location-name": "response-content-type" }, "ResponseExpires": { "type": "string", "description": "Sets the Expires header of the response.", "x-location": "querystring", "x-location-name": "response-expires" }, "VersionId": { "type": "string", "description": "Version ID used to reference a specific version of the object. For directory buckets in this API operation, only the null value of the version ID is supported.", "x-location": "querystring", "x-location-name": "versionId" }, "SSECustomerAlgorithm": { "type": "string", "description": "Specifies the algorithm to use when encrypting the object (for example, AES256). This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey": { "type": "string", "description": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. Th", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5": { "type": "string", "description": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error. ", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-customer-key-MD5" }, "RequestPayer": { "type": "string", "enum": [ "requester" ], "x-location": "header", "x-location-name": "x-amz-request-payer" }, "PartNumber": { "type": "integer", "description": "Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part a", "x-location": "querystring", "x-location-name": "partNumber" }, "ExpectedBucketOwner": { "type": "string", "description": "The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied)", "x-location": "header", "x-location-name": "x-amz-expected-bucket-owner" }, "ChecksumMode": { "type": "string", "enum": [ "ENABLED" ], "description": "To retrieve the checksum, this parameter must be enabled. General purpose buckets - If you enable checksum mode and the object is uploaded with a checksum and encrypted with an Key Management Service ", "x-location": "header", "x-location-name": "x-amz-checksum-mode" }, "endpoint": { "type": "string", "format": "uri", "description": "The S3-compatible endpoint to call." } }, "required": [ "Bucket", "Key" ] }, "_meta": { "apicommons.org/standard": "s3-2006-03-01", "apicommons.org/tier": "core", "apicommons.org/operation": "HEAD /{Bucket}/{Key+}", "apicommons.org/auth": "AWS Signature Version 4. Every call is signed; there is no anonymous mode." } }, { "name": "s3_PutObject", "description": "End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a requ Core-tier: declared by 58.3% of the cohort.", "inputSchema": { "type": "object", "properties": { "ACL": { "type": "string", "enum": [ "private", "public-read", "public-read-write", "authenticated-read", "aws-exec-read", "bucket-owner-read", "bucket-owner-full-control" ], "description": "The canned ACL to apply to the object. For more information, see Canned ACL in the Amazon S3 User Guide. When adding a new object, you can use headers to grant ACL-based permissions to individual Amaz", "x-location": "header", "x-location-name": "x-amz-acl" }, "Body": { "type": "string", "description": "Object data." }, "Bucket": { "type": "string", "description": "The bucket name to which the PUT action was initiated. Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3e", "x-location": "uri", "x-location-name": "Bucket" }, "CacheControl": { "type": "string", "description": "Can be used to specify caching behavior along the request/reply chain. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.", "x-location": "header", "x-location-name": "Cache-Control" }, "ContentDisposition": { "type": "string", "description": "Specifies presentational information for the object. For more information, see https://www.rfc-editor.org/rfc/rfc6266#section-4.", "x-location": "header", "x-location-name": "Content-Disposition" }, "ContentEncoding": { "type": "string", "description": "Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. For more inform", "x-location": "header", "x-location-name": "Content-Encoding" }, "ContentLanguage": { "type": "string", "description": "The language the content is in.", "x-location": "header", "x-location-name": "Content-Language" }, "ContentLength": { "type": "integer", "description": "Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. For more information, see https://www.rfc-editor.org/rfc/rfc9110.html#name-content-len", "x-location": "header", "x-location-name": "Content-Length" }, "ContentMD5": { "type": "string", "description": "The Base64 encoded 128-bit MD5 digest of the message (without the headers) according to RFC 1864. This header can be used as a message integrity check to verify that the data is the same data that was", "x-location": "header", "x-location-name": "Content-MD5" }, "ContentType": { "type": "string", "description": "A standard MIME type describing the format of the contents. For more information, see https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type.", "x-location": "header", "x-location-name": "Content-Type" }, "ChecksumAlgorithm": { "type": "string", "enum": [ "CRC32", "CRC32C", "SHA1", "SHA256", "CRC64NVME", "SHA512", "MD5", "XXHASH64", "XXHASH3", "XXHASH128" ], "description": "Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any additional functionality if you don't use the SDK. When you send this header, ", "x-location": "header", "x-location-name": "x-amz-sdk-checksum-algorithm" }, "ChecksumCRC32": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 32-bit CRC32 checksum of the obj", "x-location": "header", "x-location-name": "x-amz-checksum-crc32" }, "ChecksumCRC32C": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 32-bit CRC32C checksum of the ob", "x-location": "header", "x-location-name": "x-amz-checksum-crc32c" }, "ChecksumCRC64NVME": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 64-bit CRC64NVME checksum of the", "x-location": "header", "x-location-name": "x-amz-checksum-crc64nvme" }, "ChecksumSHA1": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 160-bit SHA1 digest of the objec", "x-location": "header", "x-location-name": "x-amz-checksum-sha1" }, "ChecksumSHA256": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 256-bit SHA256 digest of the obj", "x-location": "header", "x-location-name": "x-amz-checksum-sha256" }, "ChecksumSHA512": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 512-bit SHA512 digest of the obj", "x-location": "header", "x-location-name": "x-amz-checksum-sha512" }, "ChecksumMD5": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 128-bit MD5 digest of the object", "x-location": "header", "x-location-name": "x-amz-checksum-md5" }, "ChecksumXXHASH64": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 64-bit XXHASH64 checksum of the ", "x-location": "header", "x-location-name": "x-amz-checksum-xxhash64" }, "ChecksumXXHASH3": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 64-bit XXHASH3 checksum of the o", "x-location": "header", "x-location-name": "x-amz-checksum-xxhash3" }, "ChecksumXXHASH128": { "type": "string", "description": "This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 128-bit XXHASH128 checksum of th", "x-location": "header", "x-location-name": "x-amz-checksum-xxhash128" }, "Expires": { "type": "string", "description": "The date and time at which the object is no longer cacheable. For more information, see https://www.rfc-editor.org/rfc/rfc7234#section-5.3.", "x-location": "header", "x-location-name": "Expires" }, "IfMatch": { "type": "string", "description": "Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a 412 Preconditi", "x-location": "header", "x-location-name": "If-Match" }, "IfNoneMatch": { "type": "string", "description": "Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a conflicting operation occurs during th", "x-location": "header", "x-location-name": "If-None-Match" }, "GrantFullControl": { "type": "string", "description": "Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. This functionality is not supported for directory buckets. This functionality is not supported for Amazon S3 on Outposts.", "x-location": "header", "x-location-name": "x-amz-grant-full-control" }, "GrantRead": { "type": "string", "description": "Allows grantee to read the object data and its metadata. This functionality is not supported for directory buckets. This functionality is not supported for Amazon S3 on Outposts.", "x-location": "header", "x-location-name": "x-amz-grant-read" }, "GrantReadACP": { "type": "string", "description": "Allows grantee to read the object ACL. This functionality is not supported for directory buckets. This functionality is not supported for Amazon S3 on Outposts.", "x-location": "header", "x-location-name": "x-amz-grant-read-acp" }, "GrantWriteACP": { "type": "string", "description": "Allows grantee to write the ACL for the applicable object. This functionality is not supported for directory buckets. This functionality is not supported for Amazon S3 on Outposts.", "x-location": "header", "x-location-name": "x-amz-grant-write-acp" }, "Key": { "type": "string", "description": "Object key for which the PUT action was initiated.", "x-location": "uri", "x-location-name": "Key" }, "WriteOffsetBytes": { "type": "integer", "description": "Specifies the offset for appending data to existing objects in bytes. The offset must be equal to the size of the existing object being appended to. If no object exists, setting this header to 0 will ", "x-location": "header", "x-location-name": "x-amz-write-offset-bytes" }, "Metadata": { "type": "object", "additionalProperties": { "type": "string" }, "description": "A map of metadata to store with the object in S3.", "x-location": "headers", "x-location-name": "x-amz-meta-" }, "ServerSideEncryption": { "type": "string", "enum": [ "AES256", "aws:fsx", "aws:backup", "aws:kms", "aws:kms:dsse" ], "description": "The server-side encryption algorithm that was used when you store this object in Amazon S3 or Amazon FSx. General purpose buckets - You have four mutually exclusive options to protect data using serve", "x-location": "header", "x-location-name": "x-amz-server-side-encryption" }, "StorageClass": { "type": "string", "enum": [ "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_IR", "SNOW", "EXPRESS_ONEZONE", "FSX_OPENZFS", "FSX_ONTAP", "AWS_BACKUP_WARM", "AWS_BACKUP_LOW_COST_WARM" ], "description": "By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can", "x-location": "header", "x-location-name": "x-amz-storage-class" }, "WebsiteRedirectLocation": { "type": "string", "description": "If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadat", "x-location": "header", "x-location-name": "x-amz-website-redirect-location" }, "SSECustomerAlgorithm": { "type": "string", "description": "Specifies the algorithm to use when encrypting the object (for example, AES256). This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey": { "type": "string", "description": "Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. Th", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5": { "type": "string", "description": "Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error. ", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId": { "type": "string", "description": "Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. If the KMS key doesn't exist in the same account that's issuing the command, you must use the full Key ARN not th", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-aws-kms-key-id" }, "SSEKMSEncryptionContext": { "type": "string", "description": "Specifies the Amazon Web Services KMS Encryption Context as an additional encryption context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, ", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-context" }, "BucketKeyEnabled": { "type": "boolean", "description": "Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using Key Management Service (KMS) keys (SSE-KMS). General purpose buckets - Setting this head", "x-location": "header", "x-location-name": "x-amz-server-side-encryption-bucket-key-enabled" }, "RequestPayer": { "type": "string", "enum": [ "requester" ], "x-location": "header", "x-location-name": "x-amz-request-payer" }, "Tagging": { "type": "string", "description": "The tag-set for the object. The tag-set must be encoded as URL Query parameters. (For example, \"Key1=Value1\") This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-tagging" }, "ObjectLockMode": { "type": "string", "enum": [ "GOVERNANCE", "COMPLIANCE" ], "description": "The Object Lock mode that you want to apply to this object. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-object-lock-mode" }, "ObjectLockRetainUntilDate": { "type": "string", "description": "The date and time when you want this object's Object Lock to expire. Must be formatted as a timestamp parameter. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-object-lock-retain-until-date" }, "ObjectLockLegalHoldStatus": { "type": "string", "enum": [ "ON", "OFF" ], "description": "Specifies whether a legal hold will be applied to this object. For more information about S3 Object Lock, see Object Lock in the Amazon S3 User Guide. This functionality is not supported for directory", "x-location": "header", "x-location-name": "x-amz-object-lock-legal-hold" }, "ObjectLockEventHold": { "type": "string", "enum": [ "ON", "OFF" ], "description": "Specifies the event hold status to apply to this object. Set to ON to enable or OFF to disable. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-object-lock-event-hold" }, "ObjectLockEventHoldDurationDays": { "type": "integer", "description": "Specifies the event hold duration in days to apply to this object. You cannot specify a duration in both days and years. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-object-lock-event-hold-duration-days" }, "ObjectLockEventHoldDurationYears": { "type": "integer", "description": "Specifies the event hold duration in years to apply to this object. You cannot specify a duration in both days and years. This functionality is not supported for directory buckets.", "x-location": "header", "x-location-name": "x-amz-object-lock-event-hold-duration-years" }, "ExpectedBucketOwner": { "type": "string", "description": "The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied)", "x-location": "header", "x-location-name": "x-amz-expected-bucket-owner" }, "endpoint": { "type": "string", "format": "uri", "description": "The S3-compatible endpoint to call." } }, "required": [ "Bucket", "Key" ] }, "_meta": { "apicommons.org/standard": "s3-2006-03-01", "apicommons.org/tier": "core", "apicommons.org/operation": "PUT /{Bucket}/{Key+}", "apicommons.org/auth": "AWS Signature Version 4. Every call is signed; there is no anonymous mode." } } ] }