Add the power of the Box AI API to your custom apps at Content Cloud Summit on May 15

Learn more and register!

Make changes to an existing task

Guides Tasks Make changes to an existing task
Edit this page

Make changes to an existing task

To update a task in Box you will need to call the PUT /tasks/:task_id API with the ID of the task. This API can be used to change the action type of the task, add a message, or change the due date.

curl -i -X PUT "" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "action": "review"
var updates = new BoxTaskUpdateRequest()
    Id = "22222",
    Message = "Could you please review this?"
BoxTask updatedTask = await client.TasksManager.UpdateTaskAsync(updates);
BoxTask task = new BoxTask(api, "id");
BoxTask.Info info = Info();
info.setMessage("An edited message.");
task_update = {'message': 'New Message', 'due_at': '2014-04-03T11:09:43-10:00'}
updated_task = client.task(task_id='12345').update_info(data=task_update)
print(f'New task message is {updated_task.message} and the new due time is {updated_task.due_at}')
client.tasks.update('11111', { message: 'Could you please review?' })
	.then(task => {
		/* task -> {
			type: 'task',
			id: '11111',
			{ type: 'file',
				id: '22222',
				sequence_id: '0',
				etag: '0',
				sha1: '0bbd79a105c504f99573e3799756debba4c760cd',
				name: 'box-logo.png' },
			due_at: '2014-04-03T11:09:43-07:00',
			action: 'review',
			message: 'Could you please review?',
			task_assignment_collection: { total_count: 0, entries: [] },
			is_completed: false,
			{ type: 'user',
				id: '33333',
				name: 'Example User',
				login: '' },
			created_at: '2013-04-03T11:12:54-07:00' }
TypeScript (Beta)
await client.tasks.updateTaskById(!, {
  requestBody: {
    message: 'updated message',
  } satisfies UpdateTaskByIdRequestBody,
} satisfies UpdateTaskByIdOptionalsInput);
Python (Beta)
client.tasks.update_task_by_id(, message='updated message')
.NET (Beta)
await client.Tasks.UpdateTaskByIdAsync(taskId: NullableUtils.Unwrap(task.Id), requestBody: new UpdateTaskByIdRequestBody(message: "updated message"));

Task actions

Box currently supports two types of tasks defined by the action value: review tasks and complete tasks.

The type of task determines the possible resolution states a task can be in and the interface shown to a user in the web and mobile apps.

Task actionPossible resolution states
reviewincomplete, approved, rejected
completeincomplete, complete

A review task starts out in an incomplete state and can be marked as incomplete, approved, or rejected. In the user interface a user is provided with a text box and an pair of buttons to approve or reject the task.

A complete task starts out in an incomplete state and can be marked incomplete or completed. Once a this task is marked completed, no further changes can be made to the task's state. In the user interface a user is provided with a text box and an button to mark the task as completed.

Completion rules

A task on a file can be assigned to more than one collaborator on the file, and a task has a completion_rule that can be used to define if all users who've been assigned the task (all_assignees) or only one assignee (any_assignee) need to complete the task.