Box Developer Documentation

Join BoxWorks 2024 to discover what's possible with content and AI!

Register now!

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 assigned to a user.

Request

bearer [ACCESS_TOKEN]
application/json

Path Parameters

stringin pathrequired
12345

The ID of the task assignment.

Request Body

stringin bodyoptional
"Looks good to me"

An optional message by the assignee that can be added to the task.

stringin bodyoptional
"completed"

The state of the task assigned to the user.

  • For a task with an action value of complete this can be incomplete or completed.
  • For a task with an action of review this can be incomplete, approved, or rejected.

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 a resolution state is incompatible with the action type of the task.

application/jsonClient error

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

application/jsonClient error

An unexpected client error.

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

Request Example

cURL
curl -i -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"
     }'
TypeScript Gen
await client.taskAssignments.updateTaskAssignmentById(taskAssignment.id!, {
  requestBody: {
    message: 'updated message',
    resolutionState:
      'approved' as UpdateTaskAssignmentByIdRequestBodyResolutionStateField,
  } satisfies UpdateTaskAssignmentByIdRequestBody,
} satisfies UpdateTaskAssignmentByIdOptionalsInput);
Python Gen
client.task_assignments.update_task_assignment_by_id(
    task_assignment.id,
    message="updated message",
    resolution_state=UpdateTaskAssignmentByIdResolutionState.APPROVED.value,
)
.NET Gen
await client.TaskAssignments.UpdateTaskAssignmentByIdAsync(taskAssignmentId: NullableUtils.Unwrap(taskAssignment.Id), requestBody: new UpdateTaskAssignmentByIdRequestBody() { Message = "updated message", ResolutionState = UpdateTaskAssignmentByIdRequestBodyResolutionStateField.Approved });
Swift Gen (Beta)
try await client.taskAssignments.updateTaskAssignmentById(taskAssignmentId: taskAssignment.id!, requestBody: UpdateTaskAssignmentByIdRequestBody(message: "updated message", resolutionState: UpdateTaskAssignmentByIdRequestBodyResolutionStateField.approved))
Java
String assignmentID = "12345";
BoxTaskAssignment taskAssignment = new BoxTaskAssignment(api, assignmentID);
BoxTaskAssignment.Info info = taskAssignment.getInfo();
info.setResolutionState(BoxTaskAssignment.ResolutionState.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(data=updated_task)
print(f'Assignment ID is {updated_assignment.id} and resolution state is {updated_assignment.resolution_state}')
.NET
var requestParams = new BoxTaskAssignmentUpdateRequest()
{
    Id = "12345",
    ResolutionState = ResolutionStateType.approved
};
BoxTaskAssignment updatedAssignment = await client.TasksManager.UpdateTaskAssignmentAsync(requestParams);
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",
  "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",
  "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": "Please review",
  "reminded_at": "2012-12-12T10:53:43-08:00",
  "resolution_state": "incomplete"
}