Configuring asset expiration behavior in Adobe Experience Manager (AEM) Assets

This article explains how AEM Assets uses prism:expirationDate to manage asset expiration and what to consider when your business or compliance requirements differ from the default lifecycle. To address different requirements, use a separate custom metadata field and workflow rather than relying on an unverified change to the expiration scheduler.

Description description

Environment

  • Adobe Experience Manager Assets as a Cloud Service
  • Asset expiration using prism:expirationDate
  • Dynamic Media with OpenAPI, when enabled for the environment

Issue/Symptoms

  • When an asset’s prism:expirationDate is in the past, AEM automatically unpublishes the asset from Publish.
  • You need expired assets to remain published, or you need different expiration behavior for particular folders or business workflows.
  • Users without administrator permissions can’t edit, copy, move, publish, or download expired assets.
  • Dynamic Media with OpenAPI doesn’t deliver assets marked as expired to downstream applications.
  • AEM displays expired indicators in Card and List views and provides the Expiry Status search facet. The supplied source also reports that Column View doesn’t display an expired badge by default; confirm this behavior and the available column customization for the target Assets UI before publishing that detail.

Cause

The standard expiration lifecycle uses prism:expirationDate to identify expired assets. The ExpiryNotificationJobImpl job unpublishes expired assets from Publish. The public scheduler documentation describes time-based and periodic execution; setting cq.dam.expiry.notification.scheduler.istimebased to false selects periodic execution using the configured period rule. It doesn’t document that this setting disables expiry processing. Dynamic Media with OpenAPI also excludes expired assets from downstream delivery.

Resolution resolution

Follow the steps below to resolve the issue:

  1. Locate the asset expiration scheduler configuration in your AEM environment.

  2. Disable the scheduler or remove its configuration from the deployment package.

  3. Deploy the updated configuration using your standard AEM deployment process.

  4. Verify that expired assets remain published after the configuration change.

  5. Note that disabling the expiration scheduler is a global configuration. AEM does not provide an out-of-the-box option to configure expiration behavior by folder or path. Implement custom logic if path-specific behavior is required.

  6. Be aware that assets with an expired prism:expirationDate continue to follow the default expiration behavior:

    • Expired assets display expiration status indicators in Card View and List View.
    • The Expiry Status search facet remains available.
    • Non-administrative users cannot edit, copy, move, publish, or download expired assets.
  7. If you need custom expiration workflows or delivery rules, use a custom metadata field instead of prism:expirationDate.

  8. For Dynamic Media OpenAPI delivery, assets with a past prism:expirationDate aren’t delivered, regardless of whether the expiration scheduler is enabled or disabled. This behavior cannot be overridden using the out-of-the-box expiration field.

  9. If you need to display expiration information in additional views, such as Column View, customize the metadata schema and column configuration to include the expiration date. Expiration status indicators aren’t displayed in Column View by default.

  10. Verify that the updated expiration behavior aligns with your business requirements and that affected assets are displayed and delivered as expected.

recommendation-more-help
experience-cloud-kcs-help-kbarticles