Box Developer Documentation
Latest version

List file version legal holds

get
https://api.box.com/2.0
/file_version_legal_holds

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

Get a list of file versions on legal hold for a legal hold assignment.

Due to ongoing re-architecture efforts this API might not return all file versions for this policy ID.

Instead, this API will only return file versions held in the legacy architecture. Two new endpoints will available to request any file versions held in the new architecture.

For file versions held in the new architecture, the GET /legal_hold_policy_assignments/:id/file_versions_on_hold API can be used to return all past file versions available for this policy assignment, and the GET /legal_hold_policy_assignments/:id/files_on_hold API can be used to return any current (latest) versions of a file under legal hold.

The GET /legal_hold_policy_assignments?policy_id={id} API can be used to find a list of policy assignments for a given policy ID.

Once the re-architecture is completed this API will be deprecated.

Request

bearer [ACCESS_TOKEN]
application/json

Query Parameters

integer (int64)in queryoptional
1000
1000

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.

stringin queryrequired
133870

The ID of the legal hold policy to get the file version legal holds for.

Response

Returns the list of file version legal holds for a specific legal hold policy.

application/jsonClient error

An unexpected client error.

get
List file version legal holds
You can now try out some of our APIs live, right here in the documentation.
Log in

Request Example

Learn more about Box SDK versioning strategy.


cURL
curl -i -X GET "https://api.box.com/2.0/file_version_legal_holds?policy_id=133870" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
Node/TypeScript v10
await client.fileVersionLegalHolds.getFileVersionLegalHolds({
  policyId: policyId,
} satisfies GetFileVersionLegalHoldsQueryParams);
Python v10
client.file_version_legal_holds.get_file_version_legal_holds(policy_id)
.NET v10
await client.FileVersionLegalHolds.GetFileVersionLegalHoldsAsync(queryParams: new GetFileVersionLegalHoldsQueryParams(policyId: policyId));
Swift v10
try await client.fileVersionLegalHolds.getFileVersionLegalHolds(queryParams: GetFileVersionLegalHoldsQueryParams(policyId: policyId))
Java v10
client.getFileVersionLegalHolds().getFileVersionLegalHolds(new GetFileVersionLegalHoldsQueryParams(policyId))
Java v4
BoxLegalHoldPolicy policy = new BoxLegalHoldPolicy(api, id);
Iterable<BoxFileVersionLegalHold.Info> fileVersionHolds = policy.getFileVersionHolds();
for (BoxFileVersionLegalHold.Info fileVersionHold : fileVersionHolds) {
	// Do something with the file version legal hold.
}
Python v3
legal_holds = client.legal_hold_policy(policy_id='12345').get_file_version_legal_holds()
for legal_hold in legal_holds:
    print(f'Got file version legal hold with ID {legal_hold.id}')
.NET v5
BoxCollectionMarkerBased<BoxFileVersionLegalHold> holds = await client.LegalHoldPoliciesManager
    .GetFileVersionLegalHoldsAsync(policyId: "11111");
Node v3
client.legalHoldPolicies.getAllFileVersionLegalHolds('11111')
	.then(holds => {
		/* holds -> {
			entries: 
			[ { type: 'legal_hold', id: '22222' },
				{ type: 'legal_hold', id: '33333' },
				{ type: 'legal_hold', id: '44444' } ],
			limit: 100,
			order: 
			[ { by: 'retention_policy_set_id, file_version_id',
				direction: 'ASC' } ] }
		*/
	});

Response Example

{
  "entries": [
    {
      "deleted_at": "2012-12-12T10:53:43-08:00",
      "file": {
        "etag": "1",
        "id": "12345",
        "type": "file",
        "file_version": {
          "id": "12345",
          "type": "file_version",
          "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
        },
        "name": "Contract.pdf",
        "sequence_id": "3",
        "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37"
      },
      "file_version": {
        "id": "12345",
        "type": "file_version",
        "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
      },
      "id": "11446498",
      "legal_hold_policy_assignments": [
        {
          "id": "11446498",
          "type": "legal_hold_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": {
            "etag": "1",
            "id": "12345",
            "type": "file",
            "file_version": {
              "id": "12345",
              "type": "file_version",
              "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
            },
            "name": "Contract.pdf",
            "sequence_id": "3",
            "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
            "content_created_at": "2012-12-12T10:53:43-08:00",
            "content_modified_at": "2012-12-12T10:53:43-08:00",
            "created_at": "2012-12-12T10:53:43-08:00",
            "created_by": {
              "id": "11446498",
              "type": "user",
              "login": "ceo@example.com",
              "name": "Aaron Levie"
            },
            "description": "Contract for Q1 renewal",
            "item_status": "active",
            "modified_at": "2012-12-12T10:53:43-08:00",
            "modified_by": {
              "id": "11446498",
              "type": "user",
              "login": "ceo@example.com",
              "name": "Aaron Levie"
            },
            "owned_by": {
              "id": "11446498",
              "type": "user",
              "login": "ceo@example.com",
              "name": "Aaron Levie"
            },
            "parent": {
              "etag": "1",
              "id": "12345",
              "type": "folder",
              "name": "Contracts",
              "sequence_id": "3"
            },
            "path_collection": {
              "entries": [
                {
                  "etag": "1",
                  "id": "12345",
                  "type": "folder",
                  "name": "Contracts",
                  "sequence_id": "3"
                }
              ],
              "total_count": 1
            },
            "purged_at": "2012-12-12T10:53:43-08:00",
            "shared_link": {
              "access": "open",
              "download_count": 3,
              "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
              "effective_access": "company",
              "effective_permission": "can_download",
              "is_password_enabled": true,
              "permissions": {
                "can_download": true,
                "can_edit": false,
                "can_preview": true
              },
              "preview_count": 3,
              "unshared_at": "2018-04-13T13:53:23-07:00",
              "url": "https://www.box.com/s/vspke7y05sb214wjokpk",
              "vanity_name": "my_url",
              "vanity_url": "https://acme.app.box.com/v/my_url/"
            },
            "size": 629644,
            "trashed_at": "2012-12-12T10:53:43-08:00"
          },
          "deleted_at": "2012-12-12T10:53:43-08:00",
          "legal_hold_policy": {
            "id": "11446498",
            "type": "legal_hold_policy"
          }
        }
      ],
      "type": "file_version_legal_hold"
    }
  ],
  "limit": 1000,
  "next_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii",
  "prev_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih"
}