Wrike Folders And Projects API
Folder and project hierarchy management
Folder and project hierarchy management
openapi: 3.0.3
info:
title: Wrike Access Roles Folders And Projects API
description: The Wrike REST API v4 enables developers to build integrations and automations for Wrike, a collaborative work management platform used by 20,000+ organizations. The API provides access to tasks, folders, projects, contacts, workflows, time tracking, webhooks, and more. Authentication uses OAuth 2.0 or permanent access tokens. Additional platforms include a DataHub Public API for analytics, BI Export, Cloud Content Connector, and an MCP Server for AI assistant integration.
version: '4.0'
termsOfService: https://www.wrike.com/developer-terms/
contact:
name: Wrike Developer Support
url: https://developers.wrike.com
license:
name: Wrike API Terms
url: https://www.wrike.com/developer-terms/
servers:
- url: https://www.wrike.com/api/v4
description: Wrike REST API v4
security:
- oauth2: []
- bearerToken: []
tags:
- name: Folders And Projects
description: Folder and project hierarchy management
paths:
/folders:
get:
operationId: listFolders
summary: List Folders
description: Returns list of entries required to build a folder tree for all accessible accounts.
tags:
- Folders And Projects
parameters:
- name: permalink
in: query
description: Folder permalink, exact match
required: false
schema:
type: string
- name: descendants
in: query
description: Adds all descendant folders to search scope
required: false
schema:
type: boolean
- name: metadata
in: query
required: false
schema:
type: string
- name: customField
in: query
description: Custom field filter (id/value) as JSON object
required: false
schema:
type: string
- name: updatedDate
in: query
description: Updated date filter range
required: false
schema:
type: string
- name: project
in: query
description: Get only projects (true) or only folders (false)
required: false
schema:
type: boolean
- name: deleted
in: query
description: Get folders from Root (false) or Recycle Bin (true)
required: false
schema:
type: boolean
- name: fields
in: query
required: false
schema:
type: string
responses:
'200':
description: List of folders and projects
content:
application/json:
schema:
$ref: '#/components/schemas/FolderListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/folders/{folderId}:
get:
operationId: getFolder
summary: Get Folder
description: Returns information about a specific folder or project.
tags:
- Folders And Projects
parameters:
- name: folderId
in: path
required: true
description: The folder ID
schema:
type: string
responses:
'200':
description: Folder details
content:
application/json:
schema:
$ref: '#/components/schemas/FolderListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateFolder
summary: Update Folder
description: Updates a folder or project.
tags:
- Folders And Projects
parameters:
- name: folderId
in: path
required: true
schema:
type: string
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
title:
type: string
description:
type: string
shareds:
type: string
addShareds:
type: string
removeShareds:
type: string
metadata:
type: string
customFields:
type: string
responses:
'200':
description: Updated folder
content:
application/json:
schema:
$ref: '#/components/schemas/FolderListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
delete:
operationId: deleteFolder
summary: Delete Folder
description: Deletes a folder or project, moving it to the Recycle Bin.
tags:
- Folders And Projects
parameters:
- name: folderId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successfully deleted
content:
application/json:
schema:
$ref: '#/components/schemas/FolderListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/folders/{folderId}/folders:
get:
operationId: listFolderSubfolders
summary: List Folder Subfolders
description: Returns folder tree entries for the subtree of this folder.
tags:
- Folders And Projects
parameters:
- name: folderId
in: path
required: true
schema:
type: string
- name: descendants
in: query
required: false
schema:
type: boolean
- name: metadata
in: query
required: false
schema:
type: string
- name: project
in: query
required: false
schema:
type: boolean
- name: fields
in: query
required: false
schema:
type: string
responses:
'200':
description: List of subfolders
content:
application/json:
schema:
$ref: '#/components/schemas/FolderListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createFolderInFolder
summary: Create Folder In Folder
description: Creates a new folder inside the specified parent folder.
tags:
- Folders And Projects
parameters:
- name: folderId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- title
properties:
title:
type: string
description:
type: string
shareds:
type: string
metadata:
type: string
customFields:
type: string
project:
type: string
description: JSON object with project settings
responses:
'200':
description: Created folder
content:
application/json:
schema:
$ref: '#/components/schemas/FolderListResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
Project:
type: object
properties:
authorId:
type: string
ownerIds:
type: array
items:
type: string
status:
type: string
enum:
- Green
- Yellow
- Red
- Completed
- OnHold
- Cancelled
startDate:
type: string
format: date
endDate:
type: string
format: date
createdDate:
type: string
format: date-time
FolderListResponse:
type: object
properties:
kind:
type: string
example: folders
data:
type: array
items:
$ref: '#/components/schemas/Folder'
Metadata:
type: object
properties:
key:
type: string
value:
type: string
Error:
type: object
required:
- error
- errorDescription
properties:
error:
type: string
description: Error code
example: not_authorized
errorDescription:
type: string
description: Human-readable error description
example: The access token is invalid
Folder:
type: object
properties:
id:
type: string
title:
type: string
color:
type: string
childIds:
type: array
items:
type: string
scope:
type: string
enum:
- WsFolder
- WsRoot
- RbFolder
- RbRoot
- WsSpace
- WsPrivate
hasAttachments:
type: boolean
attachmentCount:
type: integer
description:
type: string
briefDescription:
type: string
customColumnIds:
type: array
items:
type: string
project:
$ref: '#/components/schemas/Project'
shareds:
type: array
items:
type: string
metadata:
type: array
items:
$ref: '#/components/schemas/Metadata'
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Authentication required or token invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Bad request - invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
oauth2:
type: oauth2
description: OAuth 2.0 authorization code flow
flows:
authorizationCode:
authorizationUrl: https://www.wrike.com/oauth2/authorize
tokenUrl: https://www.wrike.com/oauth2/token
scopes:
Default: Default access scope
amReadOnlyWorkflow: Read-only access to workflows
amReadWriteWorkflow: Read-write access to workflows
wsReadOnly: Read-only workspace access
wsReadWrite: Read-write workspace access
amReadOnlyAccessRole: Read-only access to access roles
bearerToken:
type: http
scheme: bearer
description: Permanent access token (legacy authentication)
externalDocs:
description: Wrike Developer Documentation
url: https://developers.wrike.com