---
title: "Create new folder"
method: POST
path: "/api/v1/assets/folders"
tags: ["Web Assets"]
---

# Create new folder

`POST /api/v1/assets/folders`

## Request

- Base URL: `https://docs.anzworldline-solutions.com.au`
- URL: `https://docs.anzworldline-solutions.com.au/api/v1/assets/folders`
- Auth: none declared
- TypeScript: <https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api/docs/api/v1/assets/folders/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new folder at the specified path with the provided configuration details

## Request body

- NewFolderForm
  - `assetPath` string, required: Full path where the folder should be created or updated including site and folder structure. Must end with '/'
  - `data` FolderDetail, required: Folder configuration details
    - `title` string, required: Display title for the folder
    - `sortOrder` integer: Sort order for the folder within its parent directory
    - `showOnMenu` boolean: Whether the folder should be visible in navigation menus
    - `fileMasks` string[]: List of file patterns that are allowed in this folder (e.g., *.jpg, *.pdf)
    - `defaultAssetType` string: Default asset type for files uploaded to this folder
    - `defaultBaseType` string: Content Drive upload-mode preference for this folder, recorded as a base content type name (DOTASSET or FILEASSET; case-insensitive, also accepts the alternate names DotAsset/File and stored canonically in uppercase). Omit or set to null for no preference ("ask each time"); on update, omitting/null clears any previously set preference. This is orthogonal to defaultAssetType and does not change FileAsset behavior.

## Response `200`

Folder created successfully

- ResponseEntityView
  - `errors` ErrorEntity[]
    - `errorCode` string
    - `message` string
    - `fieldName` string
  - `entity` object
  - `messages` MessageEntity[]
    - `message` string
  - `i18nMessagesMap` object
  - `permissions` string[]
  - `pagination` Pagination
    - `currentPage` integer
    - `perPage` integer
    - `totalEntries` integer

## Other responses

- `400`: Invalid request data or folder path
- `401`: Unauthorized access
- `409`: Folder already exists at the specified path

## Changes

- **2026-10-30** `4fd8e917d458`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api/changes/api/v1/assets/folders/post.md)

---

[API](https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api.md) - [All operations](https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api/revisions/4fd8e917d458?raw)
