Box Developer Documentation
 
    Latest version

    Assign retention policy

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

    This endpoint is in the version 2024.0. No changes are required to continue using it. For more details, see Box API versioning.

    Assigns a retention policy to an item.

    Request

    bearer [ACCESS_TOKEN]
    application/json

    Request Body

    objectin body

    The item to assign the policy to

    stringin bodyrequired
    "6564564"

    The ID of item to assign the policy to. Set to null or omit when type is set to enterprise.

    stringin bodyrequired
    "metadata_template"

    The type of item to assign the policy to.

    Value is one of enterprise,folder,metadata_template

    object arrayin bodyoptional

    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.

    stringin bodyoptional
    "a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4"

    The metadata attribute key id.

    stringin bodyoptional
    "0c27b756-0p87-4fe0-a43a-59fb661ccc4e"

    The metadata attribute field id. For value, only enum and multiselect types are supported.

    stringin bodyrequired
    "173463"

    The ID of the retention policy to assign

    stringin bodyoptional
    "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.

    Response

    Returns a new retention policy assignment object.

    application/jsonClient error

    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.

    application/jsonClient error

    Returns an error if no retention policy with the given policy_id exists.

    application/jsonClient error

    Returns an error if a retention policy of equal or greater length has already been assigned to this item.

    application/jsonClient error

    An unexpected client error.

    post
    Assign retention policy
    You can now try out some of our APIs live, right here in the documentation.
    Log in

    Request Example

    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"
           }
         }'

    Response Example

    {
      "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"
    }