---
title: "POST /v3/folders"
method: POST
path: "/v3/folders"
tags: ["folders"]
---

# POST /v3/folders

`POST /v3/folders`

Creates a folder in the resource hierarchy. Returns an `Operation` which can be used to track the progress of the folder creation workflow. Upon success, the `Operation.response` field will be populated with the created Folder. In order to succeed, the addition of this new folder must not violate the folder naming, height, or fanout constraints. + The folder's `display_name` must be distinct from all other folders that share its parent. + The addition of the folder must not cause the active folder hierarchy to exceed a height of 10. Note, the full active + deleted folder hierarchy is allowed to reach a height of 20; this provides additional headroom when moving folders that contain deleted folders. + The addition of the folder must not cause the total number of folders under its parent to exceed 300. If the operation fails due to a folder constraint violation, some errors may be returned by the `CreateFolder` request, with status code `FAILED_PRECONDITION` and an error description. Other folder constraint violations will be communicated in the `Operation`, with the specific `PreconditionFailure` returned in the details list in the `Operation.error` field. The caller must have `resourcemanager.folders.create` permission on the identified parent.

## Request body

- Folder — A folder in an organization's resource hierarchy, used to organize that organization's resources.
  - `deleteTime` string, google-datetime — Output only. Timestamp when the folder was requested to be deleted.
  - `configuredCapabilities` string[] — Output only. Optional capabilities configured for this folder (via UpdateCapability API). Example: `folders/123/capabilities/app-management`.
  - `name` string — Identifier. The resource name of the folder. Its format is `folders/{folder_id}`, for example: "folders/1234".
  - `createTime` string, google-datetime — Output only. Timestamp when the folder was created.
  - `updateTime` string, google-datetime — Output only. Timestamp when the folder was last modified.
  - `parent` string — Required. The folder's parent's resource name. Updates to the folder's parent must be performed using MoveFolder.
  - `etag` string — Output only. A checksum computed by the server based on the current value of the folder resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
  - `displayName` string — The folder's display name. A folder's display name must be unique amongst its siblings. For example, no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. This is captured by the regular expression: `[\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?`.
  - `tags` object — Optional. Input only. Immutable. Tag keys/values directly bound to this folder. Each item in the map must be expressed as " : ". For example: "123/environment" : "production", "123/costCenter" : "marketing" Note: Currently this field is in Preview.
  - `managementProject` string — Output only. Management Project associated with this folder (if app-management capability is enabled). Example: `projects/google-mp-123` OUTPUT ONLY.
  - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'DELETE_REQUESTED' — Output only. The lifecycle state of the folder. Updates to the state must be performed using DeleteFolder and UndeleteFolder.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/cloudresourcemanager.md) · [All operations](https://skmtc.dev/google/apis/cloudresourcemanager/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/cloudresourcemanager/revisions/3d76e8caf96a/schema)
