Folders

Learn how to read, create, update, and delete folders using the monday.com platform API

Users can create folders inside their workspaces to help organize their boards, dashboards, and workdocs.

Queries

You can use the folders query to retrieve folder data via the API.

  • Required scope: workspaces:read
  • Returns an array containing metadata about one or a collection of folders
  • Can only be queried directly at the root; can't be nested within another query
query {
  folders (workspace_ids: 1234567890) {
    name
    id
    children {
      id
      name
    }
  }
}
let query = "query { folders (workspace_ids: 1234567890) { name id children { id name }}}";

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     query : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following arguments to reduce the number of results returned in your folders query.

ArgumentDescription
ids [ID!]The specific folders to return.
limit IntThe number of folders to get. The default is 25 and the maximum is 100.
page IntThe page number to return. Starts at 1.
workspace_ids [ID]The unique identifiers of the specific workspaces to return. You can pass [null] to return folders in the Main Workspace.

Fields

You can use the following fields to specify what information your folders query will return.

FieldDescription
children [Board]!The folder's contents, excluding dashboards and subfolders.
color FolderColorThe folder's color. See a full list of colors here.
created_at Date!The folder's creation date.
id ID!The folder's unique identifier.
name String!The folder's name.
owner_id IDThe unique identifier of the folder's owner.
parent FolderThe folder's parent folder.
sub_folders [Folder]!The folders inside of the parent folder.
workspace Workspace!The workspace that contains the folder.

Mutations

The API allows you to create, update, and delete folders using the following mutations. These operations let you programmatically control a folder's full lifecycle.

Create folder

Required scope: workspaces:write

The create_folder mutation creates a new folder in a workspace via the API. You can specify which fields to return in the mutation response.

mutation {
  create_folder(
    name: "New folder", 
    workspace_id: 1234567890
	) {
    id
  }
}
let query = "mutation { create_folder (name: \"New folder\" , workspace_id: 1234567890) { id }}";

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     query : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following arguments to define the new folder's characteristics.

ArgumentDescription
color FolderColorThe folder's color. See a full list of colors here.
name String!The folder's name.
parent_folder_id IDThe ID of the folder you want to nest the new one under.
workspace_id IDThe unique identifier of the workspace to create the new folder in.

Update folder

Required scope: workspaces:write

The update_folder mutation updates a folder's color, name, or parent folder via the API. You can specify which fields to return in the mutation response.

mutation {
  update_folder(
    folder_id: 1234567890,
    name: "Updated folder name",
    account_product_id: 54321,
    position: {
      object_id: "15",
      object_type: Board,
      is_after: false
    }
  ) {
    id
    name
  }
}

Arguments

You can use the following arguments to define the updated folder's characteristics.

ArgumentDescriptionEnum valuesSupported fields
account_product_id IDThe unique identifier of the product to move the folder to. You must also provide the relevant workspace_id within the updated product. Only available in API versions 2025-10 and later.
color FolderColorThe folder's color. See a full list of colors here.
custom_icon FolderCustomIconThe folder's custom icon. See a full list of icons here .
folder_id ID!The folder's unique identifier.
font_weight FolderFontWeightThe folder's font weight. FONT_WEIGHT_BOLD
FONT_WEIGHT_LIGHT
FONT_WEIGHT_NORMAL
FONT_WEIGHT_VERY_LIGHT
NULL
name StringThe folder's name.
parent_folder_id IDThe ID of the folder you want to nest the updated one under.
position DynamicPositionThe folder's updated position in the left-side menu. Only available in API versions 2025-10 and later.is_after Boolean
object_id String!
object_type ObjectType!
workspace_id IDThe unique identifier of the workspace to move the folder to. Only available in API versions 2025-10 and later.

Delete folder

Required scope: workspaces:write

The delete_folder mutation deletes a folder and all its contents via the API. You can specify which fields to return in the mutation response.

mutation {
  delete_folder(
    folder_id: 1234567890
	) {
    id
  }
}
let query = "mutation { delete_folder (folder_id: 1234567890) { id }}";

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     query : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following argument to specify which folder to delete.

ArgumentDescription
folder_id ID!The folder's unique identifier.