Update task assignment

put
https://api.box.com/2.0
/task_assignments/:task_assignment_id

Updates a task assignment. This endpoint can be used to update the state of a task.

Request

application/json

Path Parameters

stringin pathrequired
12345

The ID of the task assignment.

Request Body

stringin bodyoptional
Please review

A message from the assignee about this task

stringin bodyoptional
completed

The state of the task. This can be used to mark the task as completed.

Value is one of "completed", "incomplete", "approved", "rejected"

Response

application/jsonTask Assignment

Returns the updated task assignment object.

application/jsonClient Error

Returns an error if the task assignment for the given ID does not exist or is inaccessible to your account.

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

Request Example

cURL
curl -X PUT https://api.box.com/2.0/task_assignments/12345 \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -H "Content-Type: application/json" \
     -d '{
       "message": "New message",
       "resolution_state": "completed"
     }'
.NET
var requestParams = new BoxTaskAssignmentUpdateRequest()
{
    Id = "12345",
    ResolutionState = ResolutionStateType.approved
};
BoxTaskAssignment updatedAssignment = await client.TasksManager.UpdateTaskAssignmentAsync(requestParams);
Java
String assignmentID = "12345";
BoxTaskAssignment taskAssignment = new BoxTaskAssignment(api, assignmentID);
BoxTaskAssignment.Info info = taskAssignment.getInfo();
info.addPendingChange("resolution_state", "approved");
taskAssignment.updateInfo(info);
Python
from boxsdk.object.task_assignment import ResolutionState
updated_task = {'resolution_state': ResolutionState.APPROVED}
updated_assignment = client.task_assignment(assignment_id='12345').update_info(updated_task)
print('Assignment ID is {0} and resolution state is {1}'.format(updated_assignment.id, updated_assignment.resolution_state))
Node
// Complete a task
client.tasks.updateAssignment(
	'12345',
	{
		message: 'Done!',
		resolution_state: client.tasks.resolutionStates.COMPLETE
	})
	.then(assignment => {
		/* assignment -> {
			type: 'task_assignment',
			id: '12345',
			item: 
			{ type: 'file',
				id: '33333',
				sequence_id: '0',
				etag: '0',
				sha1: '7840095ee096ee8297676a138d4e316eabb3ec96',
				name: 'script.js' },
			assigned_to: 
			{ type: 'user',
				id: '22222',
				name: 'Sample Assignee',
				login: 'assignee@exmaple.com' },
			message: 'Done!',
			completed_at: null,
			assigned_at: '2013-05-10T11:43:41-07:00',
			reminded_at: null,
			resolution_state: 'complete',
			assigned_by: 
			{ type: 'user',
				id: '33333',
				name: 'Example User',
				login: 'user@example.com' } }
		*/
	});

Response Example

{
  "id": 11446498,
  "type": "task_assignment",
  "item": {
    "id": 12345,
    "etag": 1,
    "type": "file",
    "sequence_id": 3,
    "name": "Contract.pdf"
  },
  "assigned_to": {
    "id": 11446498,
    "type": "user",
    "name": "Aaron Levie",
    "login": "ceo@example.com"
  },
  "message": "Please review",
  "completed_at": "2012-12-12T10:53:43-08:00",
  "assigned_at": "2012-12-12T10:53:43-08:00",
  "reminded_at": "2012-12-12T10:53:43-08:00",
  "resolution_state": "incomplete",
  "assigned_by": {
    "id": 11446498,
    "type": "user",
    "name": "Aaron Levie",
    "login": "ceo@example.com"
  }
}