Manage Applications

    Create legal hold policy

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

    Create a new legal hold policy.

    Request

    application/json

    Request Body

    stringin bodyoptional
    A custom policy for the sales team500

    A description for the policy.

    string / date-timein bodyoptional
    2012-12-18T10:53:43-08:00500

    The filter end date.

    When this policy is applied using a custodian legal hold assignments, it will only apply to file versions created or uploaded inside of the date range. Other assignment types, such as folders and files, will ignore the date filter.

    Required if is_ongoing is set to false.

    string / date-timein bodyoptional
    2012-12-12T10:53:43-08:00500

    The filter start date.

    When this policy is applied using a custodian legal hold assignments, it will only apply to file versions created or uploaded inside of the date range. Other assignment types, such as folders and files, will ignore the date filter.

    Required if is_ongoing is set to false.

    booleanin bodyoptional
    true

    Whether new assignments under this policy should continue applying to files even after initialization.

    When this policy is applied using a legal hold assignment, it will continue applying the policy to any new file versions even after it has been applied.

    For example, if a legal hold assignment is placed on a user today, and that user uploads a file tomorrow, that file will get held. This will continue until the policy is retired.

    Required if no filter dates are set.

    stringin bodyrequired
    Sales Policy254

    The name of the policy.

    Response

    application/jsonLegal Hold Policy

    Returns a new legal hold policy object.

    application/jsonLegal Hold Policy

    Returns an error if required parameters are missing, or neither is_ongoing or filter dates are specified.

    application/jsonClient Error

    Returns an error if a policy with this name already exists.

    You can now try out some of our APIs live, right here in the documentation.
    Log In

    Request Example

    cURL
    curl -X POST https://api.box.com/2.0/legal_hold_policies \
         -H "Authorization: Bearer <ACCESS_TOKEN>" \
         -H "Content-Type: application/json" \
         -d '{
           "policy_name": "Policy 3",
           "description": "Automatic created policy"
         }'
    .NET
    var policyParams = new BoxLegalHoldPolicyRequest()
    {
        PolicyName = "IRS Audit"
    };
    BoxLegalHoldPolicy policy = await client.LegalHoldPoliciesManager
        .CreateLegalHoldPolicyAsync(policyParams);
    Java
    BoxLegalHoldPolicy.Info policyInfo = BoxLegalHoldPolicy.create(api, name, description, startedAt, endedAt);
    Python
    new_policy = client.create_legal_hold_policy('New Policy', is_ongoing=True)
    print('Created legal hold policy with ID {0}'.format(new_policy.id))
    Node
    client.legalHoldPolicies.create('IRS Audit')
    	.then(policy => {
    		/* policy -> {
    			type: 'legal_hold_policy',
    			id: '11111',
    			policy_name: 'IRS Audit',
    			description: '',
    			status: 'active',
    			assignment_counts: { user: 0, folder: 0, file: 0, file_version: 0 },
    			is_ongoing: true,
    			created_by: 
    			{ type: 'user',
    				id: '22222',
    				name: 'Example User',
    				login: 'user@example.com' },
    			created_at: '2017-01-24T16:57:22-08:00',
    			modified_at: '2017-01-24T16:57:22-08:00',
    			deleted_at: null,
    			filter_started_at: null,
    			filter_ended_at: null }
    		*/
    	});

    Response Example

    {
      "id": 11446498,
      "type": "legal_hold_policy",
      "policy_name": "Policy 4",
      "description": "Postman created policy",
      "status": "active",
      "assignment_counts": {
        "user": 1,
        "folder": 2,
        "file": 3,
        "file_version": 4
      },
      "created_by": {
        "id": 11446498,
        "type": "user",
        "name": "Aaron Levie",
        "login": "ceo@example.com"
      },
      "created_at": "2012-12-12T10:53:43-08:00",
      "modified_at": "2012-12-12T10:53:43-08:00",
      "deleted_at": "2012-12-12T10:53:43-08:00",
      "filter_started_at": "2012-12-12T10:53:43-08:00",
      "filter_ended_at": "2012-12-12T10:53:43-08:00",
      "release_notes": "Example"
    }