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.
/api/access/sharepoint/sites/{siteId}/lists/{listId}/itemsBearer TokenList Items in a List
Returns items in a list. OData filter, orderBy, and selectFields are passed to Microsoft Graph verbatim.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| filter | string | — | OData $filter passed to Graph verbatim. Caller is responsible for quoting; the backend does not sanitize. |
| orderBy | string | — | OData $orderby. |
| selectFields | comma-separated string | (all) | Restrict which columns are expanded. Highly recommended — leaving this off expands every column and is the #1 cause of Graph throttling. |
| limit | int | 50 | Page size. Clamped to 1–200. |
| pageToken | string | — | Opaque cursor. |
Required Operation
read_list_item.selectFields prevents throttling
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.
/api/access/sharepoint/sites/{siteId}/lists/{listId}/items/{itemId}Bearer TokenGet List Item
Returns a single list item by its bare item ID inside the list.
Required Operation
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" } } /api/access/sharepoint/sites/{siteId}/lists/{listId}/itemsBearer TokenCreate List Item
Creates a new list item. Field keys must use the column API name.
Required Operation
write_list_item. Body shape: CreateListItemRequest.Lookup / personOrGroup columns
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" } } /api/access/sharepoint/sites/{siteId}/lists/{listId}/items/{itemId}Bearer TokenUpdate List Item
Updates an existing list item. Only fields in the request are written; omitted fields are left untouched.
Required Operation
write_list_item. Body shape: UpdateListItemRequest.{ "fields": { "Status": "Done" } } Returns 404 if the item is missing or rule-blocked.
/api/access/sharepoint/sites/{siteId}/lists/{listId}/items/{itemId}Bearer TokenDelete List Item
Deletes a list item.
Required Operation
delete_list_item.Response 204 No Content
(empty body)