Force-apply metadata to all items in a folder
Force-apply metadata to all items in a folder
When a metadata cascade policy already exists on a folder the metadata instance
can be force-applied to all items in a folder by calling the
POST /metadata_cascade_policies/:id/apply
API endpoint with the
id
of the metadata cascade policy.
cURL
curl -X POST https://api.box.com/2.0/metadata_cascade_policies/21312/apply \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
-H 'Content-Type: application/json" '
-d '{
"conflict_resolution": "overwrite"
}'
.NET
string policyId = "11111";
string conflictResolution = Constants.ConflictResolution.Overwrite
BoxMetadataCascadePolicy newCascadePolicy = client.MetadataCascadePolicyManager
.ForceApplyCascadePolicyAsync(policyId, conflictResolution);
Java
String cascadePolicyID = "e4392a41-7de5-4232-bdf7-15e0d6bba067";
BoxMetadataCascadePolicy policy = new BoxMetadataCascadePolicy(api, cascadePolicyID);
policy.forceApply("none");
Python
from boxsdk.object.metadata_cascade_policy import CascadePolicyConflictResolution
cascade_policy = client.metadata_cascade_policy(policy_id='84113349-794d-445c-b93c-d8481b223434')
cascade_policy.force_apply(CascadePolicyConflictResolution.PRESERVE_EXISTING)
print('Cascade policy was force applied!')
Node
var policyID = '84113349-794d-445c-b93c-d8481b223434';
client.metadata.forceApplyCascadePolicy(policyID, client.metadata.cascadeResolution.PRESERVE_EXISTING)
.then(() => {
// application started — no value returned
});
Conflict resolution
An additional conflict_resolution
parameter can be passed to this API to
define how to deal with any existing instances of the template on any of the
items in the folder.
By default, without setting any value for conflict_resolution
this API will
preserve the existing value on any items. When the value is set to overwrite
,
it will force-apply the value of the template attached to the cascade policy
over any existing value.