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

# POST /v1/folders

`POST /v1/folders`

Creates a folder in one of the following locations:

- The top level of a Canva user's [projects](https://www.canva.com/help/find-designs-and-folders/) (using the ID `root`),
- The user's Uploads folder (using the ID `uploads`),
- Another folder (using the parent folder's ID).

When a folder is successfully created, the
endpoint returns its folder ID, along with other information.

## Request body

- CreateFolderRequest — Body parameters for creating a new folder.
  - `name` string, required — The name of the folder.
  - `parent_folder_id` string, required — The folder ID of the parent folder. To create a new folder at the top level of a user's [projects](https://www.canva.com/help/find-designs-and-folders/), use the ID `root`. To create it in their Uploads folder, use `uploads`.

## Response `200`

OK

- CreateFolderResponse — Details about the new folder.
  - `folder` Folder — The folder object, which contains metadata about the folder.
    - `id` string, required — The folder ID.
    - `name` string, required — The folder name.
    - `created_at` integer, required — When the folder was created, as a Unix timestamp (in seconds since the Unix Epoch).
    - `updated_at` integer, required — When the folder was last updated, as a Unix timestamp (in seconds since the Unix Epoch).
    - `thumbnail` Thumbnail — A thumbnail image representing the object.
      - `width` integer, required — The width of the thumbnail image in pixels.
      - `height` integer, required — The height of the thumbnail image in pixels.
      - `url` string, required — A URL for retrieving the thumbnail image. This URL expires after 15 minutes. This URL includes a query string that's required for retrieving the thumbnail.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `default` — Error Response

## Changes

- **2026-08-28** `f32aa6ee029d` — 4 warning
  - added the new `design_generation_rejected` enum value to the `code` response property for the response status `400`
  - added the new `design_generation_rejected` enum value to the `code` response property for the response status `403`
  - added the new `design_generation_rejected` enum value to the `code` response property for the response status `404`
  - added the new `design_generation_rejected` enum value to the `code` response property for the response status `default`
- **2026-08-27** `e5ffb199a510` — 8 warning
  - added the new `domain_restricted` enum value to the `code` response property for the response status `400`
  - added the new `domain_restricted` enum value to the `code` response property for the response status `403`
  - added the new `domain_restricted` enum value to the `code` response property for the response status `404`
  - added the new `domain_restricted` enum value to the `code` response property for the response status `default`
  - …4 more

[Change history](https://skmtc.dev/canva/apis/canva-connect-api/changes/v1/folders/post.md)

---

[API](https://skmtc.dev/canva/apis/canva-connect-api.md) · [All operations](https://skmtc.dev/canva/apis/canva-connect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/canva/canva-connect-api/revisions/f32aa6ee029d/schema)
