---
title: "Update a folder"
method: PATCH
path: "/folders/{id}"
tags: ["Folders"]
---

# Update a folder

`PATCH /folders/{id}`

## Request

- Base URL: `https://app.gc.ai/api/external/v1`
- URL: `https://app.gc.ai/api/external/v1/folders/{id}`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/gc-ai/apis/gc-ai-external-api/docs/folders/:id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update a folder's name, description, parent, or access-control flag. At least one field must be provided. System folders cannot be modified.

Org-scoped keys can update non-access-controlled folders.

## Path parameters

- `id` string, uuid, required: The folder ID

## Request body

- UpdateFolderRequest
  - `name` string: New folder name (minimum 2 characters)
  - `description` string: New folder description
  - `parent_folder_id` string, uuid: Target parent folder ID. The destination must not be the folder itself or one of its descendants.
  - `is_access_controlled` boolean: Whether the folder requires explicit access grants

## Response `200`

Folder updated successfully

- Folder
  - `id` string, uuid, required: Unique folder identifier
  - `name` string, required: Folder name
  - `description` string, nullable, required: Folder description, or null if unset
  - `path` string, required: Path through ancestors visible to the requester. Inaccessible ancestors are skipped, so this may not reflect absolute depth. Use `parent_folder_id` to traverse hierarchy.
  - `parent_folder_id` string, uuid, nullable, required: Parent folder ID, or null for root
  - `folder_type` string, required: Folder type (custom, my-files, etc.)
  - `created_at` string, required: ISO 8601 creation timestamp

## Other responses

- `400`: Invalid request body, system folder, or invalid parent
- `401`: Missing or malformed API key
- `403`: Access denied
- `404`: Folder or destination folder not found
- `429`: Rate limit exceeded. See [Rate Limits](https://docs.gc.ai/api-reference/concepts/rate-limits) for the tiers, limits, and how to back off.
- `500`: Internal server error
- `503`: Service temporarily unavailable

---

[API](https://skmtc.dev/gc-ai/apis/gc-ai-external-api.md) - [All operations](https://skmtc.dev/gc-ai/apis/gc-ai-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gc-ai/apis/gc-ai-external-api/revisions/2bbdfddf7107?raw)
