- Track changes in SharePoint site drives [Optional]
ONE_DRIVE_GET_ITEM_VERSIONS
- Get version history of a file [Optional]
Key parameters
:
drive_id
Drive identifier (or
"me"
for personal drive)
site_id
SharePoint site identifier for delta tracking
token
Delta token (
"latest"
for current state, URL for next page, or timestamp)
item_id
File ID for version history
Pitfalls
:
Delta queries are only available for SharePoint site drives via
ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA
Token
"latest"
returns current delta token without items (useful as starting point)
Deep or large drives can take several minutes to crawl; use batching and resume logic
Common Patterns
ID Resolution
User
Use
"me"
for authenticated user or specific user email/GUID
Item ID from find
Use
ONE_DRIVE_ONEDRIVE_FIND_FILE
or
ONE_DRIVE_ONEDRIVE_FIND_FOLDER
to get item IDs
Item ID from search
Extract from
ONE_DRIVE_SEARCH_ITEMS
results
Drive ID
Use
ONE_DRIVE_LIST_DRIVES
or
ONE_DRIVE_GET_DRIVE
to discover drives
Folder path to ID
Use
ONE_DRIVE_ONEDRIVE_FIND_FOLDER
with path, then extract ID from response
ID formats vary by platform:
OneDrive for Business/SharePoint:
01NKDM7HMOJTVYMDOSXFDK2QJDXCDI3WUK
OneDrive Personal:
D4648F06C91D9D3D!54927
Pagination
OneDrive uses token-based pagination:
Follow
@odata.nextLink
or
skip_token
until no more pages
Set
top
for page size (varies by endpoint)
ONE_DRIVE_ONEDRIVE_LIST_ITEMS
auto-handles pagination internally
Aggressive parallel requests can trigger HTTP 429; honor
Retry-After
headers
Path vs ID
Most OneDrive tools accept either paths or IDs:
Paths
Start with
/
(e.g.,
"/Documents/Reports"
)
IDs
Use unique item identifiers from API responses
Item paths for permissions
Use
:/path/to/item:/
format
Known Pitfalls
ID Formats
Item IDs are case-sensitive and platform-specific
Never use web URLs, sharing links, or manually constructed identifiers as item IDs
Always use IDs exactly as returned from Microsoft Graph API
Rate Limits
Aggressive parallel
ONE_DRIVE_GET_ITEM
calls can trigger HTTP 429 Too Many Requests
Honor
Retry-After
headers and implement throttling
Deep drive crawls should use batching with delays
Search Limitations
No KQL support; use plain keywords only
No wildcard characters; use extension keywords (e.g.,
"pdf"
not
".pdf"
)
No path-based filtering in search; use folder listing instead
q=''
wildcard-only queries return HTTP 400 invalidRequest
Parameter Quirks
drive_id
overrides
user_id
when both are provided
permissions
cannot be expanded via
GET_ITEM
; use dedicated permissions endpoint
Move operations require folder IDs in
parentReference
, not folder names
Copy operations are asynchronous; response provides monitoring URL
Quick Reference
Task
Tool Slug
Key Params
Search files
ONE_DRIVE_SEARCH_ITEMS
q
,
search_scope
,
top
List root items
ONE_DRIVE_ONEDRIVE_LIST_ITEMS
user_id
,
select
,
top
Get item details
ONE_DRIVE_GET_ITEM
item_id
,
expand_relations
Find file by name
ONE_DRIVE_ONEDRIVE_FIND_FILE
name
,
folder
Find folder by name
ONE_DRIVE_ONEDRIVE_FIND_FOLDER
name
,
folder
Upload file
ONE_DRIVE_ONEDRIVE_UPLOAD_FILE
file
,
folder
Download file
ONE_DRIVE_DOWNLOAD_FILE
item_id
,
file_name
Create folder
ONE_DRIVE_ONEDRIVE_CREATE_FOLDER
name
,
parent_folder
Move item
ONE_DRIVE_MOVE_ITEM
itemId
,
parentReference
Copy item
ONE_DRIVE_COPY_ITEM
item_id
,
parent_reference
,
name
Delete item
ONE_DRIVE_DELETE_ITEM
item_id
Share with users
ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM
item_id
,
recipients
,
roles
Create share link
ONE_DRIVE_CREATE_LINK
item_id
, link type
Get permissions
ONE_DRIVE_GET_ITEM_PERMISSIONS
item_id
Update metadata
ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA
item_id
, fields
Get drive info
ONE_DRIVE_GET_DRIVE
drive_id
List drives
ONE_DRIVE_LIST_DRIVES
user/group/site scope
Get quota
ONE_DRIVE_GET_QUOTA
(none)
Track changes
ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA
site_id
,
token
Version history
ONE_DRIVE_GET_ITEM_VERSIONS
item_id
Powered by
Composio