---
title: "Create Folder"
method: POST
path: "/v1/folders"
tags: ["Folders"]
---

# Create Folder

`POST /v1/folders`

Creates a new folder.

## Request body

- object
  - `name` string, required — Name of the folder being created.
  - `type` 'folder' | 'team', required — * folder - Folders can live in other folders, team folders, or the root of a user’s folder manager ("My Documents"). A folder in "My Documents" will have a null parent field. * team - Team folders can never live in another folder and are always located in the "Team Folders" section of a user's folder manager. Team folders will not have a parent field. Learn more
  - `parent` union — Destination folder or repository to create the new folder in. For repositories, use the repository ID prefixed with `repo_` (e.g., `repo_12345`). For folders, use the numeric folder ID. If it is not provided, the folder will be created in the root of the user's folder manager ("My Documents"). Ignored when `appFolder` is set to `true`.
    - integer — Numeric folder ID.
    - string — Repository ID prefixed with `repo_`.
  - `appFolder` boolean — When set to `true`, the folder is created inside the OAuth2 client's app project folder, overriding the `parent` field. Required when using a `document.app.folder` scope without a `folder` scope.

## Response `201`

Created with a Folder resource containing information about the newly created folder.

- Folder — A standard representation of a folder.
  - `id` number, required — Unique ID of the folder
  - `type` 'folder' | 'team', required — * folder - Folders can live in other folders, team folders, or the root of a user’s folder manager ("My Documents"). A folder in "My Documents" will have a null parent field. * team - Team folders can never live in another folder and are always located in the "Team Folders" section of a user's folder manager. Team folders will not have a parent field. Learn more
  - `name` string, required — Name of the folder
  - `parent` number, nullable — ID of the parent folder.
  - `created` string, date-time, required — Date and time of when the folder was created
  - `trashed` string, date-time — Date and time of when the folder was trashed
  - `attributes` FolderAttribute[] — An array of attributes assigned to the folder. Can be null or empty.
    - `name` string — Name of the attribute
    - `value` string — Value of the attribute. Can be any type, but attributes with the same name will always have the same type.

## Other responses

- `400` — Bad Request. * A team folder cannot be created within another folder or team. * Invalid parent ID. Must be either a string prefixed with repo_ (for repositories) or a number. * When using a `document.app.folder` scope, `appFolder` must be set to `true`.
- `403` — Forbidden if the request is not authorized to create in the specified `parent` folder or repository, or when using a `document.app.folder` scope without setting `appFolder` to `true`.

---

[API](https://skmtc.net/lucid/apis/lucid-rest-api.md) · [All operations](https://skmtc.net/lucid/apis/lucid-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lucid/lucid-rest-api/revisions/6a32cb9e1aa7/schema)
