Box Developer Documentation

Join BoxWorks 2024 to discover what's possible with content and AI!

Register now!

Get file versions under retention

get
https://api.box.com/2.0
/retention_policy_assignments/:retention_policy_assignment_id/file_versions_under_retention

Returns a list of file versions under retention for a retention policy assignment.

Request

bearer [ACCESS_TOKEN]
application/json

Path Parameters

stringin pathrequired
1233123

The ID of the retention policy assignment.

Query Parameters

integer (int64)in queryoptional
10001000

The maximum number of items to return per page.

stringin queryoptional
JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii

Defines the position marker at which to begin returning results. This is used when paginating using marker-based pagination.

This requires usemarker to be set to true.

Response

application/jsonFiles under retention

Returns a list of file versions under retention that are associated with the specified retention policy assignment.

application/jsonClient error

Returns an error if retention_policy_assignment_id is not specified.

application/jsonClient error

An unexpected client error.

get
Get file versions under retention
You can now try out some of our APIs live, right here in the documentation.
Log in

Request Example

cURL
curl -i -X GET "https://app.box.com/api/2.0/retention_policy_assignments/3424234/file_versions_under_retention" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
Java
BoxRetentionPolicyAssignment policyAssignment = new BoxRetentionPolicyAssignment(api, id);
Iterable<BoxFile.Info> fileVersionsUnderRetention = policyAssignment.getFileVersionsUnderRetention();
for (BoxFile.Info file : fileVersionsUnderRetention){
    BoxFileVersion version = file.getVersion();
    // Do something with the file version under retention.
}
Python
retention_policy_assignment = client.retention_policy_assignment(assignment_id='12345').get()
file_versions_under_retention = retention_policy_assignment.get_file_versions_under_retention()
for file_version in file_versions_under_retention:
	print(f'The version {file_version.file_version.object_id} of {file_version.name} file is under retention for a retention policy assignment with ID {retention_policy_assignment.object_id}')
.NET
BoxCollectionMarkerBased<BoxFileVersion> fileVersionsUnderRetentionForAssignment = await client.RetentionPoliciesManager
    .GetFileVersionsUnderRetentionForAssignmentAsync("55555");
Node
client.retentionPolicies
	.getFilesVersionUnderRetentionForAssignment('12345')
	.then((fileVersions) => {
		/* fileVersions -> {
			entries:
			[ {
				id: 123456,
				etag: 1,
				type: 'file_version',
				sequence_id: 3,
				name: 'Contract.pdf',
				sha1: '85136C79CBF9FE36BB9D05D0639C70C265C18D37',
				file_version: {
					id: 1234567,
					type: 'file_version',
					sha1: '134b65991ed521fcfe4724b7d814ab8ded5185dc',
				},
				applied_at: '2012-12-12T10:53:43-08:00' } ],
			limit: 1000,
			marker: 'some marker' }
		*/
	});
iOS
let iterator = client.retentionPolicy.listFileVersionsUnderRetentionForAssignment(retentionPolicyAssignmentId: "123456")
iterator.next { results in
    switch results {
    case let .success(page):
        for file in page.entries {
            print("File version \(file.fileVersion?.id ?? "")")
        }
        
    case let .failure(error):
        print(error)
    }
}

Response Example

{
  "entries": [
    {
      "id": "12345",
      "etag": "1",
      "type": "file",
      "sequence_id": "3",
      "name": "Contract.pdf",
      "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
      "file_version": {
        "id": "12345",
        "type": "file_version",
        "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
      }
    }
  ],
  "limit": 1000,
  "next_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii",
  "prev_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih"
}