Skip to content

SharePoint List Items

Read, create, update, and delete items in a SharePoint list. Field keys must match the column API name (not displayName) — fetch a single list via GET /sites/{siteId}/lists/{listId} first if you don't already have its column schema.

GET/api/access/sharepoint/sites/{siteId}/lists/{listId}/itemsBearer Token

List Items in a List

Returns items in a list. OData filter, orderBy, and selectFields are passed to Microsoft Graph verbatim.

Query Parameters

ParameterTypeDefaultDescription
filterstringOData $filter passed to Graph verbatim. Caller is responsible for quoting; the backend does not sanitize.
orderBystringOData $orderby.
selectFieldscomma-separated string(all)Restrict which columns are expanded. Highly recommended — leaving this off expands every column and is the #1 cause of Graph throttling.
limitint50Page size. Clamped to 1–200.
pageTokenstringOpaque cursor.

Required Operation

Requires read_list_item.

selectFields prevents throttling

Always pass selectFields. Without it, Graph expands every column on every row — large lists will throttle the entire token.

Response 200 OK

{
"items": [
{
"id": "sharepoint:site:…:list:…:item:42",
"name": "Update marketing site",
"webUrl": "https://contoso.sharepoint.com/sites/marketing/Lists/Tasks/DispForm.aspx?ID=42",
"contentType": "Task",
"createdDateTime": "2026-04-10T09:00:00Z",
"lastModifiedDateTime": "2026-04-22T16:30:00Z",
"createdBy": "jane@contoso.com",
"lastModifiedBy": "alex@contoso.com",
"fields": {
"Title": "Update marketing site",
"Status": "In Progress",
"AssignedToId": 17,
"DueDate": "2026-05-01T00:00:00Z"
}
}
],
"nextPageToken": null,
"hasMore": false,
"accessInfo": null
}

If the token has field_values masked off, fields will be null even on items the token can otherwise read.

GET/api/access/sharepoint/sites/{siteId}/lists/{listId}/items/{itemId}Bearer Token

Get List Item

Returns a single list item by its bare item ID inside the list.

Required Operation

Requires read_list_item. itemId is the bare integer/string item ID (capped at 100 chars by the controller).

Response 200 OK

{
"id": "sharepoint:site:…:list:…:item:42",
"name": "Update marketing site",
"webUrl": "https://contoso.sharepoint.com/sites/marketing/Lists/Tasks/DispForm.aspx?ID=42",
"contentType": "Task",
"createdDateTime": "2026-04-10T09:00:00Z",
"lastModifiedDateTime": "2026-04-22T16:30:00Z",
"createdBy": "jane@contoso.com",
"lastModifiedBy": "alex@contoso.com",
"fields": { "Title": "Update marketing site", "Status": "In Progress" }
}
POST/api/access/sharepoint/sites/{siteId}/lists/{listId}/itemsBearer Token

Create List Item

Creates a new list item. Field keys must use the column API name.

Required Operation

Requires write_list_item. Body shape: CreateListItemRequest.

Lookup / personOrGroup columns

Lookup columns expect the lookup target's ID. For personOrGroup columns that's the SharePoint user ID (an integer), suffixed with Id on the field name (e.g. AssignedToId, not AssignedTo).
{
"fields": {
"Title": "New task",
"Status": "Not Started",
"AssignedToId": 17,
"DueDate": "2026-05-15"
}
}
PATCH/api/access/sharepoint/sites/{siteId}/lists/{listId}/items/{itemId}Bearer Token

Update List Item

Updates an existing list item. Only fields in the request are written; omitted fields are left untouched.

Required Operation

Requires write_list_item. Body shape: UpdateListItemRequest.
{
"fields": {
"Status": "Done"
}
}

Returns 404 if the item is missing or rule-blocked.

DELETE/api/access/sharepoint/sites/{siteId}/lists/{listId}/items/{itemId}Bearer Token

Delete List Item

Deletes a list item.

Required Operation

Requires delete_list_item.

Response 204 No Content

(empty body)