openapi: 3.0.3 info: title: Wrike Access Roles Groups 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: Groups description: User group management paths: /groups: get: operationId: listGroups summary: List Groups description: Returns a list of all user groups in all accessible accounts. tags: - Groups parameters: - name: metadata in: query description: Metadata filter required: false schema: type: string - name: fields in: query description: JSON string array of optional fields required: false schema: type: string responses: '200': description: List of groups content: application/json: schema: $ref: '#/components/schemas/GroupListResponse' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createGroup summary: Create Group description: Creates a new user group in the account. tags: - Groups requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object required: - title properties: title: type: string description: Group title memberIds: type: string description: Comma-separated list of member user IDs metadata: type: string description: Metadata key-value pairs responses: '200': description: Created group content: application/json: schema: $ref: '#/components/schemas/GroupListResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /groups/{groupId}: get: operationId: getGroup summary: Get Group description: Returns information about a specific user group. tags: - Groups parameters: - name: groupId in: path required: true description: The group ID schema: type: string - name: fields in: query required: false schema: type: string responses: '200': description: Group details content: application/json: schema: $ref: '#/components/schemas/GroupListResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: updateGroup summary: Update Group description: Updates a user group. tags: - Groups parameters: - name: groupId in: path required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: title: type: string addMemberIds: type: string removeMemberIds: type: string metadata: type: string responses: '200': description: Updated group content: application/json: schema: $ref: '#/components/schemas/GroupListResponse' '401': $ref: '#/components/responses/Unauthorized' delete: operationId: deleteGroup summary: Delete Group description: Deletes a user group. tags: - Groups parameters: - name: groupId in: path required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: $ref: '#/components/schemas/GroupListResponse' '401': $ref: '#/components/responses/Unauthorized' components: schemas: Metadata: type: object properties: key: type: string value: type: string GroupListResponse: type: object properties: kind: type: string example: groups data: type: array items: $ref: '#/components/schemas/Group' 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 Group: type: object properties: id: type: string title: type: string memberIds: type: array items: type: string childIds: type: array items: type: string scope: type: string avatarUrl: type: string format: uri 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