---
title: "Remove empty directories"
method: POST
path: "/operations/rmdirs"
---

# Remove empty directories

`POST /operations/rmdirs`

Deletes empty subdirectories beneath the specified path, optionally leaving the root.

## Query parameters

- `fs` string
- `remote` string
- `leaveRoot` boolean
- `_group` string
- `_async` boolean

## Headers

- `Prefer` 'respond-async'

## Request body

- OperationsRmdirsRequest
  - `fs` string — Remote name or path to scan for empty directories.
  - `remote` string — Path within `fs` whose empty subdirectories should be removed.
  - `leaveRoot` boolean — Set to true to preserve the top-level directory even if empty.
  - `_group` string — Assign the request to a custom stats group.
  - `_async` boolean — Run the command asynchronously. Returns a job id immediately.

## Response `200`

Request succeeded returning an empty JSON object.

- object

## Other responses

- `202` — Request accepted for async processing. Poll /job/status with the returned jobid.
- `4XX` — Any error response (HTTP 4xx/5xx)
- `5XX` — Any error response (HTTP 4xx/5xx)

## Changes

> 21 revisions in range; 18 could not be searched.

- **2025-12-06** `30e239e76ba1` — 8 breaking, 1 warning
  - removed the request body
  - the `query` request parameter `fs` became required
  - the `query` request parameter `remote` became required
  - the response property `input` became nullable for the status `4XX`
  - …5 more

[Change history](https://skmtc.dev/rclone/apis/rclone-rc-api/changes/operations/rmdirs/post.md)

---

[API](https://skmtc.dev/rclone/apis/rclone-rc-api.md) · [All operations](https://skmtc.dev/rclone/apis/rclone-rc-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rclone/rclone-rc-api/revisions/adc0c129da4f/schema)
