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 -i -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"
}'
await client.metadataCascadePolicies.applyMetadataCascadePolicy(
cascadePolicyId,
{
conflictResolution:
'overwrite' as ApplyMetadataCascadePolicyRequestBodyConflictResolutionField,
} satisfies ApplyMetadataCascadePolicyRequestBody,
);
client.metadata_cascade_policies.apply_metadata_cascade_policy(
cascade_policy_id, ApplyMetadataCascadePolicyConflictResolution.OVERWRITE
)
await client.MetadataCascadePolicies.ApplyMetadataCascadePolicyAsync(metadataCascadePolicyId: cascadePolicyId, requestBody: new ApplyMetadataCascadePolicyRequestBody(conflictResolution: ApplyMetadataCascadePolicyRequestBodyConflictResolutionField.Overwrite));
try await client.metadataCascadePolicies.applyMetadataCascadePolicy(metadataCascadePolicyId: cascadePolicyId, requestBody: ApplyMetadataCascadePolicyRequestBody(conflictResolution: ApplyMetadataCascadePolicyRequestBodyConflictResolutionField.overwrite))
String cascadePolicyID = "e4392a41-7de5-4232-bdf7-15e0d6bba067";
BoxMetadataCascadePolicy policy = new BoxMetadataCascadePolicy(api, cascadePolicyID);
policy.forceApply("none");
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!')
string policyId = "11111";
string conflictResolution = Constants.ConflictResolution.Overwrite
BoxMetadataCascadePolicy newCascadePolicy = client.MetadataCascadePolicyManager
.ForceApplyCascadePolicyAsync(policyId, conflictResolution);
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.