--- title: "PutObjectRetention" slug: "ncloudstorage-putobjectretention" updated: 2026-09-17T09:58:30Z published: 2026-09-17T09:58:30Z canonical: "api.ncloud-docs.com/ncloudstorage-putobjectretention" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # PutObjectRetention Classic/VPC環境で利用できます。 Ncloud Storageオブジェクトにリテンション(Retention)設定を適用します。リテンションが設定されているオブジェクトは、指定された期限まで削除・変更することはできません。 ## リクエスト リクエスト形式を説明します。リクエスト形式は次の通りです。 | メソッド | URI | | --- | --- | | PUT | /{Key} | ### リクエストヘッダ リクエストヘッダの説明は次の通りです。 参考 Ncloud Storage APIで共通して使用されるヘッダの詳細は、[Ncloud Storageのリクエストヘッダ](/docs/ja/storage-ncloudstorage#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)をご参照ください。 | フィールド | 必須の有無 | 説明 | | --- | --- | --- | | `Content-MD5` | Conditional | リクエストボディの Base64エンコードした128ビット MD5ハッシュ値 - リクエストボディの完全性検証に使用 - `x-amz-checksum-*`を入力しなかった場合、必ず入力 | | `x-amz-checksum-*` | Conditional | チェックサムのハッシュ値 - キーの`*`に使用したアルゴリズムを入力 - サポートアルゴリズム: `crc32` \| `crc32c` \| `sha1` \| `sha256` \| `crc64nvme` - `Content-MD5`を入力しなかった場合、必ず入力 | | `x-amz-bypass-governance-retention` | Optional | GOVERNANCEモードのリテンションをバイパスするか - `true`に指定すると GOVERNANCEリテンションを緩和・削除 - 別途のバイパス権限が必要 | ### リクエストパスパラメータ リクエストパスパラメータの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `Key` | String | Required | オブジェクト名 | ### リクエストクエリパラメータ リクエストクエリパラメータの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `versionId` | String | Optional | リテンションを設定するオブジェクトのバージョン ID - 未入力時、最新バージョンに設定 | ### リクエストボディ リクエストボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `Retention` | Object | Required | リテンションを設定 | | `Retention.Mode` | String | Optional | リテンションモード - `GOVERNANCE` \| `COMPLIANCE` - `GOVERNANCE`: 特別な権限でバイパス可能 - `COMPLIANCE`: いかなるユーザーもバイパス不可 - `RetainUntilDate`と併せて指定 | | `Retention.RetainUntilDate` | String | Optional | リテンション期限 - ISO 8601形式 - 現在より未来であること - `Mode`と併せて指定 | 参考 `Mode`と`RetainUntilDate`を両方とも省略するとオブジェクトのリテンション設定が解除されます。 ### リクエスト例 リクエストのサンプルコードは次の通りです。 ``` PUT /object.csv?retention HTTP/1.1 Host: {Bucket}.kr.ncloudstorage.com Content-MD5: {MD5ハッシュ値} GOVERNANCE 2025-12-31T00:00:00.000Z ``` ## レスポンス レスポンス形式を説明します。 ### レスポンスヘッダ Ncloud Storage APIで共通して使用されるヘッダの詳細は、[Ncloud Storageのレスポンスヘッダ](/docs/ja/storage-ncloudstorage#%EC%9D%91%EB%8B%B5%ED%97%A4%EB%8D%94)をご参照ください。 ### レスポンスステータスコード レスポンスステータスコードの説明は次の通りです。 参考 Ncloud Storage APIで共通して使用されるレスポンスステータスコードの詳細は、[Ncloud Storageのレスポンスステータスコード](/docs/ja/storage-ncloudstorage#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)をご参照ください。 | エラーコード | HTTPステータスコード | 説明 | | --- | --- | --- | | `InvalidRequest` | 400 | バケットに Object Lockの設定がない | | `InvalidArgument` | 400 | リテンション期限(`RetainUntilDate`)が未来の日時ではない | | `MalformedXML` | 400 | リクエストの XMLがスキーマに準拠していない - `Mode`が`GOVERNANCE`/`COMPLIANCE`ではない - `Mode`と`RetainUntilDate`の中でいずれか1つだけ指定 | | `AccessDenied` | 403 | バイパス権限なしで既存のリテンション設定を緩和・解除 | | `NoSuchKey` | 404 | 指定したオブジェクトは存在しない | | `NoSuchVersion` | 404 | 指定したバージョンは存在しない | | `MethodNotAllowed` | 405 | 削除マーカーにリテンションを設定 | ### レスポンス例 レスポンスのサンプルコードは次の通りです。 ``` HTTP/1.1 200 OK ```