---
title: "Rename or move a media-library folder"
canonical: "https://bird.com/docs/api/reference/update-asset-folder"
---

# Rename or move a media-library folder

`PATCH /v1/asset-folders/{folder_id}`

Renames a folder, moves it, or both. Send `parent_id` to move the folder into
another folder, or `null` to move it to the top level.

Moving a folder carries its subfolders and assets with it and changes no URLs, so
messages that embed those assets are unaffected. A folder cannot be moved into
itself or into one of its own subfolders, and the resulting tree cannot exceed 10
levels.

## Code samples

**TypeScript**

```ts
const folder = await bird.assets.folders.update(
  "asf_01krdgeqcxet5s7t44vh8rt9mg",
  { name: "Autumn campaign" },
);
console.log(folder.path);
```

Examples: [TypeScript](/docs/api/reference/update-asset-folder.ts.md) · [Python](/docs/api/reference/update-asset-folder.py.md) · [Go](/docs/api/reference/update-asset-folder.go.md) · [PHP](/docs/api/reference/update-asset-folder.php.md) · [CLI](/docs/api/reference/update-asset-folder.cli.md) · [MCP](/docs/api/reference/update-asset-folder.mcp.md) · [cURL](/docs/api/reference/update-asset-folder.curl.md)

## Example response `200`

```json
{
  "created_at": "2026-05-20T09:14:52Z",
  "updated_at": "2026-05-25T16:42:01Z",
  "id": "asf_01krdgeqcxet5s7t44vh8rt9mg",
  "parent_id": "asf_01krdgeqcxet5s7t44vh8rt9mg"
}
```

## Path parameters

- `folder_id` (string): ID of the asset folder.

## Request body

- `name` (string): The folder's display name. Must be unique among folders sharing the same parent, compared without regard to case. Cannot contain `/`.
- `parent_id` (nullable string): The folder to move this one into. Send null to move it to the top level of the library. A folder cannot be moved into itself or into one of its own subfolders.

## Response body

- `created_at` (string, required)
- `updated_at` (string, required)
- `id` (string, required)
- `name` (string, required): The folder's display name. Unique among folders sharing the same parent, compared without regard to case.
- `parent_id` (nullable string, required): The folder this one sits in, or null when it sits at the top level of the library.
- `path` (string, required): The folder's location written out from the top level, such as `/Marketing/Logos`. Provided so a caller can display a folder without walking its parents.

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
