Create a new item in a list
Article
03/02/2023
2 minutes to read
9 contributors
Feedback
In this article
Namespace: microsoft.graph
Create a new listItem in a list .
Permissions
One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions .
Permission type
Permissions (from least to most privileged)
Delegated (work or school account)
Sites.ReadWrite.All
Delegated (personal Microsoft account)
Not supported.
Application
Sites.ReadWrite.All
HTTP request
POST /sites/{site-id}/lists/{list-id}/items
Request body
In the request body, supply a JSON representation of the listItem resource to create.
Example
Here is an example of how to create a new generic list item.
POST https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items
Content-Type: application/json
{
"fields": {
"Title": "Widget",
"Color": "Purple",
"Weight": 32
}
}
var graphClient = new GraphServiceClient(requestAdapter);
var requestBody = new ListItem
{
Fields = new FieldValueSet
{
AdditionalData = new Dictionary<string, object>
{
{
"Title" , "Widget"
},
{
"Color" , "Purple"
},
{
"Weight" , 32
},
},
},
};
var result = await graphClient.Sites["{site-id}"].Lists["{list-id}"].Items.PostAsync(requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
const options = {
authProvider,
};
const client = Client.init(options);
const listItem = {
fields: {
Title: 'Widget',
Color: 'Purple',
Weight: 32
}
};
await client.api('/sites/{site-id}/lists/{list-id}/items')
.post(listItem);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestBody := graphmodels.NewListItem()
fields := graphmodels.NewFieldValueSet()
additionalData := map[string]interface{}{
"title" : "Widget",
"color" : "Purple",
"weight" : int32(32) ,
}
fields.SetAdditionalData(additionalData)
requestBody.SetFields(fields)
result, err := graphClient.SitesById("site-id").ListsById("list-id").Items().Post(context.Background(), requestBody, nil)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Import-Module Microsoft.Graph.Sites
$params = @{
Fields = @{
Title = "Widget"
Color = "Purple"
Weight =
}
}
New-MgSiteListItem -SiteId $siteId -ListId $listId -BodyParameter $params
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new ListItem();
$fields = new FieldValueSet();
$additionalData = [
'Title' => 'Widget',
'Color' => 'Purple',
'Weight' => 32,
];
$fields->setAdditionalData($additionalData);
$requestBody->setFields($fields);
$requestResult = $graphServiceClient->sitesById('site-id')->listsById('list-id')->items()->post($requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Response
If successful, this method returns a listItem in the response body for the created list item.
HTTP/1.1 201 Created
Content-type: application/json
{
"id": "20",
"createdDateTime": "2016-08-30T08:26:00Z",
"createdBy": {
"user": {
"displayName": "Ryan Gregg",
"id": "8606e4d5-d582-4f5f-aeba-7d7c18b20cfd"
}
},
"lastModifiedDateTime": "2016-08-30T08:26:00Z",
"lastModifiedBy": {
"user": {
"displayName": "Ryan Gregg",
"id": "8606e4d5-d582-4f5f-aeba-7d7c18b20cfd"
}
}
}
Note: The response object is truncated for clarity. Default properties will be returned from the actual call.