Box Developer Documentation
Latest version

Update task

put
https://api.box.com/2.0
/tasks/:task_id

This endpoint is in the version 2024.0. No changes are required to continue using it. For more details, see Box API versioning.

Updates a task. This can be used to update a task's configuration, or to update its completion state.

Request

bearer [ACCESS_TOKEN]
application/json

Path Parameters

stringin pathrequired
12345

The ID of the task.

Request Body

stringin bodyoptional
"review"

The action the task assignee will be prompted to do. Must be

  • review defines an approval task that can be approved or rejected,
  • complete defines a general task which can be completed.

Value is one of review,complete

stringin bodyoptional
"all_assignees"

Defines which assignees need to complete this task before the task is considered completed.

  • all_assignees (default) requires all assignees to review or approve the task in order for it to be considered completed.
  • any_assignee accepts any one assignee to review or approve the task in order for it to be considered completed.

Value is one of all_assignees,any_assignee

string (date-time)in bodyoptional
"2012-12-12T10:53:43-08:00"

When the task is due at.

stringin bodyoptional
"Please review"

The message included with the task.

Response

application/jsonTask

Returns the updated task object.

application/jsonClient error

Returned if the request parameters or body is not valid.

  • bad_request when the body does not contain a valid request. This may be because the action or completion_rule are not one of the allowed values.
application/jsonClient error

Returns an error when the user does not have the permission to update a task on the file.

application/jsonClient error

Returns an error when the file could not be found or the user does not have access to the file.

application/jsonClient error

An unexpected client error.

put
Update task
You can now try out some of our APIs live, right here in the documentation.
Log in

Request Example

Learn more about Box SDK versionig strategy.


cURL
curl -i -X PUT "https://api.box.com/2.0/tasks/12345" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "action": "review"
     }'
Node/TypeScript v10
await client.tasks.updateTaskById(task.id!, {
  requestBody: {
    message: 'updated message',
  } satisfies UpdateTaskByIdRequestBody,
} satisfies UpdateTaskByIdOptionalsInput);
Python v10
client.tasks.update_task_by_id(task.id, message="updated message")
.NET v10
await client.Tasks.UpdateTaskByIdAsync(taskId: NullableUtils.Unwrap(task.Id), requestBody: new UpdateTaskByIdRequestBody() { Message = "updated message" });
Swift v10
try await client.tasks.updateTaskById(taskId: task.id!, requestBody: UpdateTaskByIdRequestBody(message: "updated message"))
Java v10
client.getTasks().updateTaskById(task.getId(), new UpdateTaskByIdRequestBody.Builder().message("updated message").build())
Java v4
BoxTask task = new BoxTask(api, "id");
BoxTask.Info info = task.new Info();
info.setMessage("An edited message.");
task.updateInfo(info);
Python v3
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}')
.NET v5
var updates = new BoxTaskUpdateRequest()
{
    Id = "22222",
    Message = "Could you please review this?"
};
BoxTask updatedTask = await client.TasksManager.UpdateTaskAsync(updates);
Node v3
client.tasks.update('11111', { message: 'Could you please review?' })
	.then(task => {
		/* task -> {
			type: 'task',
			id: '11111',
			item: 
			{ 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,
			created_by: 
			{ type: 'user',
				id: '33333',
				name: 'Example User',
				login: 'user@example.com' },
			created_at: '2013-04-03T11:12:54-07:00' }
		*/
	});

Response Example

{
  "id": "11446498",
  "type": "task",
  "action": "review",
  "completion_rule": "all_assignees",
  "created_at": "2012-12-12T10:53:43-08:00",
  "created_by": {
    "id": "11446498",
    "type": "user",
    "login": "ceo@example.com",
    "name": "Aaron Levie"
  },
  "due_at": "2012-12-12T10:53:43-08:00",
  "is_completed": true,
  "item": {
    "id": "12345",
    "type": "file",
    "etag": "1",
    "file_version": {
      "id": "12345",
      "type": "file_version",
      "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
    },
    "name": "Contract.pdf",
    "sequence_id": "3",
    "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37"
  },
  "message": "Legal review",
  "task_assignment_collection": {
    "entries": [
      {
        "assigned_at": "2012-12-12T10:53:43-08:00",
        "assigned_by": {
          "id": "11446498",
          "type": "user",
          "login": "ceo@example.com",
          "name": "Aaron Levie"
        },
        "assigned_to": {
          "id": "11446498",
          "type": "user",
          "login": "ceo@example.com",
          "name": "Aaron Levie"
        },
        "completed_at": "2012-12-12T10:53:43-08:00",
        "id": "11446498",
        "item": {
          "etag": "1",
          "id": "12345",
          "type": "file",
          "file_version": {
            "id": "12345",
            "type": "file_version",
            "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
          },
          "name": "Contract.pdf",
          "sequence_id": "3",
          "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37"
        },
        "message": "Please review",
        "reminded_at": "2012-12-12T10:53:43-08:00",
        "resolution_state": "incomplete",
        "type": "task_assignment"
      }
    ],
    "total_count": 100
  }
}