Maybe someone already blogged about this but I could not find it.
I needed to create new tasks in a tasks list on my SharePoint 2013 site but I could not get it to accept a value for the AssignedToId as I wanted to not only create the task but also assign it to the appropriate people.
This field is a multi-value field where multiple people can be assigned to the task. He you have to provide a JSON array of user IDs.
// add new task to task list
var requestUri = _spPageContextInfo.webAbsoluteUrl +
"/_api/Web/Lists/getByTitle('Test Tasks')/items/";
var requestHeaders = {
"accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
}
var requestData = {
__metadata: { "type": "SP.Data.Test_x0020_TasksListItem" },
'Title': “Do something" productive”,
'Body': “Do something productive and help the team succeed”,
'AssignedToId': {"results":[11]}, // user id
'DueDate': “12/30/2013”
};
var requestBody = JSON.stringify(requestData);
$.ajax({
url: requestUri,
type: "Post",
contentType: "application/json;odata=verbose",
headers: requestHeaders,
data: requestBody,
success: onSuccess,
error: onError
});