How to scope permissions to a Sharepoint subsite using Graph API

kl945 0 Reputation points
2026-07-22T17:19:45.7+00:00

Hello,

I am building an application that needs read access to a subsite (and the subsites under it). Based on online documentation, it seems that Sites.Selected can only be scoped to a site collection and cannot scope down any further than that. Can this be confirmed as I see some conflicting information online and on the Q&A board?

The Sharepoint owners are unable to give access to the whole site collection (due to sensitive data), but are willing to give access to the subsite I need. However I cannot seem to find a solution to this. I have looked into Lists.SelectedOperations.Selected, ListItems.SelectedOperations.Selected, Files.SelectedOperations.Selected, but these do not seem like viable solutions as I wouldn't be able to see text content on the subsite and I would need access to probably 100+ different folders. Please let me know if there is some kind of way to put subsites in a list or folder to use these permissions to achieve my goal.

Please advise on solutions to scope read access to a subsite using Graph API or similar API.

Microsoft Security | Microsoft Graph

1 answer

Sort by: Most helpful
  1. AI answer

    2026-07-22T17:20:14.0433333+00:00

    No. In Microsoft Graph, Sites.Selected scopes access at the site collection level, not at the SharePoint subsite level.

    The supported Selected scopes in the provided documentation are:

    • Sites.Selected for a specific site collection
    • Lists.SelectedOperations.Selected for a specific list
    • ListItems.SelectedOperations.Selected for specific files, list items, or folders
    • Files.SelectedOperations.Selected for specific files or library folders

    That means there is no Graph Selected scope in the provided documentation that grants app access to a subsite as a distinct boundary below a site collection.

    For Sites.Selected, the documented grant endpoint is:

    • POST /sites/{siteId}/permissions

    The SharePoint guidance also states that Sites.Selected grants explicit permissions for the selected target sites/site collections, and the permission roles are read, write, manage, or fullcontrol.

    What can be confirmed from the documentation:

    1. Sites.Selected is the site-collection-level option.
    2. The finer-grained Graph Selected scopes are list, list item, folder, and file based.
    3. No subsite-specific Selected permission is described.

    Given the requirement to read a subsite and its child subsites, the provided documentation does not show a Graph API mechanism to assign one permission to a subsite tree. The only documented finer scoping options are per list, list item, folder, or file, which would require explicit assignment at those resource levels.

    If the site owners cannot allow access to the whole site collection, the documented Graph options in the provided material do not provide a subsite-scoped equivalent to Sites.Selected.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.