> ## 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.

# Update Tasks (Bulk)

Update tasks.

<b>Scopes:</b> Default, 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": {
    "/tasks/{taskIds}": {
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Update Tasks (Bulk)",
        "description": "Update tasks.\n\n<b>Scopes:</b> Default, wsReadWrite",
        "operationId": "PUT:/tasks/multi",
        "parameters": [
          {
            "name": "taskIds",
            "in": "path",
            "description": "Comma-separated list of ids. Limit : 100",
            "required": true,
            "content": {
              "text/csv": {
                "schema": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaskId"
                  }
                }
              }
            }
          },
          {
            "name": "customFields",
            "in": "query",
            "description": "Custom fields to be updated or deleted (null value removes field). Limit : `100`",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "maxItems": 100,
                  "type": "array",
                  "description": "Custom fields to be updated or deleted (null value removes field)",
                  "items": {
                    "$ref": "#/components/schemas/CustomField"
                  }
                }
              }
            }
          },
          {
            "name": "effortAllocation",
            "in": "query",
            "description": "Set Task Effort fields: mode, total Effort",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskEffort"
                }
              }
            }
          },
          {
            "name": "setResponsibleAllocation",
            "in": "query",
            "description": "Update responsible allocations",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Update responsible allocations",
                  "items": {
                    "$ref": "#/components/schemas/ResponsibleAllocation"
                  }
                }
              }
            }
          },
          {
            "name": "convertToCustomItemType",
            "in": "query",
            "description": "Custom Item Type id",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/EntityTypeId"
            }
          },
          {
            "name": "addParents",
            "in": "query",
            "description": "Put task into specified folders of same account. Cannot contain RecycleBin folder",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Put task into specified folders of same account. Cannot contain RecycleBin folder",
                  "items": {
                    "$ref": "#/components/schemas/FolderId"
                  }
                }
              }
            }
          },
          {
            "name": "removeParents",
            "in": "query",
            "description": "Remove task from specified folders. Can not contain RecycleBin folder",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Remove task from specified folders. Can not contain RecycleBin folder",
                  "items": {
                    "$ref": "#/components/schemas/FolderId"
                  }
                }
              }
            }
          },
          {
            "name": "addResponsibles",
            "in": "query",
            "description": "Add specified users or invitations to assignee list",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Add specified users or invitations to assignee list",
                  "items": {
                    "$ref": "#/components/schemas/UserId"
                  }
                }
              }
            }
          },
          {
            "name": "removeResponsibles",
            "in": "query",
            "description": "Remove specified users or invitations from assignee list",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Remove specified users or invitations from assignee list",
                  "items": {
                    "$ref": "#/components/schemas/UserId"
                  }
                }
              }
            }
          },
          {
            "name": "addResponsiblePlaceholders",
            "in": "query",
            "description": "Add specified placeholders to placeholder assignee list",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Add specified placeholders to placeholder assignee list",
                  "items": {
                    "$ref": "#/components/schemas/PlaceholderId"
                  }
                }
              }
            }
          },
          {
            "name": "removeResponsiblePlaceholders",
            "in": "query",
            "description": "Remove specified placeholders from placeholder assignee list",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Remove specified placeholders from placeholder assignee list",
                  "items": {
                    "$ref": "#/components/schemas/PlaceholderId"
                  }
                }
              }
            }
          },
          {
            "name": "customStatus",
            "in": "query",
            "description": "Custom status ID",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/CustomStatusId"
            }
          }
        ],
        "responses": {
          "2XX": {
            "description": "success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Task"
                      }
                    },
                    "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"
      },
      "DependencyId": {
        "pattern": "^([a-zA-Z0-9-_:\\.=]){1,256}$",
        "type": "string"
      },
      "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"
      },
      "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"
          }
        }
      },
      "AccountId": {
        "pattern": "^([A-Z0-9]){8}$",
        "type": "string"
      },
      "BillingType": {
        "type": "string",
        "description": "* `Billable` - Billable\n* `NonBillable` - Non-Billable",
        "enum": [
          "Billable",
          "NonBillable"
        ]
      },
      "PlaceholderId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "TaskEffort": {
        "required": [
          "mode"
        ],
        "type": "object",
        "properties": {
          "dailyAllocationPercentage": {
            "type": "number",
            "description": "Allocation in percentages per day, for effort daily mode"
          },
          "mode": {
            "$ref": "#/components/schemas/EffortMode"
          },
          "allocatedEffort": {
            "type": "number",
            "description": "Allocated Effort in minutes"
          },
          "totalEffort": {
            "type": "number",
            "description": "Total Effort in minutes"
          },
          "responsibleAllocation": {
            "type": "array",
            "description": "Responsible allocations by day",
            "items": {
              "$ref": "#/components/schemas/ResponsibleAllocation"
            }
          }
        }
      },
      "FolderId": {
        "pattern": "^([a-zA-Z0-9-_:\\.=]){1,256}$",
        "type": "string"
      },
      "TaskId": {
        "pattern": "^([a-zA-Z0-9-_:\\.=]){1,256}$",
        "type": "string"
      },
      "DailyAllocation": {
        "required": [
          "date",
          "effortMinutes"
        ],
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Allocation date<br>Format: yyyy-MM-dd"
          },
          "effortMinutes": {
            "type": "number",
            "description": "Effort in minutes"
          }
        }
      },
      "TaskDates": {
        "type": "object",
        "properties": {
          "duration": {
            "type": "number",
            "description": "Duration in minutes. Duration is present in Planned tasks and is optional for Backlog tasks.<br>\nWhen updating duration, ensure to re-submit the start and due dates, even if they are to stay the same. Otherwise, the dates will be cleared.<br>\nWhen present for Planned tasks and due date is not given, this field limit is [1, 1800000).<br>\nNote that 1 day in Wrike is equal to 8 hours, or 480 minutes."
          },
          "due": {
            "type": "string",
            "description": "Due date is present only in Planned and Milestone tasks. When setting this field alone, the task will default to a milestone.<br>Format: yyyy-MM-dd'T'HH:mm:ss ('T'HH:mm:ss is optional)"
          },
          "start": {
            "type": "string",
            "description": "Start date is present only in Planned tasks. Important: If setting a start date, always include either a due date or duration.<br>Format: yyyy-MM-dd'T'HH:mm:ss ('T'HH:mm:ss is optional)"
          },
          "workOnWeekends": {
            "type": "boolean",
            "description": "Weekends are included in task scheduling"
          },
          "type": {
            "$ref": "#/components/schemas/TaskDatesType"
          }
        },
        "description": "Field values limits:\nduration - [0, 1800000)\nstart & due - [1970-01-01T00:00:00, 2100-01-01T00:00:00)"
      },
      "TaskDatesType": {
        "type": "string",
        "description": "* `Milestone`\n* `Backlog`\n* `Planned`",
        "enum": [
          "Milestone",
          "Backlog",
          "Planned"
        ]
      },
      "TaskFinance": {
        "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"
          }
        }
      },
      "EffortMode": {
        "type": "string",
        "description": "* `Basic`\n* `Flexible`\n* `FullTime`\n* `None`",
        "enum": [
          "Basic",
          "Flexible",
          "FullTime",
          "None"
        ]
      },
      "TaskStatus": {
        "type": "string",
        "description": "* `Active` - Active\n* `Deferred` - Deferred\n* `Completed` - Completed\n* `Cancelled` - Cancelled",
        "enum": [
          "Active",
          "Deferred",
          "Completed",
          "Cancelled"
        ]
      },
      "ResponsibleAllocation": {
        "required": [
          "dailyAllocation"
        ],
        "type": "object",
        "properties": {
          "placeholderId": {
            "$ref": "#/components/schemas/PlaceholderId"
          },
          "dailyAllocation": {
            "type": "array",
            "description": "Daily allocations",
            "items": {
              "$ref": "#/components/schemas/DailyAllocation"
            }
          },
          "userId": {
            "$ref": "#/components/schemas/UserId"
          }
        }
      },
      "Task": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "array",
            "description": "List of task metadata entries",
            "items": {
              "$ref": "#/components/schemas/Metadata"
            }
          },
          "importance": {
            "$ref": "#/components/schemas/TaskImportance"
          },
          "customFields": {
            "type": "array",
            "description": "Custom fields",
            "items": {
              "$ref": "#/components/schemas/CustomField"
            }
          },
          "followerIds": {
            "type": "array",
            "description": "List of user IDs, who follows task",
            "items": {
              "$ref": "#/components/schemas/UserId"
            }
          },
          "parentIds": {
            "type": "array",
            "description": "List of task parent folder IDs",
            "items": {
              "$ref": "#/components/schemas/FolderId"
            }
          },
          "description": {
            "type": "string",
            "description": "Description"
          },
          "responsiblePlaceholderIds": {
            "type": "array",
            "description": "List of placeholder assignee Ids",
            "items": {
              "$ref": "#/components/schemas/PlaceholderId"
            }
          },
          "updatedDate": {
            "type": "string",
            "description": "Updated date<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          },
          "title": {
            "type": "string",
            "description": "Title, cannot be empty"
          },
          "followedByMe": {
            "type": "boolean",
            "description": "Is a task followed by me"
          },
          "billingType": {
            "$ref": "#/components/schemas/BillingType"
          },
          "scope": {
            "$ref": "#/components/schemas/TreeScope"
          },
          "id": {
            "$ref": "#/components/schemas/TaskId"
          },
          "effortAllocation": {
            "$ref": "#/components/schemas/TaskEffort"
          },
          "hasAttachments": {
            "type": "boolean",
            "description": "Has attachments"
          },
          "subTaskIds": {
            "type": "array",
            "description": "List of subtask IDs",
            "items": {
              "$ref": "#/components/schemas/TaskId"
            }
          },
          "recurrent": {
            "type": "boolean",
            "description": "Is a task recurrent"
          },
          "authorIds": {
            "type": "array",
            "description": "List of author IDs (currently contains 1 element)",
            "items": {
              "$ref": "#/components/schemas/UserId"
            }
          },
          "responsibleIds": {
            "type": "array",
            "description": "List of assignee user IDs",
            "items": {
              "$ref": "#/components/schemas/UserId"
            }
          },
          "customItemTypeId": {
            "$ref": "#/components/schemas/EntityTypeId"
          },
          "sharedIds": {
            "type": "array",
            "description": "Users with whom the task is shared",
            "items": {
              "$ref": "#/components/schemas/UserId"
            }
          },
          "dates": {
            "$ref": "#/components/schemas/TaskDates"
          },
          "superTaskIds": {
            "type": "array",
            "description": "List of super task IDs",
            "items": {
              "$ref": "#/components/schemas/TaskId"
            }
          },
          "priority": {
            "type": "string",
            "description": "Ordering key that defines task order in tasklist"
          },
          "completedDate": {
            "type": "string",
            "description": "Completed date<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          },
          "superParentIds": {
            "type": "array",
            "description": "List of folder IDs inherited from parent task",
            "items": {
              "$ref": "#/components/schemas/FolderId"
            }
          },
          "accountId": {
            "$ref": "#/components/schemas/AccountId"
          },
          "dependencyIds": {
            "type": "array",
            "description": "List of dependency IDs",
            "items": {
              "$ref": "#/components/schemas/DependencyId"
            }
          },
          "createdDate": {
            "type": "string",
            "description": "Created date<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          },
          "cascadingFieldSettings": {
            "type": "array",
            "description": "Cascading field settings",
            "items": {
              "$ref": "#/components/schemas/CascadingFieldSettings"
            }
          },
          "customStatusId": {
            "$ref": "#/components/schemas/CustomStatusId"
          },
          "attachmentCount": {
            "type": "number",
            "description": "Total count of task attachments"
          },
          "workScheduleId": {
            "$ref": "#/components/schemas/WorkScheduleId"
          },
          "permalink": {
            "type": "string",
            "description": "Link to open task in web workspace, if user has appropriate access"
          },
          "briefDescription": {
            "type": "string",
            "description": "Brief description"
          },
          "finance": {
            "$ref": "#/components/schemas/TaskFinance"
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          }
        }
      },
      "CustomStatusId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "WorkScheduleId": {
        "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"
        ]
      },
      "TaskImportance": {
        "type": "string",
        "description": "* `High`\n* `Low`\n* `Normal`",
        "enum": [
          "High",
          "Low",
          "Normal"
        ]
      },
      "CascadingFieldSettings": {
        "type": "object",
        "properties": {
          "systemField": {
            "type": "boolean",
            "description": "System field"
          },
          "enabledBy": {
            "$ref": "#/components/schemas/UserId"
          },
          "enabledAt": {
            "type": "string",
            "description": "Enabled at<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          },
          "fieldId": {
            "$ref": "#/components/schemas/CustomFieldId"
          }
        }
      },
      "UserId": {
        "pattern": "^([A-Z0-9]){8}$",
        "type": "string"
      },
      "CustomField": {
        "required": [
          "id",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/CustomFieldId"
          },
          "value": {
            "type": "string",
            "description": "Custom field value. 4000 characters max. Should be valid string according to JSON RFC 8259. In particular, following characters must be escaped: quotation mark, reverse solidus, and the control characters (U+0000 through U+001F). Any character may be escaped, but unnecessarily escaped character can be implicitly translated to it's unescaped version. <br> In addition to RFC 8259 requirements, it is not recommended to use any of control characters in CF value.<br>Wrike's API forbids using U+0000 in every place and U+0011 at the beginning of the CF value string.<br>The correct way for setting multiple values in the multiple select Custom fields is ?customFields=[{\"id\":\"CustomFieldId\",\"value\":\"[\\\"value1\\\",\\\"value2\\\"]\"}]<br>The correct way for setting values in the people Custom fields is ?customFields=[{\"id\":\"CustomFieldId\",\"value\":\"UserId1, UserId2\"}]<br> Note that if custom field values are passed to API as URI param of request, they must be URI encoded. Here are some examples:<br>\"%5c\" - reverse solidus (backslash)<br>\"%5c%22\" - quotation mark<br>\"Vi%5Cu1ec7t\" - unicode-escaped character in word \"Việt\"<br>"
          }
        }
      }
    },
    "securitySchemes": {
      "HTTP": {
        "type": "http",
        "description": "Use OAuth 2.0 access token or permanent access token for authorization.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  }
}
```