# Depublish api for any level of directory or files

**URL:** <https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180>\
**Category:** Uncategorized\
**Created:** [November 20, 2023, 9:44am UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180 "2023-11-20T09:44:14Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![kumamanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/kumamanish/32/1134_2.png) [@kumamanish](https://community.bloomreach.com/u/kumamanish)\
**Post date:** [November 20, 2023, 9:44am UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/1 "2023-11-20T09:44:14Z")

</div>

Hi all,

As a part of multisite feature(since we are using headless cms) I want to delete very old sites(here refering sites but it may be any folder) after a period of time, I have a delete api for deleting root or any level folder, problem is it’s just deleting all data without depublishing it first. We want to unpublish entire data of selected level first i.e. folder1, folder2…etc.

![image](https://canada1.discourse-cdn.com/flex027/uploads/bloomreach1/original/2X/2/2503c44f27ae510f79c55b5b4ee9d5f6d944caf2.png)

Below I see when I do it from UI.

![image](https://canada1.discourse-cdn.com/flex027/uploads/bloomreach1/original/2X/8/89b67cf55a2b90e9487fb35201d871841265e809.png)

Some api’s are getting called behind it, kindly help me to find it.

Thanks,  
Manish Kumar

---

<div class="post-metadata">

**Author:** ![kumamanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/kumamanish/32/1134_2.png) [@kumamanish](https://community.bloomreach.com/u/kumamanish)\
**Post date:** [November 22, 2023, 4:46am UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/2 "2023-11-22T04:46:48Z")

</div>

Hi @jasper.floor , @machak , @jeroen.hoffman ,  
Please help me to find api for taking offline all in folder.  
Thanks,

---

<div class="post-metadata">

**Author:** ![Quang\_Tran](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/quang_tran/32/1826_2.png) [@Quang\_Tran](https://community.bloomreach.com/u/Quang_Tran)\
**Post date:** [November 22, 2023, 7:31am UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/3 "2023-11-22T07:31:35Z")

</div>

> [@kumamanish](#):
>
> Some api’s are getting called behind it, kindly help me to find it.

you can loop through all documents and then use  
org.onehippo.repository.documentworkflow.DocumentWorkflow.depublish

 ![image](https://canada1.discourse-cdn.com/flex027/uploads/bloomreach1/original/2X/9/91304a7a77e26b1d7d5f29983f83d7fe04929fc5.png)

---

<div class="post-metadata">

**Author:** ![kumamanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/kumamanish/32/1134_2.png) [@kumamanish](https://community.bloomreach.com/u/kumamanish)\
**Post date:** [November 22, 2023, 8:55am UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/4 "2023-11-22T08:55:13Z")

</div>

HI @Quang_Tran,

Other microservice is calling Bloomreach to delete and depublish all it’s data(only live data), for that I need direct api call. Seems above will not fullfill my requirements, please correct me.

Thanks

---

<div class="post-metadata">

**Author:** ![Quang\_Tran](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/quang_tran/32/1826_2.png) [@Quang\_Tran](https://community.bloomreach.com/u/Quang_Tran)\
**Post date:** [November 22, 2023, 9:30am UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/5 "2023-11-22T09:30:56Z")

</div>

> [@kumamanish](#):
>
> Other microservice is calling Bloomreach to delete and depublish all it’s data(only live data), for that I need direct api call. Seems above will not fullfill my requirements, please correct me.

@kumamanish you may need to create an endpoint for other services to use to delete/depublish documents. In that endpoint, you can use org.onehippo.repository.documentworkflow.DocumentWorkflow.depublish

---

<div class="post-metadata">

**Author:** ![jasper.floor](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/jasper.floor/32/28_2.png) [@jasper.floor](https://community.bloomreach.com/u/jasper.floor)\
**Post date:** [November 28, 2023, 1:36pm UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/6 "2023-11-28T13:36:06Z")

</div>

Are you on SaaS or on PaaS?

---

<div class="post-metadata">

**Author:** ![kumamanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/kumamanish/32/1134_2.png) [@kumamanish](https://community.bloomreach.com/u/kumamanish)\
**Post date:** [December 8, 2023, 9:05am UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/7 "2023-12-08T09:05:09Z")

</div>

Hi @jasper.floor , we are using PaaS.

---

<div class="post-metadata">

**Author:** ![jasper.floor](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/jasper.floor/32/28_2.png) [@jasper.floor](https://community.bloomreach.com/u/jasper.floor)\
**Post date:** [December 8, 2023, 10:02am UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/8 "2023-12-08T10:02:52Z")

</div>

Check out this plugin:

[https://bloomreach-forge.github.io/folder-context-menus/](https://bloomreach-forge.github.io/folder-context-menus/)

---

<div class="post-metadata">

**Author:** ![kumamanish](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/kumamanish/32/1134_2.png) [@kumamanish](https://community.bloomreach.com/u/kumamanish)\
**Post date:** [December 8, 2023, 10:55am UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/9 "2023-12-08T10:55:45Z")

</div>

Thanks for your reply, but I am looking for unpublish api that will depublish all nested directory items.

---

<div class="post-metadata">

**Author:** ![jasper.floor](https://yyz1.discourse-cdn.com/flex027/user_avatar/community.bloomreach.com/jasper.floor/32/28_2.png) [@jasper.floor](https://community.bloomreach.com/u/jasper.floor)\
**Post date:** [December 8, 2023, 12:42pm UTC](https://community.bloomreach.com/t/depublish-api-for-any-level-of-directory-or-files/4180/10 "2023-12-08T12:42:24Z")

</div>

There is no ootb api that does this, but you can easily build your own service to handle that case. See  
[RESTful JAX-RS Component Support - Bloomreach Experience Manager (PaaS/Self-Hosted) - The Fast and Flexible Headless CMS](https://xmdocumentation.bloomreach.com/library/concepts/rest/restful-jax-rs-component-support-in-hst-2.html)
