> ## Documentation Index
> Fetch the complete documentation index at: https://developers.wrike.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Folders (Account)

Returns a list of folders for the current account.<br>
The method operates in two modes:<br>
<ul>
<li><b>Folder Tree Mode</b>: Activated if no filter parameters are provided. This mode returns the account's
folders (spaces), their descendant folders, the root folder, and the recycle bin folder
(note that "deleted" parameter can affect the result, see below).
Filtering can be requested in this mode using the descendants=true parameter along with filter parameters.

<li><b>Folders Mode</b>: Activated if the parameter descendant=false is specified or if there is at least
one filter parameter, e.g., project=true. This mode returns only the account's folders filtered by the
specified parameters.
</ul>

The chosen mode can be identified by the "kind" key in the result JSON body, with "kind": "folderTree"
for Folder Tree Mode and "kind": "folders" for Folders Mode.

<b>Scopes:</b> Default, wsReadOnly, wsReadWrite

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Wrike API",
    "version": "4.0"
  },
  "servers": [
    {
      "url": "https://www.wrike.com/api/v4"
    },
    {
      "url": "https://app-eu.wrike.com/api/v4"
    },
    {
      "url": "https://app-us2.wrike.com/api/v4"
    }
  ],
  "paths": {
    "/folders": {
      "get": {
        "tags": [
          "Folders & Projects"
        ],
        "summary": "Get Folders (Account)",
        "description": "Returns a list of folders for the current account.<br>\nThe method operates in two modes:<br>\n<ul>\n<li><b>Folder Tree Mode</b>: Activated if no filter parameters are provided. This mode returns the account's\nfolders (spaces), their descendant folders, the root folder, and the recycle bin folder\n(note that \"deleted\" parameter can affect the result, see below).\nFiltering can be requested in this mode using the descendants=true parameter along with filter parameters.\n\n<li><b>Folders Mode</b>: Activated if the parameter descendant=false is specified or if there is at least\none filter parameter, e.g., project=true. This mode returns only the account's folders filtered by the\nspecified parameters.\n</ul>\n\nThe chosen mode can be identified by the \"kind\" key in the result JSON body, with \"kind\": \"folderTree\"\nfor Folder Tree Mode and \"kind\": \"folders\" for Folders Mode.\n\n<b>Scopes:</b> Default, wsReadOnly, wsReadWrite",
        "operationId": "GET:/folders/empty",
        "parameters": [
          {
            "name": "permalink",
            "in": "query",
            "description": "Folder permalink, exact match",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Folder permalink, exact match"
            }
          },
          {
            "name": "descendants",
            "in": "query",
            "description": "Adds all descendant folders to search scope",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Adds all descendant folders to search scope",
              "default": "true"
            }
          },
          {
            "name": "metadata",
            "in": "query",
            "description": "Folders metadata filter",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Metadata"
                }
              }
            }
          },
          {
            "name": "customField",
            "in": "query",
            "description": "[Deprecated] It is recommended to use 'customFields' parameter. Custom field filter",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldFilterParam"
                }
              }
            }
          },
          {
            "name": "customFields",
            "in": "query",
            "description": "Custom field filters, exact match. Limit : `25`",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "maxItems": 25,
                  "type": "array",
                  "description": "Custom field filters, exact match",
                  "items": {
                    "$ref": "#/components/schemas/CustomFieldFilterParam"
                  }
                }
              }
            }
          },
          {
            "name": "updatedDate",
            "in": "query",
            "description": "Updated date filter, range",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstantRange"
                }
              }
            }
          },
          {
            "name": "withInvitations",
            "in": "query",
            "description": "Include invitations in sharedIds list",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Include invitations in sharedIds list"
            }
          },
          {
            "name": "project",
            "in": "query",
            "description": "Filter only projects (true) / only folders (false)",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Filter only projects (true) / only folders (false)"
            }
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "Get folders from Root (false) / Recycle Bin (true). This parameter does not affect method's mode.",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Get folders from Root (false) / Recycle Bin (true). This parameter does not affect method's mode."
            }
          },
          {
            "name": "contractTypes",
            "in": "query",
            "description": "Contract type filter\n* `Billable` - Billable\n* `NonBillable` - Non-Billable",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Contract type filter",
                  "items": {
                    "$ref": "#/components/schemas/ContractType"
                  }
                }
              }
            }
          },
          {
            "name": "plainTextCustomFields",
            "in": "query",
            "description": "Strip HTML tags from custom fields",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Strip HTML tags from custom fields"
            }
          },
          {
            "name": "customItemTypes",
            "in": "query",
            "description": "Custom item types filter. Standard types (project, folder) IDs are not allowed. Limit : `1000`",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "maxItems": 1000,
                  "type": "array",
                  "description": "Custom item types filter. Standard types (project, folder) IDs are not allowed.",
                  "items": {
                    "$ref": "#/components/schemas/EntityTypeId"
                  }
                }
              }
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of folders to return (max 1000 items per page). Only 'folders' kind is supported",
            "required": false,
            "schema": {
              "type": "number",
              "description": "The number of folders to return (max 1000 items per page). Only 'folders' kind is supported"
            }
          },
          {
            "name": "nextPageToken",
            "in": "query",
            "description": "A pagination request will return a token that applies an offset to the next page. The returned value should be used as an input parameter in the next request. Parameter pageSize can be omitted in this case. If you included optional fields to the first request, you will need to include those in each new call. Only 'folders' kind is supported",
            "required": false,
            "schema": {
              "type": "string",
              "description": "A pagination request will return a token that applies an offset to the next page. The returned value should be used as an input parameter in the next request. Parameter pageSize can be omitted in this case. If you included optional fields to the first request, you will need to include those in each new call. Only 'folders' kind is supported"
            }
          },
          {
            "name": "customStatuses",
            "in": "query",
            "description": "Custom statuses filter",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Custom statuses filter",
                  "items": {
                    "$ref": "#/components/schemas/CustomStatusId"
                  }
                }
              }
            }
          },
          {
            "name": "authors",
            "in": "query",
            "description": "Authors filter, match of any",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Authors filter, match of any",
                  "items": {
                    "$ref": "#/components/schemas/UserId"
                  }
                }
              }
            }
          },
          {
            "name": "owners",
            "in": "query",
            "description": "Assignees filter with specified users, match of any",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Assignees filter with specified users, match of any",
                  "items": {
                    "$ref": "#/components/schemas/UserId"
                  }
                }
              }
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date filter, date match or range",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocalDateTimeRange"
                }
              }
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date filter, date match or range",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocalDateTimeRange"
                }
              }
            }
          },
          {
            "name": "completedDate",
            "in": "query",
            "description": "Completed date filter, date match or range",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocalDateTimeRange"
                }
              }
            }
          },
          {
            "name": "title",
            "in": "query",
            "description": "Title filter, contains match and accepts non-blank values only",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Title filter, contains match and accepts non-blank values only"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Json string array of optional fields to be included in the response model\n* `superParentIds` - List of super parent folder IDs (applicable to 'Selective Sharing' labs feature)\n* `metadata` - Folder metadata entries\n* `customItemTypeId` - Work Item custom item type Id\n* `customFields` - Custom fields\n* `customColumnIds` - Associated custom field IDs\n* `contractType` - Contract type\n* `description` - Description\n* `attachmentCount` - Attachment count\n* `hasAttachments` - Has attachments\n* `briefDescription` - Brief description\n* `space` - Is folder a space",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Json string array of optional fields to be included in the response model",
                  "items": {
                    "type": "string",
                    "enum": [
                      "superParentIds",
                      "metadata",
                      "customItemTypeId",
                      "customFields",
                      "customColumnIds",
                      "contractType",
                      "description",
                      "attachmentCount",
                      "hasAttachments",
                      "briefDescription",
                      "space"
                    ]
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "2XX": {
            "description": "success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Folder"
                      }
                    },
                    "kind": {
                      "$ref": "#/components/schemas/ResponseKind"
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "client-side error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "server-side error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "HTTP": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ResponseKind": {
        "type": "string",
        "enum": [
          "accounts",
          "users",
          "contacts",
          "assets",
          "eDiscoveryReport",
          "folders",
          "folderTree",
          "tasks",
          "taskIds",
          "timelogs",
          "timelogCategories",
          "timelogLockPeriods",
          "timetrackerTimers",
          "comments",
          "attachments",
          "url",
          "version",
          "dataExport",
          "dataExportSchema",
          "auditLog",
          "accessRoles",
          "stream",
          "changes",
          "posts",
          "mailSettings",
          "integrationInfo",
          "gmailIntegrationSettings",
          "workTypesForIntegrations",
          "ids",
          "backups",
          "domains",
          "dependencies",
          "workflows",
          "workschedules",
          "workscheduleExclusions",
          "workscheduleUserExclusions",
          "customfields",
          "customfieldIds",
          "customstatuses",
          "invitations",
          "notifications",
          "jobroles",
          "placeholders",
          "groups",
          "session",
          "dashboards",
          "widgets",
          "taskCreationSettings",
          "colors",
          "experiments",
          "topics",
          "topicComments",
          "webhooks",
          "reviews",
          "boards",
          "textSearch",
          "chatChannels",
          "chatMessages",
          "forms",
          "requestForms",
          "request",
          "report",
          "platformWidgets",
          "platformWidgetInstances",
          "spaces",
          "pdf",
          "customerSatisfaction",
          "asyncJob",
          "approvals",
          "highlights",
          "highlightsList",
          "highlightsSettings",
          "highlightsCard",
          "timesheet",
          "timesheetRow",
          "timesheetSubmissionRule",
          "mobileFeatures",
          "mobileSettings",
          "folderBlueprintTree",
          "taskBlueprintTree",
          "feedback",
          "timeline_snapshot",
          "contactIds",
          "bookings",
          "integrateThreshold",
          "hourlyRatesProvision",
          "hourlyRates",
          "projectTeamMembers",
          "contactsHistory",
          "tasksHistory",
          "foldersHistory",
          "activityDigest",
          "workItemTemplates",
          "workTemplates",
          "workItemMetadata",
          "workItem",
          "customItemTypes",
          "verificationCode",
          "views",
          "listView",
          "tableView",
          "userTypes",
          "reactions",
          "externalRequesters",
          "workscheduleCapacityOverrides",
          "userCapacityOverrides",
          "userCapacityExclusions",
          "rollups",
          "requestFormPrefill",
          "cascadingFieldSettings"
        ]
      },
      "CustomFieldId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "InstantRange": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "Range start<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          },
          "end": {
            "type": "string",
            "description": "Range end<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          }
        }
      },
      "Metadata": {
        "required": [
          "key",
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "description": "Value should be less than 1000 symbols, compatible with JSON string. Use JSON 'null' in order to remove metadata entry"
          },
          "key": {
            "type": "string",
            "description": "Key should be less than 50 symbols and match following regular expression ([A-Za-z0-9_-]+)"
          }
        },
        "description": "Metadata entries are isolated on per-client (application) basis"
      },
      "CustomFieldComparator": {
        "type": "string",
        "description": "* `IsEmpty` - For all field types. No extra parameters required\n* `ContainsAny` - For multiple select and contact fields. Parameter 'values' is required\n* `NotInRange` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameters 'minValue' and 'maxValue' are required\n* `LessOrEqualTo` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameter 'value' is required\n* `StartsWith` - For text and dropdown fields. Parameter 'value' is required\n* `ContainsAll` - For multiple select and contact fields. Parameter 'values' is required\n* `EqualTo` - For all field types. Parameter 'value' is required\n* `LessThan` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameter 'value' is required\n* `GreaterOrEqualTo` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameter 'value' is required\n* `IsNotEmpty` - For all field types. No extra parameters required\n* `GreaterThan` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameter 'value' is required\n* `InRange` - For numeric, text, dropdown, currency, percent, duration, and date fields. Parameters 'minValue' and 'maxValue' are required\n* `Contains` - For text and dropdown fields. Parameter 'value' is required\n* `EndsWith` - For text and dropdown fields. Parameter 'value' is required",
        "enum": [
          "IsEmpty",
          "ContainsAny",
          "NotInRange",
          "LessOrEqualTo",
          "StartsWith",
          "ContainsAll",
          "EqualTo",
          "LessThan",
          "GreaterOrEqualTo",
          "IsNotEmpty",
          "GreaterThan",
          "InRange",
          "Contains",
          "EndsWith"
        ]
      },
      "ErrorType": {
        "type": "string",
        "enum": [
          "invalid_request",
          "invalid_parameter",
          "parameter_required",
          "not_authorized",
          "access_forbidden",
          "not_allowed",
          "resource_not_found",
          "method_not_found",
          "too_many_requests",
          "rate_limit_exceeded",
          "server_error"
        ]
      },
      "EntityTypeId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "errorDescription": {
            "type": "string"
          },
          "error": {
            "$ref": "#/components/schemas/ErrorType"
          }
        }
      },
      "LocalDateTimeRange": {
        "type": "object",
        "properties": {
          "equal": {
            "type": "string",
            "description": "Date exact match value<br>Format: yyyy-MM-dd'T'HH:mm:ss ('T'HH:mm:ss is optional)"
          },
          "start": {
            "type": "string",
            "description": "Range start<br>Format: yyyy-MM-dd'T'HH:mm:ss ('T'HH:mm:ss is optional)"
          },
          "end": {
            "type": "string",
            "description": "Range end<br>Format: yyyy-MM-dd'T'HH:mm:ss ('T'HH:mm:ss is optional)"
          }
        }
      },
      "CustomFieldFilterParam": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "comparator": {
            "$ref": "#/components/schemas/CustomFieldComparator"
          },
          "minValue": {
            "type": "string",
            "description": "Custom field min value"
          },
          "maxValue": {
            "type": "string",
            "description": "Custom field max value"
          },
          "values": {
            "type": "array",
            "description": "Custom field possible values",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "$ref": "#/components/schemas/CustomFieldId"
          },
          "value": {
            "type": "string",
            "description": "Custom field value"
          }
        }
      },
      "FolderColor": {
        "type": "string",
        "description": "* `Indigo4`\n* `Gray3`\n* `Indigo2`\n* `Indigo3`\n* `Gray2`\n* `Gray1`\n* `Yellow1`\n* `Yellow2`\n* `Yellow3`\n* `Blue1`\n* `Yellow4`\n* `Blue2`\n* `Green4`\n* `Blue3`\n* `Green3`\n* `Blue4`\n* `Green2`\n* `Green1`\n* `Orange4`\n* `Orange3`\n* `Orange2`\n* `Orange1`\n* `Person`\n* `Purple1`\n* `Purple2`\n* `Purple3`\n* `Pink1`\n* `Red3`\n* `Pink2`\n* `Red4`\n* `Pink3`\n* `Red1`\n* `Pink4`\n* `Red2`\n* `Purple4`\n* `DarkBlue1`\n* `DarkBlue3`\n* `DarkBlue2`\n* `DarkBlue4`\n* `YellowGreen4`\n* `YellowGreen3`\n* `YellowGreen2`\n* `YellowGreen1`\n* `Turquoise3`\n* `Turquoise4`\n* `Turquoise1`\n* `Turquoise2`\n* `Indigo1`\n* `DarkCyan2`\n* `None`\n* `DarkCyan1`\n* `DarkCyan4`\n* `DarkCyan3`",
        "enum": [
          "Indigo4",
          "Gray3",
          "Indigo2",
          "Indigo3",
          "Gray2",
          "Gray1",
          "Yellow1",
          "Yellow2",
          "Yellow3",
          "Blue1",
          "Yellow4",
          "Blue2",
          "Green4",
          "Blue3",
          "Green3",
          "Blue4",
          "Green2",
          "Green1",
          "Orange4",
          "Orange3",
          "Orange2",
          "Orange1",
          "Person",
          "Purple1",
          "Purple2",
          "Purple3",
          "Pink1",
          "Red3",
          "Pink2",
          "Red4",
          "Pink3",
          "Red1",
          "Pink4",
          "Red2",
          "Purple4",
          "DarkBlue1",
          "DarkBlue3",
          "DarkBlue2",
          "DarkBlue4",
          "YellowGreen4",
          "YellowGreen3",
          "YellowGreen2",
          "YellowGreen1",
          "Turquoise3",
          "Turquoise4",
          "Turquoise1",
          "Turquoise2",
          "Indigo1",
          "DarkCyan2",
          "None",
          "DarkCyan1",
          "DarkCyan4",
          "DarkCyan3"
        ]
      },
      "FolderId": {
        "pattern": "^([a-zA-Z0-9-_:\\.=]){1,256}$",
        "type": "string"
      },
      "Folder": {
        "type": "object",
        "properties": {
          "color": {
            "$ref": "#/components/schemas/FolderColor"
          },
          "customItemTypeId": {
            "$ref": "#/components/schemas/EntityTypeId"
          },
          "childIds": {
            "type": "array",
            "description": "Child folder IDs",
            "items": {
              "$ref": "#/components/schemas/FolderId"
            }
          },
          "scope": {
            "$ref": "#/components/schemas/TreeScope"
          },
          "project": {
            "$ref": "#/components/schemas/FolderProject"
          },
          "id": {
            "$ref": "#/components/schemas/FolderId"
          },
          "title": {
            "type": "string",
            "description": "Title"
          },
          "space": {
            "type": "boolean",
            "description": "Is folder a space"
          }
        }
      },
      "ProjectStatus": {
        "type": "string",
        "description": "* `Red`\n* `OnHold`\n* `Yellow`\n* `Completed`\n* `Custom`\n* `Cancelled`\n* `Green`",
        "enum": [
          "Red",
          "OnHold",
          "Yellow",
          "Completed",
          "Custom",
          "Cancelled",
          "Green"
        ]
      },
      "CustomStatusId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "TreeScope": {
        "type": "string",
        "description": "* `WsTask` - Task in account\n* `RbRoot` - Virtual Recycle Bin folder of account\n* `RbFolder` - Folder is in Recycle Bin (deleted folder)\n* `WsFolder` - Folder in account\n* `WsRoot` - Virtual root folder of account\n* `RbTask` - Task is in Recycle Bin (deleted task)",
        "enum": [
          "WsTask",
          "RbRoot",
          "RbFolder",
          "WsFolder",
          "WsRoot",
          "RbTask"
        ]
      },
      "ContractType": {
        "type": "string",
        "description": "* `Billable` - Billable\n* `NonBillable` - Non-Billable",
        "enum": [
          "Billable",
          "NonBillable"
        ]
      },
      "FolderProject": {
        "required": [
          "ownerIds",
          "status"
        ],
        "type": "object",
        "properties": {
          "createdDate": {
            "type": "string",
            "description": "Project created date<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          },
          "ownerIds": {
            "type": "array",
            "description": "List of project owner IDs",
            "items": {
              "$ref": "#/components/schemas/UserId"
            }
          },
          "endDate": {
            "type": "string",
            "description": "Project end date<br>Format: yyyy-MM-dd"
          },
          "contractType": {
            "$ref": "#/components/schemas/ContractType"
          },
          "customStatusId": {
            "$ref": "#/components/schemas/CustomStatusId"
          },
          "authorId": {
            "$ref": "#/components/schemas/UserId"
          },
          "startDate": {
            "type": "string",
            "description": "Project start date<br>Format: yyyy-MM-dd"
          },
          "completedDate": {
            "type": "string",
            "description": "Project completed date<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          },
          "finance": {
            "$ref": "#/components/schemas/FolderProjectFinance"
          },
          "status": {
            "$ref": "#/components/schemas/ProjectStatus"
          }
        }
      },
      "FolderProjectFinance": {
        "type": "object",
        "properties": {
          "plannedCost": {
            "type": "number",
            "description": "Planned cost"
          },
          "plannedFees": {
            "type": "number",
            "description": "Planned fees"
          },
          "currency": {
            "type": "string",
            "description": "Currency"
          },
          "actualFees": {
            "type": "number",
            "description": "Actual fees"
          },
          "actualCost": {
            "type": "number",
            "description": "Actual cost"
          },
          "budget": {
            "type": "number",
            "description": "Budget"
          }
        }
      },
      "UserId": {
        "pattern": "^([A-Z0-9]){8}$",
        "type": "string"
      }
    },
    "securitySchemes": {
      "HTTP": {
        "type": "http",
        "description": "Use OAuth 2.0 access token or permanent access token for authorization.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  }
}
```