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