PutObjectLockConfiguration - Amazon Simple Storage Service


Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket.


DefaultRetention requires either Days or Years. You can't specify both at the same time.

Related Resources

Request Syntax

PUT /?object-lock HTTP/1.1 Host: Bucket.s3.amazonaws.com x-amz-request-payer: RequestPayer x-amz-bucket-object-lock-token: Token Content-MD5: ContentMD5 x-amz-expected-bucket-owner: ExpectedBucketOwner <?xml version="1.0" encoding="UTF-8"?> <ObjectLockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <ObjectLockEnabled>string</ObjectLockEnabled> <Rule> <DefaultRetention> <Days>integer</Days> <Mode>string</Mode> <Years>integer</Years> </DefaultRetention> </Rule> </ObjectLockConfiguration>

URI Request Parameters

The request uses the following URI parameters.


The bucket whose Object Lock configuration you want to create or replace.

Required: Yes


The MD5 hash for the request body.

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.


A token to allow Object Lock to be enabled for an existing bucket.


The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.


Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the Amazon S3 Developer Guide.

Valid Values: requester

Request Body

The request accepts the following data in XML format.


Root level tag for the ObjectLockConfiguration parameters.

Required: Yes


Indicates whether this bucket has an Object Lock configuration enabled.

Type: String

Valid Values: Enabled

Required: No


The Object Lock rule in place for the specified object.

Type: ObjectLockRule data type

Required: No

Response Syntax

HTTP/1.1 200 x-amz-request-charged: RequestCharged

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The response returns the following HTTP headers.


If present, indicates that the requester was successfully charged for the request.

Valid Values: requester

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: