Skip to content

convertigo/c8oprj-lib-sharepoint

Repository files navigation

lib_Microsoft_Sharepoint

SharePoint connector for Convertigo (Online + On-Prem). Online mode uses Microsoft Graph for site/list/drive operations. On-prem mode exposes SharePoint REST APIs for site/list/file operations with digest-based writes.

Build, Deploy and Tests

For more technical informations : documentation

Installation

  1. In your Convertigo Studio click on to import a project in the treeview

  2. In the import wizard

    paste the text below into the Project remote URL field:

    UsageClick the copy button at the end of the line
    To contribute
    lib_Microsoft_Sharepoint=https://github.com/convertigo/c8oprj-lib-sharepoint.git:branch=8.0.0.0
    
    To simply use
    lib_Microsoft_Sharepoint=https://github.com/convertigo/c8oprj-lib-sharepoint/archive/8.0.0.0.zip
    
  3. Click the Finish button. This will automatically import the lib_Microsoft_Sharepoint project

Configuration Symbols

These symbols can be set at project level and reused by all sequences. In a standard deployment, they are configured once on the server and not passed on each request.

SymbolRequiredSecretPurpose
${Microsoft_AzGraph.tenantId}Yes (app-only)NoAzure Entra tenant ID.
${Microsoft_AzGraph.clientId}Yes (app-only)NoApplication (client) ID.
${Microsoft_AzGraph.clientSecret.secret}Yes (app-only)YesApplication client secret.
${lib_Microsoft_Sharepoint.provider}NoNoDefault backend provider for routed sequences: graph or onprem (default fallback is graph).

On-Prem Symbols

These symbols are optional and used by routed sequences (provider=onprem) when values are not passed in the request.

SymbolRequiredSecretPurpose
${lib_Microsoft_Sharepoint.onPrem.siteBaseUrl}RecommendedNoBase URL of on-prem site (example: https://sharepoint.local/sites/intranet).
${lib_Microsoft_Sharepoint.onPrem.protocol}OptionalNoFallback protocol used by routed sequences when only host/path are provided. If empty, runtime first reuses the connector scheme, then falls back to https.
${lib_Microsoft_Sharepoint.onPrem.sitePath}OptionalNoDefault on-prem site path fallback used by routed sequences when sitePath is not passed (example: /sites/test).
${lib_Microsoft_Sharepoint.onPrem.listName}OptionalNoDefault on-prem list name fallback used by routed sequences when listName is not passed (example: TestList).
${lib_Microsoft_Sharepoint.onPrem.driveName}OptionalNoDefault on-prem library/drive name fallback used by routed sequences when driveName is not passed (example: TestLibrary).
${lib_Microsoft_Sharepoint.onPrem.username}OptionalNoTechnical username for on-prem auth (connector Basic/NTLM and sequence-level Basic fallback).
${lib_Microsoft_Sharepoint.onPrem.password.secret}OptionalYesTechnical password for on-prem auth (connector Basic/NTLM and sequence-level Basic fallback).
${lib_Microsoft_Sharepoint.onPrem.cookieHeader.secret}OptionalYesCookie header for forms auth (FedAuth/rtFa).
${lib_Microsoft_Sharepoint.onPrem.http.server}OptionalNoOn-prem HTTP connector host (default sharepoint.local).
${lib_Microsoft_Sharepoint.onPrem.http.port}OptionalNoOn-prem HTTP connector port (default 443).
${lib_Microsoft_Sharepoint.onPrem.http.https}OptionalNoUse HTTPS for on-prem HTTP connector (default true).
${lib_Microsoft_Sharepoint.onPrem.http.baseDir}OptionalNoOn-prem HTTP connector base path (default /).
${lib_Microsoft_Sharepoint.onPrem.http.trustAll}OptionalNoTrust all TLS certificates in on-prem HTTP connector (default true).
${lib_Microsoft_Sharepoint.onPrem.http.defaultSubDir}OptionalNoDefault transaction sub path for connector transactions (default /_api/web).
${lib_Microsoft_Sharepoint.onPrem.http.authenticationType}OptionalNoConnector auth mode: None, Basic, BasicPreemptive, NTLM (default None).
${lib_Microsoft_Sharepoint.onPrem.http.ntlmDomain}OptionalNoNTLM domain when authenticationType=NTLM.
${lib_Microsoft_Sharepoint.onPrem.http.ntlmTransportMode}OptionalNoNTLM transport strategy: connectorOnly, connectorThenHttpClient (default), httpClientThenConnector, httpClientOnly.
Connector `sharepointOnPremHttp` uses shared credentials symbols `onPrem.username` and `onPrem.password.secret`. For Claims/NTLM farms, set `onPrem.http.authenticationType=NTLM` and `onPrem.http.ntlmDomain` with those same shared credentials symbols. NTLM username can be provided either as a bare user (`Administrator`) plus `onPrem.http.ntlmDomain=LAB`, or as a qualified identity (`LAB\\Administrator`). If the username already contains a domain, runtime can split it for the HttpClient NTLM path and still preserve the qualified value for connector-driven NTLM calls. When `onPrem.http.authenticationType` is `NTLM` (or `Basic`/`BasicPreemptive`), routed on-prem helper calls delegate authentication to the connector and do not force a sequence-level `Authorization: Basic` header.

Authentication Model

  • Default mode (recommended for backend use): rely on server-side symbols (tenantId, clientId, clientSecret) and do not pass credentials in calls.
  • Delegated mode: pass accessToken; tenant/client/secret are ignored.
  • Application override: leave accessToken empty and pass tenant/client/secret explicitly when needed.
  • Routed public sequences switch backend with provider (graph or onprem), defaulting to graph.
  • Graph implementation sequences are Hidden and authenticatedContextRequired=true.
  • Sequence responses expose tokenMode (delegated or application) for diagnostics.
  • On-prem routed operations support bearer token, basic auth, or cookie-based auth, and write operations automatically request SharePoint FormDigest via /_api/contextinfo.
  • On-prem logic is executed directly from routed public sequences through shared JS helpers (no internal OnPrem* sequences).
  • Connector sharepointOnPremHttp is used first by shared on-prem helper spop_httpRequest for routed NTLM calls, with optional HttpClient5 fallback depending on onPrem.http.ntlmTransportMode.
  • On-prem HTTP execution strategy is configurable: connectorOnly, connectorThenHttpClient (default), httpClientThenConnector, httpClientOnly.

On-Prem API Coverage

  • Site/list resolvers: ResolveSite, ResolveList, ResolveLibrary with provider=onprem.
  • On-prem discovery lists: ListSiteLists, ListSiteDrives with provider=onprem.
  • List CRUD: ListGetItems, GetListItem, CreateListItem, UpdateListItem, DeleteListItem with provider=onprem.
  • File/folder APIs: GetItem, ListItems, CreateFolder, UploadItemContent, UploadItemLargeContent, DownloadItemContent, UpdateItem, MoveItem, CopyItem, DeleteItem with provider=onprem.
  • Delta and versions: ListGetItemsDelta, ListItemsDelta, ListItemVersions, RestoreItemVersion, GetCopyItemOperation with provider=onprem.
  • Share block (CreateShareLink, InviteItemRecipients, ListItemPermissions, DeleteItemPermission) stays routed but returns explicit onprem_not_supported fallback in on-prem mode; callers get a stable payload, not a native permission mutation.
  • Graph-only operations in on-prem runs: GetGraphAccessToken, ExecuteGraphBatch, CreateGraphSubscription, DeleteGraphSubscription.

Validated Status

Current validated state from the local logical plan reports:

ModeReportResultNotes
Graphbuild/logical-test-plan-report-graph-refactor4.json34 total / 30 passed / 0 failed / 4 skipped / 0 mandatory failedSkipped in this run: GetCopyItemOperation, RestoreItemVersion, CreateGraphSubscription, DeleteGraphSubscription.
On-Prembuild/logical-test-plan-report-onprem-refactor4.json34 total / 30 passed / 0 failed / 4 skipped / 0 mandatory failedSkipped in this run: GetGraphAccessToken, ExecuteGraphBatch, CreateGraphSubscription, DeleteGraphSubscription.

Operationally, this means:

  • Graph mode is validated on the current test plan.
  • On-prem mode is validated for site/list/library resolution, list CRUD, drive read/write, delta, versions, restore, and copy monitoring.
  • On-prem share/permission endpoints keep a routed contract but intentionally return onprem_not_supported.

Support Matrix

Legend:

  • Native: implemented for the mode.
  • Fallback: routed sequence stays callable but returns an explicit fallback payload instead of executing a native backend operation.
  • Out of scope: not available in that mode.
  • Local: tooling/helper sequence, not a SharePoint runtime backend operation.
SequenceGraphOn-PremNotes
BuildGraphFlatJarLocalOut of scopeBuild helper for the Graph Java SDK jar.
CopyItemNativeNativeAsynchronous copy; monitor is exposed by GetCopyItemOperation.
CreateFolderNativeNativeCreates a folder in the target drive/library.
CreateGraphSubscriptionNativeOut of scopeGraph-only webhook subscription API.
CreateListItemNativeNativeList item create path is available in both modes.
CreateShareLinkNativeFallbackOn-prem returns explicit onprem_not_supported.
DeleteGraphSubscriptionNativeOut of scopeGraph-only webhook subscription API.
DeleteItemNativeNativeFile/folder deletion is supported in both modes.
DeleteItemPermissionNativeFallbackOn-prem returns explicit onprem_not_supported.
DeleteListItemNativeNativeList item delete path is available in both modes.
DownloadItemContentNativeNativeBinary download path is available in both modes.
ExecuteGraphBatchNativeOut of scopeGraph-only batch endpoint.
GetCopyItemOperationNativeNativeGraph and on-prem expose copy monitoring.
GetGraphAccessTokenNativeOut of scopeGraph token helper; no on-prem equivalent.
GetItemNativeNativeDrive item resolution/read is available in both modes.
GetListItemNativeNativeList item read path is available in both modes.
InviteItemRecipientsNativeFallbackOn-prem returns explicit onprem_not_supported.
ListGetItemsNativeNativeList item enumeration is available in both modes.
ListGetItemsDeltaNativeNativeIncremental list changes are available in both modes.
ListItemPermissionsNativeFallbackOn-prem returns explicit onprem_not_supported.
ListItemVersionsNativeNativeFile version listing is available in both modes.
ListItemsNativeNativeDrive/library children listing is available in both modes.
ListItemsDeltaNativeNativeIncremental drive changes are available in both modes.
ListSiteDrivesNativeNativeDrive/library discovery is available in both modes.
ListSiteListsNativeNativeList discovery is available in both modes.
MoveItemNativeNativeMove/rename path is available in both modes.
ResolveLibraryNativeNativeLibrary/drive resolver is available in both modes.
ResolveListNativeNativeList resolver is available in both modes.
ResolveSiteNativeNativeSite resolver is available in both modes.
RestoreItemVersionNativeNativeVersion restore is available in both modes.
UpdateItemNativeNativeDrive item update path is available in both modes.
UpdateListItemNativeNativeList item update path is available in both modes.
UploadItemContentNativeNativeSmall/regular uploads are available in both modes.
UploadItemLargeContentNativeNativeLarge uploads are available in both modes.

Endpoint-Only Test Calls

Minimal example with testcase injection:

curl 'http://localhost:18080/convertigo/projects/lib_Microsoft_Sharepoint/.json' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-raw '__sequence=ResolveSite&__testcase=TC_ResolveSite'

Typical authenticated admin call (Convertigo Studio session):

curl 'http://localhost:18080/convertigo/projects/lib_Microsoft_Sharepoint/.json' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Admin-Instance: <admin-instance-id>' \
  -H 'x-xsrf-token: <xsrf-token>' \
  -b 'JSESSIONID=<session-id>' \
  --data-raw '__sequence=ListGetItems&__testcase=TC_ListGetItems'

Logical Test Plan Script

The project provides a full scenario runner that chains all SharePoint sequences and writes a JSON report.

Minimal usage:

python3 ./scripts/run_testcases.py

Useful overrides:

  • C8O_BASE_URL to target another Convertigo endpoint.
  • C8O_PROJECT to target another project name.
  • TEST_PROVIDER=graph or TEST_PROVIDER=onprem to force the backend under test.
  • SITE_HOSTNAME, SITE_PATH, LIST_NAME, DRIVE_NAME to target another SharePoint site context.
  • ACCESS_TOKEN (delegated mode) or AZ_TENANT_ID + AZ_CLIENT_ID + AZ_CLIENT_SECRET (application override).
  • RUN_SHARE_OPERATIONS=false to skip share/invite/permission deletion calls.
  • RUN_DESTRUCTIVE_CLEANUP=false to skip delete calls.
  • REPORT_FILE to change report output path (default build/logical-test-plan-report.json).

Typical Request Patterns

  • Site-first pattern: provide siteHostname + sitePath, and keep siteId empty.
  • ID-first pattern: provide siteId / listId / driveId directly to skip resolver lookups.
  • Drive resolution priority: driveId first, then list-based resolution (listId/listName), then driveName.
  • List operations use list item identifiers (itemId numeric string), while drive operations use Graph drive item identifiers (opaque string).
  • For large binary uploads, prefer UploadItemLargeContent; for smaller payloads, UploadItemContent is usually simpler.
  • For routed on-prem calls (provider=onprem), drive-item id lookups are not available from Graph IDs: pass onPremFileServerRelativeUrl (or a server-relative itemId) for version and restore endpoints.

Required Azure Permissions

Grant Microsoft Graph Application permissions, then click Grant admin consent.

Functional scopeSequencesGraph permissions (Application)Notes
Site and list discovery/readResolveSite, ResolveList, ListGetItems, GetListItemSites.Read.All (or Sites.ReadWrite.All)Use Sites.ReadWrite.All when list write operations are required.
Drive discovery/readResolveLibrary, ListItems, GetItem, DownloadItemContent, ListItemPermissionsFiles.Read.All + Sites.Read.All (or write variants)Some tenants require both Files and Sites scopes for drive metadata traversal.
Delta and versions readListSiteLists, ListSiteDrives, ListGetItemsDelta, ListItemsDelta, ListItemVersions, GetCopyItemOperationSites.Read.All and/or Files.Read.All (or write variants)Delta links are incremental cursors that must be persisted by caller code.
List write operationsCreateListItem, UpdateListItem, DeleteListItemSites.ReadWrite.AllTargets SharePoint list items through /sites/{siteId}/lists/{listId}.
Drive write operationsCreateFolder, UpdateItem, DeleteItem, MoveItem, CopyItem, UploadItemContent, UploadItemLargeContentFiles.ReadWrite.All + Sites.ReadWrite.AllCopyItem is asynchronous and returns a monitor URL.
Version restoreRestoreItemVersionFiles.ReadWrite.All + Sites.ReadWrite.AllRestoring versions can create additional versions depending on library retention policies.
Sharing and permission updatesCreateShareLink, InviteItemRecipients, DeleteItemPermissionFiles.ReadWrite.All + Sites.ReadWrite.AllInvite and link creation can also be constrained by SharePoint external sharing policy.
Graph subscriptions and batchCreateGraphSubscription, DeleteGraphSubscription, ExecuteGraphBatchDepends on subscribed/batched resourcesSubscription creation requires a reachable HTTPS notification endpoint.
Token helperGetGraphAccessTokenNo direct Graph API callAcquires token from Entra ID; downstream sequence still needs Graph roles.
Local toolingBuildGraphFlatJarNoneBuilds local SDK JAR, no online call.

Permissions by Sequence

SequenceGraph permissions (Application)
BuildGraphFlatJarNone
GetGraphAccessTokenNone direct; downstream usually Sites.Read.All or Sites.ReadWrite.All
ResolveSiteSites.Read.All or Sites.ReadWrite.All
ResolveListSites.Read.All or Sites.ReadWrite.All
ResolveLibrarySites.Read.All or Sites.ReadWrite.All + Files.Read.All or Files.ReadWrite.All
ListGetItemsSites.Read.All or Sites.ReadWrite.All
GetListItemSites.Read.All or Sites.ReadWrite.All
CreateListItemSites.ReadWrite.All
UpdateListItemSites.ReadWrite.All
DeleteListItemSites.ReadWrite.All
ListItemsFiles.Read.All or Files.ReadWrite.All + Sites.Read.All or Sites.ReadWrite.All
GetItemFiles.Read.All or Files.ReadWrite.All + Sites.Read.All or Sites.ReadWrite.All
DownloadItemContentFiles.Read.All or Files.ReadWrite.All + Sites.Read.All or Sites.ReadWrite.All
CreateFolderFiles.ReadWrite.All + Sites.ReadWrite.All
UpdateItemFiles.ReadWrite.All + Sites.ReadWrite.All
DeleteItemFiles.ReadWrite.All + Sites.ReadWrite.All
MoveItemFiles.ReadWrite.All + Sites.ReadWrite.All
CopyItemFiles.ReadWrite.All + Sites.ReadWrite.All
UploadItemContentFiles.ReadWrite.All + Sites.ReadWrite.All
UploadItemLargeContentFiles.ReadWrite.All + Sites.ReadWrite.All
CreateShareLinkFiles.ReadWrite.All + Sites.ReadWrite.All
InviteItemRecipientsFiles.ReadWrite.All + Sites.ReadWrite.All
ListItemPermissionsFiles.Read.All or Files.ReadWrite.All + Sites.Read.All or Sites.ReadWrite.All
DeleteItemPermissionFiles.ReadWrite.All + Sites.ReadWrite.All
ListSiteListsSites.Read.All or Sites.ReadWrite.All
ListSiteDrivesFiles.Read.All or Files.ReadWrite.All + Sites.Read.All or Sites.ReadWrite.All
ListGetItemsDeltaSites.Read.All or Sites.ReadWrite.All
ListItemsDeltaFiles.Read.All or Files.ReadWrite.All + Sites.Read.All or Sites.ReadWrite.All
ListItemVersionsFiles.Read.All or Files.ReadWrite.All + Sites.Read.All or Sites.ReadWrite.All
RestoreItemVersionFiles.ReadWrite.All + Sites.ReadWrite.All
GetCopyItemOperationFiles.ReadWrite.All + Sites.ReadWrite.All
CreateGraphSubscriptionDepends on subscribed resource
DeleteGraphSubscriptionDepends on subscribed resource
ExecuteGraphBatchDepends on batched requests

Known Limitations

  • If app roles do not include SharePoint scopes, Graph returns accessDenied even if token acquisition succeeds.
  • Sites.Selected requires explicit grant on target sites; otherwise all calls return 403.
  • List item identifiers (usually numeric strings) and drive item identifiers (Graph opaque ids) are different and not interchangeable.
  • CopyItem returns an asynchronous monitor URL; completion must be polled by client code.
  • CreateGraphSubscription requires a publicly reachable HTTPS callback endpoint and Graph webhook validation handling.
  • ExecuteGraphBatch permissions are the union of all operations included in batchJson.requests.

Payload Examples

fieldsJson example for CreateListItem / UpdateListItem:

{
  "Title": "Updated from Convertigo",
  "CustomText": "Hello from API"
}

updateJson example for UpdateItem:

{
  "name": "Renamed_document.docx",
  "description": "Updated by Convertigo sequence"
}

recipientsJson example for InviteItemRecipients:

[
  { "email": "user1@contoso.com" },
  { "email": "user2@contoso.com", "alias": "User Two" }
]

Sequences

BuildGraphFlatJar

Builds a flat JAR for Microsoft Graph Java SDK and stores it under .//libs (no Microsoft Graph permission required)

CopyItem

Copies one SharePoint drive item through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
destinationParentItemIdOptional destination parent item id. Use root to copy under drive root.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeMonitorResponsetrue performs one immediate GET on monitorUrl and includes returned payload/status.
itemIdTarget drive item identifier to copy.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
newNameOptional target file/folder name for the copied item.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

CreateFolder

Creates one SharePoint drive folder through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
conflictBehaviorConflict behavior when folder exists. Allowed values are rename, replace or fail.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
folderNameName of the folder to create.
includeRawItemtrue includes raw Graph driveItem payload under response.data.item.raw.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
parentItemIdParent drive item id where folder will be created. Use root or leave empty for drive root.
providerBackend provider selection graph or onprem.
returnCreatedItemtrue reloads created item with optional field projection before returning.
selectFieldsOptional comma-separated list of Graph driveItem properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

CreateGraphSubscription

Creates a Microsoft Graph webhook subscription (resource-dependent permissions).

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
changeTypeChange type list, for example created,updated,deleted.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
clientStateOptional shared secret returned by Graph in notifications.
encryptionCertificateBase64-encoded X.509 certificate public key used when includeResourceData=true.
encryptionCertificateIdClient-generated certificate id used when includeResourceData=true.
expirationDateTimeSubscription expiration in UTC ISO-8601 format.
includeResourceDatatrue enables encrypted resource data notifications (requires certificate inputs).
latestSupportedTlsVersionOptional TLS version hint, for example v1_2.
notificationUrlHTTPS endpoint receiving Graph validation and notifications.
resourceGraph resource to monitor, for example /sites/{site-id}/lists/{list-id}/items.
tenantIdAzure Entra tenant id used for app-only token acquisition.

CreateListItem

Creates one SharePoint list item through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
contentTypeIdOptional SharePoint content type id sent in payload.contentType.id.
cookieHeaderOptional Cookie header for on-prem forms authentication.
fieldsJsonJSON object payload used as Graph fields map for list item creation.
includeRawItemtrue includes raw Graph payload under item.raw.
listIdOptional list identifier. If provided, listName is ignored.
listNameList display name or internal name used to resolve listId.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
returnCreatedItemtrue reloads the created item with optional field projection before returning.
selectFieldsOptional comma-separated list of field internal names projected in returned item.fields.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

CreateShareLink

Creates one SharePoint drive item sharing link through Microsoft Graph (online), with graceful fallback when unsupported on-prem. (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
expirationDateTimeOptional link expiration datetime in ISO-8601 format.
includeRawPermissiontrue includes raw Graph permission payload under response.data.permission.raw.
itemIdTarget drive item identifier.
linkTypeSharing link type (view, edit, embed, blocksDownload).
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
passwordOptional password used when scope/type supports it.
providerBackend provider selection graph or onprem.
retainInheritedPermissionsRetains inherited permissions on first share when true.
scopeSharing link scope (anonymous, organization, users).
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

DeleteGraphSubscription

Deletes one Microsoft Graph webhook subscription (resource-dependent permissions).

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
subscriptionIdSubscription identifier returned by CreateGraphSubscription.
tenantIdAzure Entra tenant id used for app-only token acquisition.

DeleteItem

Deletes one SharePoint drive item through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeDeletedItemSnapshottrue reads item before deletion and returns it in response.data.item.
includeRawItemtrue includes raw Graph driveItem payload under item.raw when snapshot is enabled.
itemIdTarget drive item identifier to delete.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list of Graph driveItem properties to select in returned snapshot.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

DeleteItemPermission

Deletes one SharePoint drive item permission through Microsoft Graph (online), with graceful fallback when unsupported on-prem. (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeDeletedPermissionSnapshottrue reads permission before deletion and returns it in response.data.permission.
includeRawPermissiontrue includes raw Graph permission payload under permission.raw when snapshot is enabled.
itemIdTarget drive item identifier owning the permission to delete.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
permissionIdTarget permission identifier to delete.
providerBackend provider selection graph or onprem.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

DeleteListItem

Deletes one SharePoint list item through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
includeDeletedItemSnapshottrue reads item before deletion and returns it in response.data.item.
includeRawItemtrue includes raw Graph payload under item.raw when snapshot is enabled.
itemIdTarget SharePoint list item identifier.
listIdOptional list identifier. If provided, listName is ignored.
listNameList display name or internal name used to resolve listId.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list of field internal names projected in returned snapshot fields.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

DownloadItemContent

Downloads one SharePoint drive file content through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Files.Read.All|Files.ReadWrite.All|Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeContentBase64true includes downloaded bytes as base64 in response.data.contentBase64.
includeMetadatatrue loads metadata in response.data.item.
includeRawItemtrue includes raw Graph driveItem payload under response.data.item.raw when metadata is loaded.
itemIdTarget file drive item identifier to download.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

ExecuteGraphBatch

Executes one Microsoft Graph JSON batch request against /$batch endpoint (permissions depend on contained requests).

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
batchJsonGraph batch payload as JSON object with requests array.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
includeRawResponsetrue includes full raw Graph batch response payload.
tenantIdAzure Entra tenant id used for app-only token acquisition.

GetCopyItemOperation

Reads status of one asynchronous copy/move monitor URL returned by Microsoft Graph (online), with graceful fallback when unsupported on-prem. (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
includeMonitorBodytrue includes parsed monitor response body when present.
monitorUrlOperation monitor URL returned by CopyDriveItem, usually from data.copyRequest.monitorUrl.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
tenantIdAzure Entra tenant id used for app-only token acquisition.

GetGraphAccessToken

Resolves a delegated or app-only Microsoft Graph access token for SharePoint Online operations. (Graph permissions for downstream calls Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
includeTokenPayloadtrue decodes token payload claims for troubleshooting.
tenantIdAzure Entra tenant id used for app-only token acquisition.

GetItem

Retrieves one SharePoint drive item through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Files.Read.All|Files.ReadWrite.All|Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeRawItemtrue includes raw Graph driveItem payload under response.data.item.raw.
itemIdTarget drive item identifier. Use root or leave empty to retrieve drive root metadata.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list of Graph driveItem properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

GetListItem

Retrieves one SharePoint list item through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
includeRawItemtrue includes raw Graph item payload under item.raw.
itemIdTarget SharePoint list item identifier.
listIdOptional list identifier. If provided, listName is ignored.
listNameList display name or internal name used to resolve listId.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list of field internal names projected in fields object.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

InviteItemRecipients

Invites recipients to one SharePoint drive item through Microsoft Graph (online), with graceful fallback when unsupported on-prem. (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
expirationDateTimeOptional invitation expiration datetime in ISO-8601 format.
includeRawPermissiontrue includes raw Graph permission payload under response.data.permissions[*].raw.
itemIdTarget drive item identifier.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
messageOptional invitation message sent by Graph.
providerBackend provider selection graph or onprem.
recipientEmailsOptional comma-separated list of recipient email addresses.
recipientsJsonOptional JSON array of recipients (objects with email/alias or simple email strings).
requireSignIntrue requires invited recipients to sign in.
retainInheritedPermissionsRetains inherited permissions on first invite when true.
rolesCsvRoles as comma-separated values (read,write). Defaults to read.
sendInvitationtrue asks Graph to send email invitations.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

ListGetItems

Lists SharePoint list items through Microsoft Graph (online) or SharePoint REST (on-prem), with filtering/pagination/projection. (Graph permissions Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
expandFieldstrue includes fields expansion in Graph query.
filterOptional OData filter expression.
includeRawItemtrue includes raw Graph item payload under each result item.
listIdOptional list identifier. If provided, listName is ignored.
listNameList display name or internal name used to resolve listId.
maxPagesMaximum number of Graph pages fetched before stopping pagination.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
orderByOptional OData order by expression.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list of field internal names projected in fields object.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
topMaximum number of items requested per Graph page.

ListGetItemsDelta

Lists list item changes through Microsoft Graph delta API (online), with graceful fallback when unsupported on-prem. (Graph permissions Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
deltaLinkOptional full @odata.deltaLink from previous call. If provided, other query parameters are ignored.
deltaTokenOptional delta token returned by previous call.
expandFieldstrue appends $expand=fields to include columns payload in each item.
includeRawItemtrue includes raw Graph listItem payload under each result item.
listIdOptional list identifier. If provided, listName is ignored.
listNameList display name or internal name used to resolve listId.
maxPagesMaximum number of pages fetched before stopping pagination.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list of Graph listItem properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
topMaximum number of items requested per Graph page.

ListItemPermissions

Lists permissions of one SharePoint drive item through Microsoft Graph (online), with graceful fallback when unsupported on-prem. (Graph permissions Files.Read.All|Files.ReadWrite.All|Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeRawPermissiontrue includes raw Graph permission payload under response.data.permissions[*].raw.
itemIdTarget drive item identifier.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
maxPagesMaximum number of Graph pages fetched before stopping pagination.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list of Graph permission properties to select.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
topMaximum number of permissions requested per Graph page.

ListItems

Lists SharePoint drive items through Microsoft Graph (online) or SharePoint REST (on-prem) with pagination and projection. (Graph permissions Files.Read.All|Files.ReadWrite.All|Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
filterOptional OData filter expression.
includeRawItemtrue includes raw Graph driveItem payload under each result item.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
maxPagesMaximum number of Graph pages fetched before stopping pagination.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
orderByOptional OData order by expression.
parentItemIdParent drive item id. Use root or leave empty to list root children.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list of Graph driveItem properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
topMaximum number of items requested per Graph page.

ListItemsDelta

Lists drive item changes through Microsoft Graph delta API (online), with graceful fallback when unsupported on-prem. (Graph permissions Files.Read.All|Files.ReadWrite.All|Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
deltaLinkOptional full @odata.deltaLink from previous call. If provided, other query parameters are ignored.
deltaTokenOptional delta token returned by previous call.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeRawItemtrue includes raw Graph driveItem payload under each result item.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
maxPagesMaximum number of pages fetched before stopping pagination.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
parentItemIdParent drive item id for scoped delta. Use root for drive root.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list of Graph driveItem properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
topMaximum number of items requested per Graph page.

ListItemVersions

Lists versions of one drive item through Microsoft Graph with pagination (online), with graceful fallback when unsupported on-prem. (Graph permissions Files.Read.All|Files.ReadWrite.All|Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeRawVersiontrue includes raw Graph driveItemVersion payload under each result item.
itemIdDrive item identifier to inspect version history.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
maxPagesMaximum number of pages fetched before stopping pagination.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
topMaximum number of versions requested per Graph page.

ListSiteDrives

Lists SharePoint site drives through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Files.Read.All|Files.ReadWrite.All|Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
includeRawDrivetrue includes raw Graph drive payload under each result item.
maxPagesMaximum number of pages fetched before stopping pagination.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
selectFieldsOptional comma-separated list properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
topMaximum number of drives requested per Graph page.

ListSiteLists

Lists SharePoint site lists through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
filterOptional OData filter expression.
includeRawListtrue includes raw Graph list payload under each result item.
maxPagesMaximum number of pages fetched before stopping pagination.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
orderByOptional OData order by expression.
providerBackend provider selection graph or onprem.
searchOptional OData search term.
selectFieldsOptional comma-separated list properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
topMaximum number of lists requested per Graph page.

MoveItem

Moves or renames one SharePoint drive item through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
destinationParentItemIdOptional destination parent item id. Use root to move under drive root.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
ifMatchOptional ETag precondition. When set, move/rename occurs only if item ETag matches.
includeRawItemtrue includes raw Graph driveItem payload under response.data.item.raw.
itemIdTarget drive item identifier to move or rename.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
newNameOptional new file/folder name.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
returnMovedItemtrue reloads moved item with optional property selection before returning.
selectFieldsOptional comma-separated list of Graph driveItem properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

ResolveLibrary

Resolves a SharePoint drive/library by site and drive identifiers using Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Sites.Read.All|Sites.ReadWrite.All|Files.Read.All|Files.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve a drive when driveId is not provided.
listIdOptional list identifier used to resolve the associated drive.
listNameList display name or internal name used to resolve the associated drive.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

ResolveList

Resolves a SharePoint list by site and list identifier/name using Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
listIdOptional list identifier. If provided, listName is ignored.
listNameList display name or internal name used to resolve listId.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

ResolveSite

Resolves a SharePoint site by hostname and path using Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Sites.Read.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint hostname for target site, for example contoso.sharepoint.com.
sitePathSite path under hostname, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

RestoreItemVersion

Restores one historical version of a drive item through Microsoft Graph (online), with graceful fallback when unsupported on-prem. (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeItemSnapshottrue fetches current item snapshot after restore operation.
itemIdDrive item identifier to restore from version history.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
versionIdVersion identifier returned by ListDriveItemVersions.

UpdateItem

Updates one SharePoint drive item through Microsoft Graph (online) or SharePoint REST move/rename APIs (on-prem). (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
includeRawItemtrue includes raw Graph driveItem payload under response.data.item.raw.
itemIdTarget drive item identifier to update.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
returnUpdatedItemtrue reloads updated item with optional property selection before returning.
selectFieldsOptional comma-separated list of Graph driveItem properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.
updateJsonJSON object payload used to update drive item metadata (for example name or parentReference).

UpdateListItem

Updates one SharePoint list item through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
cookieHeaderOptional Cookie header for on-prem forms authentication.
fieldsJsonJSON object payload used to patch list item fields.
includeRawItemtrue includes raw Graph payload under item.raw.
itemIdTarget SharePoint list item identifier.
listIdOptional list identifier. If provided, listName is ignored.
listNameList display name or internal name used to resolve listId.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
providerBackend provider selection graph or onprem.
returnUpdatedItemtrue reloads updated item with optional field projection before returning.
selectFieldsOptional comma-separated list of field internal names projected in returned item.fields.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

UploadItemContent

Uploads one SharePoint drive file content through Microsoft Graph (online) or SharePoint REST (on-prem). (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
contentBase64Base64 content to upload.
contentTypeContent type sent to Graph content endpoint.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
fileNameFile name used when itemId is empty.
includeRawItemtrue includes raw Graph driveItem payload under response.data.item.raw.
itemIdOptional existing drive item id when uploading new content revision.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
parentItemIdParent drive item id used when itemId is empty. Use root or leave empty for drive root.
providerBackend provider selection graph or onprem.
returnUploadedItemtrue reloads uploaded item with optional property selection before returning.
selectFieldsOptional comma-separated list of Graph driveItem properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

UploadItemLargeContent

Uploads one SharePoint drive file using Graph upload session (online) or SharePoint REST file write (on-prem). (Graph permissions Files.ReadWrite.All|Sites.ReadWrite.All)

variables

namecomment
accessTokenOptional delegated bearer token. If provided, tenant/client/secret are ignored.
chunkSizeChunk size in bytes (multiple of 327680). Default is 3276800.
clientIdAzure Entra application client id used for app-only token acquisition.
clientSecretAzure Entra application client secret used for app-only token acquisition.
conflictBehaviorConflict behavior when creating a new file by path (replace, rename, fail).
contentBase64Base64 content uploaded through a Graph upload session.
contentTypeContent type sent for each upload chunk.
cookieHeaderOptional Cookie header for on-prem forms authentication.
driveIdOptional drive identifier. If provided, driveName/listId/listName are ignored.
driveNameDrive name used to resolve driveId when driveId is not provided.
fileNameFile name used when itemId is empty.
includeRawItemtrue includes raw Graph driveItem payload under response.data.item.raw.
includeSessionDetailstrue includes uploadUrl and upload session metadata in the response.
itemIdOptional existing drive item id when uploading new content revision.
listIdOptional list identifier used to resolve associated drive.
listNameList display name or internal name used to resolve associated drive.
onPremPasswordOptional technical password for on-prem basic authentication.
onPremProtocolURL scheme fallback for on-prem mode when siteBaseUrl is not provided.
onPremUsernameOptional technical username for on-prem basic authentication.
parentItemIdParent drive item id used when itemId is empty. Use root or leave empty for drive root.
providerBackend provider selection graph or onprem.
returnUploadedItemtrue reloads uploaded item with optional property selection before returning.
selectFieldsOptional comma-separated list of Graph driveItem properties to select.
siteBaseUrlOptional SharePoint on-prem site base URL, for example https://sharepoint.local/sites/intranet.
siteHostnameSharePoint Online hostname when resolving siteId, for example contoso.sharepoint.com.
siteIdOptional site identifier. If empty, siteHostname and sitePath are used to resolve it.
sitePathSite path when resolving siteId, for example /sites/engineering.
tenantIdAzure Entra tenant id used for app-only token acquisition.

About

Convertigo SharePoint library for Microsoft 365 and on-prem deployments. It provides unified sequences for sites, lists, document libraries, files, folders, delta sync, versions, copy/move, and sharing, using Microsoft Graph online and SharePoint REST/NTLM on-prem.

Topics

Resources

License

Stars

Watchers

Forks

Contributors