リテンションポリシーを割り当て

post
https://api.box.com/2.0
/retention_policy_assignments/

リテンションポリシーを項目に割り当てます。

リクエスト

Bearer [ACCESS_TOKEN]
application/json

リクエスト本文

object本文内

ポリシーを割り当てる項目

string本文内必須
6564564

ポリシーを割り当てる項目のID。

typeenterpriseに設定されている場合は、nullに設定するか省略します。

string本文内必須
metadata_template

ポリシーを割り当てる項目のタイプ。

次の値のいずれか1つ: enterprise,folder,metadata_template

object array本文内省略可能

assign_toのタイプがmetadata_templateの場合は、必要に応じてfilter_fieldsパラメータを追加します。このパラメータには、フィールドエントリと値エントリを含むオブジェクトの配列が必要になります。現在、fieldおよびvalueのオブジェクトは1つだけサポートされています。

string本文内省略可能
a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4

メタデータ属性キーID。

string本文内省略可能
0c27b756-0p87-4fe0-a43a-59fb661ccc4e

メタデータ属性フィールドID。値については、列挙型とmultiselect型のみがサポートされています。

string本文内必須
173463

割り当てるリテンションポリシーのID

string本文内省略可能
upload_date

リテンションポリシー割り当ての開始日。

assigned_toのタイプがmetadata_templateの場合、このフィールドには、日付フィールドのメタデータ属性キーIDを指定できます。

レスポンス

新しいリテンションポリシー割り当てオブジェクトを返します。

企業にリテンションポリシーを割り当てている最中にidが指定された場合は、エラーを返します。

start_date_fieldが存在するものの、assign_to.typemetadata_templateでない場合は、エラーを返します。

start_date_fieldが存在するものの、assign_to.idで指定されたものとは異なるメタデータテンプレートに属している場合は、エラーを返します。

start_date_fieldが存在するものの、retention_policyretention_lengthが「indefinite」である場合は、エラーを返します。

start_date_fieldが存在するものの、有効なメタデータの日付フィールドに解決できない場合は、エラーを返します。

指定したpolicy_idを持つリテンションポリシーが存在しない場合は、エラーを返します。

期間が同じであるか、それよりも長いリテンションポリシーがこの項目にすでに割り当てられている場合は、エラーを返します。

予期しないクライアントエラー。

post
リテンションポリシーを割り当て
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X POST "https://api.box.com/2.0/retention_policy_assignments" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -H "Content-Type: application/json" \
     -d '{
       "policy_id": "173463",
       "assign_to": {
         "type": "folder",
         "id": "6564564"
       }
     }'
.NET
var assignmentParams = new BoxRetentionPolicyAssignmentRequest()
{
    PolicyId = "11111",
    AssignTo = new BoxRequestEntity()
    {
        Type = BoxType.folder,
        Id = "22222"
    }
};
BoxRetentionPolicyAssignment assignment = await client.RetentionPoliciesManager
    .CreateRetentionPolicyAssignmentAsync(assignmentParams);
Java
// Assign the policy to the entire enterprise
BoxRetentionPolicy policy = new BoxRetentionPolicy(api, policyID);
BoxRetentionPolicyAssignment.Info enterpriseAssignmentInfo = policy.assignToEnterprise();

// Assign the policy to a single folder
BoxFolder folder = new BoxFolder(api, folderID);
BoxRetentionPolicyAssignment.Info folderAssignmentInfo = policy.assignTo(folder);

// Assign the policy to all items with metadata template "f0dce190-8106-43ca-9d67-7dce9b10a55e"
BoxRetentionPolicyAssignment.Info metadataAssignmentInfo = policy.assignToMetadataTemplate("f0dce190-8106-43ca-9d67-7dce9b10a55e");
Python
folder = client.folder(folder_id='1111')
assignment = client.retention_policy(retention_id='12345').assign(folder)
print('Assignment ID is {0} and it is assigned by {1}'.format(assignment.id, assignment.assigned_by.name))
Node
client.retentionPolicies
	.assign('11111', 'folder', '22222')
	.then((assignment) => {
		/* assignment -> {
			type: 'retention_policy_assignment',
			id: '12345',
			retention_policy:
			{ type: 'retention_policy',
				id: '11111',
				policy_name: 'Tax Documents' },
			assigned_to: { type: 'folder', id: '22222' },
			assigned_by:
			{ type: 'user',
				id: '33333',
				name: 'Example User',
				login: 'user@example.com' },
			assigned_at: '2015-07-20T14:28:09-07:00' }
		*/
	});

レスポンスの例

{
  "id": 11446498,
  "type": "retention_policy_assignment",
  "assigned_at": "2012-12-12T10:53:43-08:00",
  "assigned_by": {
    "id": 11446498,
    "type": "user",
    "login": "ceo@example.com",
    "name": "Aaron Levie"
  },
  "assigned_to": {
    "id": "a983f69f-e85f-4ph4-9f46-4afdf9c1af65",
    "type": "metadata_template"
  },
  "filter_fields": [
    {
      "field": "a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4",
      "value": "0c27b756-0p87-4fe0-a43a-59fb661ccc4e"
    }
  ],
  "retention_policy": {
    "id": 12345,
    "type": "retention_policy",
    "disposition_action": "permanently_delete",
    "policy_name": "Some Policy Name",
    "retention_length": 365
  },
  "start_date_field": "upload_date"
}