A beta version of the new Box developer documentation site is launching soon! Updated Developer Guides, modern API Reference, and AI-powered search are on the way to help you build with Box faster. Stay tuned for more updates.
Assigns a retention policy to an item.
The item to assign the policy to.
"6564564"The ID of item to assign the policy to.
Set to null or omit when type is set to
enterprise.
"metadata_template"The type of item to assign the policy to.
Value is one of enterprise,folder,metadata_template
If the assign_to type is metadata_template,
then optionally add the filter_fields parameter which will
require an array of objects with a field entry and a value entry.
Currently only one object of field and value is supported.
"a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4"The metadata attribute key id.
"0c27b756-0p87-4fe0-a43a-59fb661ccc4e"The metadata attribute field id. For value, only enum and multiselect types are supported.
"173463"The ID of the retention policy to assign.
"upload_date"The date the retention policy assignment begins.
If the assigned_to type is metadata_template,
this field can be a date field's metadata attribute key id.
Returns a new retention policy assignment object.
Returns an error if an id is specified while assigning the
retention policy to an enterprise.
Returns an error if start_date_field is present but assign_to.type
is not metadata_template
Returns an error if start_date_field is present, but belongs to a
different metadata template than the one specified in assign_to.id
Returns an error if start_date_field is present, but the
retention_policy has a retention_length of "indefinite"
Returns an error if start_date_field is present, but cannot be resolved
to a valid metadata date field.
Returns an error if no retention policy with the given policy_id exists.
Returns an error if a retention policy of equal or greater length has already been assigned to this item.
An unexpected client error.
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"
}
}'await client.retentionPolicyAssignments.createRetentionPolicyAssignment({
policyId: retentionPolicy.id,
assignTo: {
type: 'folder' as CreateRetentionPolicyAssignmentRequestBodyAssignToTypeField,
id: folder.id,
} satisfies CreateRetentionPolicyAssignmentRequestBodyAssignToField,
} satisfies CreateRetentionPolicyAssignmentRequestBody);client.retention_policy_assignments.create_retention_policy_assignment(
retention_policy.id,
CreateRetentionPolicyAssignmentAssignTo(
type=CreateRetentionPolicyAssignmentAssignToTypeField.FOLDER, id=folder.id
),
)await client.RetentionPolicyAssignments.CreateRetentionPolicyAssignmentAsync(requestBody: new CreateRetentionPolicyAssignmentRequestBody(policyId: retentionPolicy.Id, assignTo: new CreateRetentionPolicyAssignmentRequestBodyAssignToField(type: CreateRetentionPolicyAssignmentRequestBodyAssignToTypeField.Folder) { Id = folder.Id }));try await client.retentionPolicyAssignments.createRetentionPolicyAssignment(requestBody: CreateRetentionPolicyAssignmentRequestBody(policyId: retentionPolicy.id, assignTo: CreateRetentionPolicyAssignmentRequestBodyAssignToField(type: CreateRetentionPolicyAssignmentRequestBodyAssignToTypeField.folder, id: folder.id)))client.getRetentionPolicyAssignments().createRetentionPolicyAssignment(new CreateRetentionPolicyAssignmentRequestBody(retentionPolicy.getId(), new CreateRetentionPolicyAssignmentRequestBodyAssignToField.Builder(CreateRetentionPolicyAssignmentRequestBodyAssignToTypeField.FOLDER).id(folder.getId()).build()))await client.RetentionPolicyAssignments.CreateRetentionPolicyAssignmentAsync(requestBody: new CreateRetentionPolicyAssignmentRequestBody(policyId: retentionPolicy.Id, assignTo: new CreateRetentionPolicyAssignmentRequestBodyAssignToField(type: CreateRetentionPolicyAssignmentRequestBodyAssignToTypeField.Folder) { Id = folder.Id }));await client.retentionPolicyAssignments.createRetentionPolicyAssignment({
policyId: retentionPolicy.id,
assignTo: {
type: 'folder' as CreateRetentionPolicyAssignmentRequestBodyAssignToTypeField,
id: folder.id,
} satisfies CreateRetentionPolicyAssignmentRequestBodyAssignToField,
} satisfies CreateRetentionPolicyAssignmentRequestBody);{
"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"
}