Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Object Storage
  • Terraform reference
    • Authentication with the API
      • How to use the API
      • Signing requests
        • All services and methods
          • All methods
          • upload
          • get
          • patch
          • copy
          • getObjectMeta
          • delete
          • deleteMultipleObjects
          • options
          • selectObjectContent
          • putObjectRetention
          • putObjectLegalHold
          • getObjectRetention
          • getObjectLegalHold
          • putObjectTagging
          • getObjectTagging
          • deleteObjectTagging
        • Common request headers
        • Common response headers
        • Responses
  • Monitoring metrics
  • Audit Trails events
  • Bucket logs
  • Release notes
  • FAQ

In this article:

  • Request
  • Path parameters
  • Request parameters
  • Headers
  • Data schema
  • Response
  • Headers
  • Response codes
  1. API reference
  2. REST (Amazon S3-compatible)
  3. REST
  4. Object
  5. putObjectRetention

putObjectRetention method

Written by
Yandex Cloud
Updated at March 19, 2025
  • Request
    • Path parameters
    • Request parameters
    • Headers
    • Data schema
  • Response
    • Headers
    • Response codes

Puts retention on the object version or configures/disables a previously set lock.

To be able to put locks on object versions, enable object lock in the bucket using the putObjectLockConfiguration method.

Only a user with the storage.admin role can change a lock once it was set. For a governance-mode retention, use a header that confirms retention bypass (see below). You can only extend compliance-mode retention. To check the retention status, use the getObjectRetention method.

For more information on getting started with the API and the general request format, see How to use the S3 API.

RequestRequest

PUT /{bucket}/{key}?retention&versionId={versionId} HTTP/2

Path parametersPath parameters

Parameter Description
bucket Bucket name.
key Object key.

Request parametersRequest parameters

Parameter Description
retention Required parameter that indicates the type of operation.
versionId Object version ID. This is a required parameter.

HeadersHeaders

Use the appropriate common headers in your request.

Moreover, if the governance-mode retention is set for an object version, make sure to use the below-specified header to bypass the retention and confirm its change.

Header Description
X-Amz-Bypass-Governance-Retention Header that confirms bypassing of the governance-mode retention. Set it to true.

Data schemaData schema

<Retention xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Mode>string</Mode>
    <RetainUntilDate>timestamp</RetainUntilDate>
</Retention>
Element Description
Retention

Root element with retention settings.

To remove the governance-mode retention (if you have the storage.admin role), leave this element empty.

Path: Retention.

Mode

Retention type:

  • GOVERNANCE: Governance-mode retention.
  • COMPLIANCE: Compliance-mode retention.

Path: Retention\Mode.

RetainUntilDate

Retention expiration date and time in RFC3339 format, e.g., 2025-01-01T00:00:00. The expiration time value is specified in UTC±00:00. To use a different time zone, add + or - and a UTC±00:00 offset to the end of the record.

Path: Retention\RetainUntilDate.

ResponseResponse

HeadersHeaders

Responses can only contain common headers.

Response codesResponse codes

For a list of possible responses, see Responses.

See alsoSee also

  • Debugging requests using the AWS CLI
  • Example of sending a signed request using curl
  • Code example for generating a signature

Was the article helpful?

Previous
selectObjectContent
Next
putObjectLegalHold
© 2025 Direct Cursus Technology L.L.C.