SharePoint Sites & Lists
Enumerate sites the token can see, list lists inside a site, and inspect a list's column schema. The column name returned here is the API name you must use in $filter, $orderby, selectFields, and the fields dictionary on create/update — not the human-friendly displayName.
/api/access/sharepoint/sitesBearer TokenList Sites
Returns SharePoint sites the connection can see, filtered by token rules.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| q | string | — | Substring match against the site's display name and URL. Omit to enumerate every visible site. |
| limit | int | 25 | Page size. |
| pageToken | string | — | Opaque cursor. |
Required Operation
read_sites.Response 200 OK
{ "sites": [ { "id": "sharepoint:site:contoso.sharepoint.com,11111111-1111-1111-1111-111111111111,22222222-2222-2222-2222-222222222222", "displayName": "Marketing", "name": "marketing", "description": "Marketing department site", "webUrl": "https://contoso.sharepoint.com/sites/marketing", "createdDateTime": "2024-09-12T13:00:00Z", "lastModifiedDateTime": "2026-04-20T11:43:00Z", "isPersonalSite": false } ], "nextPageToken": null, "hasMore": false, "accessInfo": null } /api/access/sharepoint/sites/{siteId}Bearer TokenGet Site
Returns a single site by its prefixed site ID.
Required Operation
read_sites. Returns 404 if missing or rule-blocked.Response 200 OK
{ "id": "sharepoint:site:contoso.sharepoint.com,1111…,2222…", "displayName": "Marketing", "name": "marketing", "description": "Marketing department site", "webUrl": "https://contoso.sharepoint.com/sites/marketing", "createdDateTime": "2024-09-12T13:00:00Z", "lastModifiedDateTime": "2026-04-20T11:43:00Z", "isPersonalSite": false } /api/access/sharepoint/sites/{siteId}/listsBearer TokenList Lists in a Site
Returns lists (including document libraries) inside a site.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| limit | int | 50 | Page size. |
| pageToken | string | — | Opaque cursor. |
Required Operation
read_lists. The columns array is omitted on listing responses to keep the page small — fetch a single list to get its columns.Response 200 OK
{ "lists": [ { "id": "sharepoint:site:…:list:33333333-3333-3333-3333-333333333333", "displayName": "Tasks", "name": "Tasks", "description": "", "webUrl": "https://contoso.sharepoint.com/sites/marketing/Lists/Tasks", "template": "tasks", "hidden": false, "createdDateTime": "2024-10-01T09:00:00Z", "lastModifiedDateTime": "2026-04-25T10:15:00Z", "columns": null } ], "nextPageToken": null, "hasMore": false, "accessInfo": null } Common template values
| template | Meaning |
|---|---|
| genericList | Custom list |
| documentLibrary | Document library (drives surface here too) |
| tasks | Tasks list |
| events | Calendar / events list |
| announcements | Announcements list |
| contacts | Contacts list |
| links | Links list |
Treat anything not in this set as opaque.
/api/access/sharepoint/sites/{siteId}/lists/{listId}Bearer TokenGet List (with columns)
Returns a single list including its column schema.
Required Operation
read_lists. The columns array is populated on this endpoint.Response 200 OK
{ "id": "sharepoint:site:…:list:33333333-…", "displayName": "Tasks", "template": "tasks", "columns": [ { "name": "Title", "displayName": "Task name", "columnType": "text", "hidden": false, "readOnly": false, "required": true, "indexed": true }, { "name": "AssignedToId", "displayName": "Assigned to", "columnType": "personOrGroup", "hidden": false, "readOnly": false, "required": false, "indexed": false }, { "name": "DueDate", "displayName": "Due", "columnType": "dateTime", "hidden": false, "readOnly": false, "required": false, "indexed": true } ] } Column Fields
| Field | Type | Description |
|---|---|---|
| name | string? | API name — use in $filter, $orderby, selectFields, and fields dictionary |
| displayName | string? | Human label |
| columnType | string? | text, number, choice, dateTime, personOrGroup, lookup, … |
| hidden | bool | Whether the column is hidden in the SharePoint UI |
| readOnly | bool | Computed/system column — cannot be written |
| required | bool | Required on create |
| indexed | bool | Indexed by SharePoint (cheap to filter on) |
Use API names, not display names
columns[].name. displayName is for end-user UI only. Lookup and personOrGroup columns are usually suffixed with Id on the field name (e.g. AssignedToId, not AssignedTo).