---
title: "Create a folder"
method: POST
path: "/folders"
tags: ["Folders"]
---

# Create a folder

`POST /folders`

## Request

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

Create a new folder for organizing files. Folders can be nested by specifying a `parent_folder_id`.

Org-scoped keys can create folders under non-access-controlled parents. The `scope` parameter requires a user-scoped key.

## Request body

- CreateFolderRequest
  - `name` string, required: Folder name (min 2 characters)
  - `description` string: Optional description
  - `parent_folder_id` string, uuid: Parent folder ID. Mutually exclusive with `scope`. If both are omitted, creates a top-level folder.
  - `scope` 'my-files' | 'organization': Create the folder at the root of a meta-collection. Mutually exclusive with `parent_folder_id`. `shared-with-me` is not valid for create.

## Response `201`

Folder created

- 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
- `401`: Missing or malformed API key
- `403`: Parent folder access denied
- `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)
