Manage Applications

    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"
      }
    }