> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # CreateFolder # Package: mediaManager # Namespace: FoldersService # Method link: https://dev.wix.com/docs/api-reference/assets/media/media-manager/folders/create-folder.md ## Permission Scopes: Manage Media Manager: SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER ## Introduction Creates a new folder in the Media Manager.
Use the `parentFolderId` parameter to specify in which existing folder you want the new folder to be created. If no folder is specified, the new folder is created in the `media-root` folder. --- ## REST API ### Schema ``` Method: createFolder Description: Creates a new folder in the Media Manager.
Use the `parentFolderId` parameter to specify in which existing folder you want the new folder to be created. If no folder is specified, the new folder is created in the `media-root` folder. URL: https://www.wixapis.com/site-media/v1/folders Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: displayName Method parameters: param name: displayName | type: displayName | description: Folder name that appears in the Media Manager. | required: true param name: parentFolderId | type: parentFolderId | description: GUID of the folder's parent folder. Return type: CreateFolderResponse - name: folder | type: Folder | description: Information about the newly created folder. - name: id | type: string | description: Folder GUID. Generated when a folder is created in the Media Manager. - name: displayName | type: string | description: Folder name as it appears in the Media Manager. - name: parentFolderId | type: string | description: GUID of the folder's parent folder.
Default: `media-root` folder. - name: createdDate | type: string | description: Date the folder was created. - name: updatedDate | type: string | description: Date the folder was updated. - name: state | type: State | description: State of the folder. - enum: OK, DELETED - name: siteId | type: string | description: Site GUID the folder belongs to. ``` ### Examples ### Create a folder ```curl curl -X POST \ 'https://www.wixapis.com/site-media/v1/folders' \ -H 'Authorization: ' \ -H 'Content-Type: application/json' \ --data-binary '{ "displayName": "New Folder", "parentFolderId": "25284aa06584441ea94338fdcfbaba12" }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.mediaManager.FoldersService.createFolder(displayName, options) Description: Creates a new folder in the Media Manager.
Use the `parentFolderId` parameter to specify in which existing folder you want the new folder to be created. If no folder is specified, the new folder is created in the `media-root` folder. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: displayName Method parameters: param name: displayName | type: string | description: Folder name that appears in the Media Manager. | required: true param name: options | type: CreateFolderOptions none - name: parentFolderId | type: string | description: GUID of the folder's parent folder. Return type: PROMISE - name: folder | type: Folder | description: Information about the newly created folder. - name: _id | type: string | description: Folder GUID. Generated when a folder is created in the Media Manager. - name: displayName | type: string | description: Folder name as it appears in the Media Manager. - name: parentFolderId | type: string | description: GUID of the folder's parent folder.
Default: `media-root` folder. - name: _createdDate | type: Date | description: Date the folder was created. - name: _updatedDate | type: Date | description: Date the folder was updated. - name: state | type: State | description: State of the folder. - enum: OK, DELETED - name: siteId | type: string | description: Site GUID the folder belongs to. ``` ### Examples ### Create a folder from visitor input (with $w) This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then creates a folder within that folder. ```javascript /****************************************** * Backend code - create-folder.web.js/ts * *****************************************/ import { Permissions, webMethod } from '@wix/web-methods'; import { folders } from '@wix/media'; import { auth } from '@wix/essentials'; export const listFolders = webMethod(Permissions.Anyone, async () => { try { const elevatedListFolders = auth.elevate(folders.listFolders) const foldersList = await elevatedListFolders(); return foldersList; } catch (error) { console.error(error); } }); export const createFolder = webMethod(Permissions.Anyone, async (displayName, options) => { try { const elevateCreateFolder = auth.elevate(folders.createFolder); const newFolder = await elevateCreateFolder(displayName, options); return newFolder; } catch (err){ console.error(err); } }); /************* * Page code * ************/ import { createFolder, listFolders } from 'backend/create-folder.web'; $w.onReady(async () => { await populateFoldersDropdown(); $w('#createFolder').onClick(async () => { const folderName = $w('folderName').value; const createOptions = {parentFolderId: $w('foldersDropdown').value}; const newFolder = await createFolder(folderName, createOptions); console.log(`Successfully created new folder "${folderName}" in ${$w('#foldersDropdown').label}.`) $w('#createdFolderSuccessMsg').show(); }); }); async function populateFoldersDropdown() { const folderList = await listFolders(); const dropdownOptions = folderList.folders.map((folder) => { return { label: folder.displayName, value: folder._id }; }); $w('#foldersDropdown').options = dropdownOptions; }; ``` ### Create a folder (with elevated permissions) ```javascript import { folders } from '@wix/media'; import { auth } from '@wix/essentials'; const elevatedCreateFolder = auth.elevate(folders.createFolder); /* Sample displayName value: 'Vector Art' * * Sample options value: * { * parentFolderId: 'b2bc72834460412494c93617d88b8c89' * } */ async function myCreateFolderFunction(displayName, options) { try { const newFolder = await elevatedCreateFolder(displayName, options); console.log('Created folder successfully:', newFolder); return newFolder; } catch (err){ console.error(err); // Handle the error } } /* Promise resolves to: * { * "folder": { * "_createdDate": "2023-08-14T08:05:03.000Z", * "_id": "128833f888ea4846bbfbe8f164f3c6b5", * "_updatedDate": "2023-08-14T08:05:03.000Z", * "displayName": "Vector Art", * "parentFolderId": "b2bc72834460412494c93617d88b8c89", * "state": "OK" * } * } */ ``` ### Create a folder ```javascript import { folders } from '@wix/media'; /* Sample displayName value: 'Vector Art' * * Sample options value: * { * parentFolderId: 'b2bc72834460412494c93617d88b8c89' * } */ async function myCreateFolderFunction(displayName, options) { try { const newFolder = await folders.createFolder(displayName, options); console.log('Created folder successfully:', newFolder); return newFolder; } catch (err){ console.error(err); // Handle the error } } /* Promise resolves to: * { * "folder": { * "_createdDate": "2023-08-14T08:05:03.000Z", * "_id": "128833f888ea4846bbfbe8f164f3c6b5", * "_updatedDate": "2023-08-14T08:05:03.000Z", * "displayName": "Vector Art", * "parentFolderId": "b2bc72834460412494c93617d88b8c89", * "state": "OK" * } * } */ ``` ### createFolder (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { folders } from '@wix/media'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { folders }, // Include the auth strategy and host as relevant }); async function createFolder(displayName,options) { const response = await myWixClient.folders.createFolder(displayName,options); }; ``` ---