Among the new features in the Summer ’23 release is a new Recycle Bin for Content Builder. The official docs define this as “a repository for recently deleted items that can be restored to Marketing Cloud.” Essentially this allows you to ‘soft delete’ assets in Content Builder that will remove them from being used in Journeys and Emails but will not completely remove them from your instance.

The benefit of this is that if you want to remove an asset, but you later find that removing it breaks something, you can restore it fairly easily and not need to recreate it and then adjust the other places it is called to the new content.

This feature is something that has been requested for a long while and is actually something that SF Core has had for a while. In comparison to the Core counterpart, they are very similar. The only major differences are that Content Builder Recycle Bin only works on Assets currently and that it has no retention (or auto delete) capabilities on the assets stored inside of it.

Before getting too far into the capabilities, let’s take a look at where it is and how to use it.

Where is the Content Builder Recycle Bin?

Although you can place assets into the Recycle Bin from Email Studio, you cannot actually access the Recycle Bin there. To access it, you will need to go into the Content Builder application in the app switcher.

And then once there, you need to select the Recycle Bin tab at the top left.

This will then open your Recycle Bin where you will have a list of those assets that have been ‘recycled.’

Then inside of this overview page, you can click the arrow next to each on the right side and choose to ‘Restore’ or ‘Delete Permanently’. As both of these actions are pretty self-explanatory, I won’t go into detail on them.

How to Recycle Assets

Recycling an asset is super easy and intuitive. You simple click the arrow on the right side of the content and where previously it said ‘Delete’ it now says ‘Send to Recycle Bin’.

This can be done both directly inside of Content Builder, as well as in Email Studio.

As a note, you will see that the ‘Delete’ option is no longer shown in the UI anywhere. This has been removed and replaced with Recycle Bin. This means that any time you want to delete an asset inside the UI, it must first be pushed into the Recycle Bin and then deleted in there. I wanted to note this as although on the average, this is not a big deal, it is still something that might affect your flow or process that was previously in place so should be considered now with this change.

Insights and Tips

Now that we know what it is, where to find it, and how to recycle content – let’s start exploring the details on this feature and some insights and tips I have found along my investigation:

Although you cannot directly delete an asset permanently inside the UI anymore, the Delete API route is still active and capable, so you can still do a direct permanent deletion via API with no changes to process.

The assets will have a Status change to “Archived” (Status ID 6) which will then act as an exclusionary filter to remove them from any reference outside that of specifically searching for Recycle Bin content. This includes references inside emails and journeys, etc. as well as simple and advanced queries via API.

Although archived, the content will retain all other aspects and only the status value will change (unless permanently deleted).

There is no retention period on the Recycle Bin, meaning that your assets could remain in there for perpetuity (at least currently, I do believe there is efforts to add a retention period in the future)

Current state it appears that anyone that has delete permission to an asset can move it to Recycle Bin, no one else. At one point, the documents stated that only the owner could, but that is not the case and I no longer see that referenced in the docs.

Content Builder REST API New Additions

There are new endpoints that are available inside of the Content Builder REST API (asset) group. Admittedly, two are based on an existing endpoint, with a twist, but still anything new with API is amazing to me!

Send to Recycle Bin

PATCH asset/v1/content/assets/{id}/archive

This will take the asset that is referenced via the ID and send it to the recycle bin. This will only work on assets that are not already in the Recycle Bin. If you call this on an item already there, it will have no changes. You can reference the official docs for more information.

Restore from Recycle Bin

PATCH asset/v1/content/assets/{id}/restore

This call will take an asset that is currently inside the Recycle Bin and restore it back into Content Builder as if nothing had changed since it was put inside the Recycle Bin. You can reference the official docs for more information.

Retrieve Assets in Recycle Bin

Once an asset is ‘archived’ or moved inside the Recycle Bin, they will no longer be shown in the return of any API calls, including the ‘All Assets’ one. The only way to retrieve the list of these assets is via a filter on the retrieve endpoint.

GET asset/v1/assets?$filter=status.id=6

This will return all assets inside of the Recycle Bin currently. As a note, you can also use status.name=Archived as well with the same results.

The next two that are listed, I honestly do not really understand them and have not made either work for me. So, with that being said, I do not have much beyond the official docs to share on these unfortunately.

Get Deleted Assets

GET /asset/v1/content/deletedAssets

This endpoint will show you a list of all assets that have been deleted from your account over the last 30 days. As a note, this is deleted assets, not recycled assets. It also does not include assets that fall under base asset types 3 (block) or 5 (message). You can reference the official docs for more information.

I can see this being useful for auditing and monitoring purposes, but other than that, I am not certain the purpose of this endpoint. Potentially, if I were to get more info on the capabilities of the next endpoint, this one could become much more useful.

As a note, most of the enterprises and stacks I have attempted this on return a Status code of “404 Not Found” currently. I am not positive if/when this will be corrected, but be aware if you are getting that, it is not just you.

Update Deleted Assets by ID

PATCH /asset/v1/content/deletedAssets/{id}
{ "customerKey": "{{custKey}}" }

The description on this endpoint is that it “Updates part of a deleted asset” but not once have I been able to have this return successful. Across every stack and enterprise, I have only ever received the Status code of “404 Not Found”. Hopefully these two endpoints will become more available and more documented in the near future. You can reference the official docs for more information.

Tags: , , , , , , , , , , , , , , ,
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments