Box · Schema
Retention policy
A retention policy blocks permanent deletion of content for a specified amount of time. Admins can create retention policies and then later assign them to specific folders, metadata templates, or their entire enterprise. To use this feature, you must have the manage retention policies scope enabled for your API key via your application management console.
Cloud StorageCollaborationContent ManagementDocumentsEnterpriseFile Sharing
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/RetentionPolicy",
"title": "Retention policy",
"type": "object",
"x-box-resource-id": "retention_policy",
"x-box-tag": "retention_policies",
"x-box-variant": "standard",
"description": "A retention policy blocks permanent deletion of content\nfor a specified amount of time. Admins can create retention\npolicies and then later assign them to specific folders, metadata\ntemplates, or their entire enterprise. To use this feature, you must\nhave the manage retention policies scope enabled\nfor your API key via your application management console.",
"allOf": [
{
"$ref": "#/components/schemas/RetentionPolicy--Mini"
},
{
"properties": {
"description": {
"type": "string",
"example": "Policy to retain all reports for at least one month",
"description": "The additional text description of the retention policy."
},
"policy_type": {
"type": "string",
"example": "finite",
"description": "The type of the retention policy. A retention\npolicy type can either be `finite`, where a\nspecific amount of time to retain the content is known\nupfront, or `indefinite`, where the amount of time\nto retain the content is still unknown.",
"enum": [
"finite",
"indefinite"
]
},
"retention_type": {
"type": "string",
"example": "non_modifiable",
"description": "Specifies the retention type:\n\n* `modifiable`: You can modify the retention policy. For example,\n you can add or remove folders, shorten or lengthen\n the policy duration, or delete the assignment.\n Use this type if your retention policy\n is not related to any regulatory purposes.\n\n* `non-modifiable`: You can modify the retention policy\n only in a limited way: add a folder, lengthen the duration,\n retire the policy, change the disposition action\n or notification settings. You cannot perform other actions,\n such as deleting the assignment or shortening the\n policy duration. Use this type to ensure\n compliance with regulatory retention policies.",
"enum": [
"modifiable",
"non_modifiable"
]
},
"status": {
"type": "string",
"example": "active",
"description": "The status of the retention policy. The status of\na policy will be `active`, unless explicitly retired by an\nadministrator, in which case the status will be `retired`.\nOnce a policy has been retired, it cannot become\nactive again.",
"enum": [
"active",
"retired"
]
},
"created_by": {
"allOf": [
{
"$ref": "#/components/schemas/User--Mini"
},
{
"description": "A mini user object representing the user that\ncreated the retention policy."
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "When the retention policy object was created.",
"example": "2012-12-12T10:53:43-08:00"
},
"modified_at": {
"type": "string",
"format": "date-time",
"description": "When the retention policy object was last modified.",
"example": "2012-12-12T10:53:43-08:00"
},
"can_owner_extend_retention": {
"type": "boolean",
"description": "Determines if the owner of items under the policy\ncan extend the retention when the original\nretention duration is about to end.",
"example": false
},
"are_owners_notified": {
"type": "boolean",
"description": "Determines if owners and co-owners of items\nunder the policy are notified when\nthe retention duration is about to end.",
"example": false
},
"custom_notification_recipients": {
"type": "array",
"description": "A list of users notified when the retention policy duration is about to end.",
"items": {
"$ref": "#/components/schemas/User--Mini"
}
},
"assignment_counts": {
"type": "object",
"description": "Counts the retention policy assignments for each item type.",
"properties": {
"enterprise": {
"description": "The number of enterprise assignments this policy has. The maximum value is 1.",
"format": "int64",
"type": "integer",
"example": 1
},
"folder": {
"description": "The number of folder assignments this policy has.",
"format": "int64",
"type": "integer",
"example": 1
},
"metadata_template": {
"description": "The number of metadata template assignments this policy has.",
"format": "int64",
"type": "integer",
"example": 1
}
}
}
}
}
]
}