Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
179 changes: 159 additions & 20 deletions permissions/new/permissions.json
Original file line number Diff line number Diff line change
Expand Up @@ -24104,6 +24104,33 @@
"/copilot/sharepoint/grounding/fetchResources": "least=DelegatedWork",
"/drives/{id}/items/{id}/checkAccess": "least=DelegatedWork"
}
},
{
"schemeKeys": [
"DelegatedWork",
"DelegatedPersonal"
],
"methods": [
"POST"
],
"paths": {
"/drive/bundles/{driveItemId}/archive": "",
"/drive/bundles/{driveItemId}/unarchive": "least=DelegatedWork,DelegatedPersonal",
"/drive/following/{driveItemId}/archive": "",
"/drive/following/{driveItemId}/unarchive": "least=DelegatedWork,DelegatedPersonal",
"/drive/items/{driveItemId}/archive": "",
"/drive/items/{driveItemId}/unarchive": "least=DelegatedWork,DelegatedPersonal",
Comment on lines +24117 to +24122
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this Files.Read pathSet, the new archive/unarchive endpoints have inconsistent "least" markings: archive paths are "" while the corresponding unarchive paths are marked least=DelegatedWork,DelegatedPersonal. For paired operations like this, the least-required permission should generally be consistent; please verify which permission is actually minimal and update the least markers (and/or move the least markers to the correct permission block) so archive and unarchive match.

Copilot uses AI. Check for mistakes.
"/drive/root/archive": "",
"/drive/root/unarchive": "least=DelegatedWork,DelegatedPersonal",
"/drive/special/{driveItemId}/archive": "",
"/drive/special/{driveItemId}/unarchive": "least=DelegatedWork,DelegatedPersonal",
"/drives/{drivesId}/root/archive": "",
"/drives/{drivesId}/root/unarchive": "least=DelegatedWork,DelegatedPersonal",
"/shares/{sharesId}/driveItem/archive": "",
"/shares/{sharesId}/driveItem/unarchive": "least=DelegatedWork,DelegatedPersonal",
Comment on lines +24127 to +24130
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These newly added share-based archive/unarchive paths use a different casing and placeholder style ("/shares/{sharesId}/driveItem") than the existing share paths nearby (e.g. "/shares/{id}/driveitem/..."). If path matching is case-sensitive or relies on canonical templates, this can create duplicate/unmatched entries. Please normalize the segment casing and parameter naming to the canonical form used in this file/spec.

Copilot uses AI. Check for mistakes.
"/shares/{sharesId}/root/archive": "",
"/shares/{sharesId}/root/unarchive": "least=DelegatedWork,DelegatedPersonal"
}
}
],
"ownerInfo": {
Expand Down Expand Up @@ -24472,6 +24499,33 @@
"/copilot/sharepoint/grounding/fetchResources": "",
"/drives/{drive-id}/items/{item-id}/checkAccess": ""
}
},
{
"schemeKeys": [
"DelegatedWork",
"DelegatedPersonal"
],
"methods": [
"POST"
],
"paths": {
"/drive/bundles/{driveItemId}/archive": "",
"/drive/bundles/{driveItemId}/unarchive": "",
"/drive/following/{driveItemId}/archive": "",
"/drive/following/{driveItemId}/unarchive": "",
"/drive/items/{driveItemId}/archive": "",
"/drive/items/{driveItemId}/unarchive": "",
"/drive/root/archive": "",
"/drive/root/unarchive": "",
"/drive/special/{driveItemId}/archive": "",
"/drive/special/{driveItemId}/unarchive": "",
"/drives/{drivesId}/root/archive": "",
"/drives/{drivesId}/root/unarchive": "",
"/shares/{sharesId}/driveItem/archive": "",
"/shares/{sharesId}/driveItem/unarchive": "",
"/shares/{sharesId}/root/archive": "",
"/shares/{sharesId}/root/unarchive": ""
}
}
],
"ownerInfo": {
Expand Down Expand Up @@ -25983,6 +26037,25 @@
"/copilot/sharepoint/grounding/fetchResources": "",
"/drives/{drive-id}/items/{item-id}/checkAccess": ""
}
},
{
"schemeKeys": [
"DelegatedWork",
"DelegatedPersonal"
],
"methods": [
"POST"
],
"paths": {
"/drive/bundles/{driveItemId}/archive": "least=DelegatedWork,DelegatedPersonal",
"/drive/following/{driveItemId}/archive": "least=DelegatedWork,DelegatedPersonal",
"/drive/items/{driveItemId}/archive": "least=DelegatedWork,DelegatedPersonal",
"/drive/root/archive": "least=DelegatedWork,DelegatedPersonal",
"/drive/special/{driveItemId}/archive": "least=DelegatedWork,DelegatedPersonal",
"/drives/{drivesId}/root/archive": "least=DelegatedWork,DelegatedPersonal",
"/shares/{sharesId}/driveItem/archive": "least=DelegatedWork,DelegatedPersonal",
"/shares/{sharesId}/root/archive": "least=DelegatedWork,DelegatedPersonal"
}
}
],
"ownerInfo": {
Expand Down Expand Up @@ -26669,6 +26742,25 @@
"/copilot/sharepoint/grounding/fetchResources": "",
"/drives/{drive-id}/items/{item-id}/checkAccess": ""
}
},
{
"schemeKeys": [
"DelegatedWork",
"DelegatedPersonal"
],
"methods": [
"POST"
],
"paths": {
"/drive/bundles/{driveItemId}/archive": "",
"/drive/following/{driveItemId}/archive": "",
"/drive/items/{driveItemId}/archive": "",
"/drive/root/archive": "",
"/drive/special/{driveItemId}/archive": "",
"/drives/{drivesId}/root/archive": "",
"/shares/{sharesId}/driveItem/archive": "",
"/shares/{sharesId}/root/archive": ""
}
}
],
"ownerInfo": {
Expand Down Expand Up @@ -36672,54 +36764,98 @@
"userDescription": "Allows the app to manage organization places (conference rooms and room lists) for calendar events and other applications, on your behalf.",
"requiresAdminConsent": true,
"privilegeLevel": 3
},
"Application": {
"adminDisplayName": "Read and write organization places",
"adminDescription": "Allows the app to manage organization places (conference rooms and room lists) for calendar events and other applications, without a signed-in user.",
"requiresAdminConsent": true,
"privilegeLevel": 4
}
},
"pathSets": [
{
"schemeKeys": [
"DelegatedWork"
"DelegatedWork",
"Application"
],
"methods": [
"GET"
],
"paths": {
"/places/{id}": "",
"/places/{id}/descendants": "",
"/places/{id}/microsoft.graph.building/map": "",
"/places/{id}/microsoft.graph.building/map/footprints": "",
"/places/{id}/microsoft.graph.building/map/footprints/{id}": "",
"/places/{id}/microsoft.graph.building/map/levels": "",
"/places/{id}/microsoft.graph.building/map/levels/{id}": "",
"/places/{id}/microsoft.graph.building/map/levels/{id}/fixtures": "",
"/places/{id}/microsoft.graph.building/map/levels/{id}/fixtures/{id}": "",
"/places/{id}/microsoft.graph.building/map/levels/{id}/sections": "",
"/places/{id}/microsoft.graph.building/map/levels/{id}/sections/{id}": "",
"/places/{id}/microsoft.graph.building/map/levels/{id}/units": "",
"/places/{id}/microsoft.graph.building/map/levels/{id}/units/{id}": "",
"/places/{id}/microsoft.graph.roomlist/rooms": "",
"/places/{id}/microsoft.graph.roomlist/workspaces": "",
"/places/getOperation": "",
"/places/listOperations": "",
"/places/microsoft.graph.building": "",
"/places/microsoft.graph.desk": "",
"/places/microsoft.graph.floor": "",
"/places/microsoft.graph.room": "",
"/places/microsoft.graph.roomlist": "",
"/places/microsoft.graph.section": "",
"/places/microsoft.graph.workspace": ""
}
},
{
"schemeKeys": [
"DelegatedWork",
"Application"
],
"methods": [
"PATCH"
],
"paths": {
"/places": "least=DelegatedWork",
"/places/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/footprints/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/levels/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/levels/{id}/fixtures/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/levels/{id}/sections/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/levels/{id}/units/{id}": "least=DelegatedWork"
"/places": "least=DelegatedWork,Application",
"/places/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/footprints/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/levels/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/levels/{id}/fixtures/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/levels/{id}/sections/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/levels/{id}/units/{id}": "least=DelegatedWork,Application"
}
},
{
"schemeKeys": [
"DelegatedWork"
"DelegatedWork",
"Application"
],
"methods": [
"POST"
],
"paths": {
"/places": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/ingestMapFile": "least=DelegatedWork"
"/places": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/ingestMapFile": "least=DelegatedWork,Application"
}
},
{
"schemeKeys": [
"DelegatedWork"
"DelegatedWork",
"Application"
],
"methods": [
"DELETE"
],
"paths": {
"/places/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/footprints/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/levels/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/levels/{id}/fixtures/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/levels/{id}/sections/{id}": "least=DelegatedWork",
"/places/{id}/microsoft.graph.building/map/levels/{id}/units/{id}": "least=DelegatedWork"
"/places/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/footprints/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/levels/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/levels/{id}/fixtures/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/levels/{id}/sections/{id}": "least=DelegatedWork,Application",
"/places/{id}/microsoft.graph.building/map/levels/{id}/units/{id}": "least=DelegatedWork,Application"
}
}
],
Expand Down Expand Up @@ -45649,6 +45785,8 @@
"POST"
],
"paths": {
"/solutions/sharepoint/migrations/crossorganizationmigrationapps": "least=DelegatedWork,Application",
"/solutions/sharepoint/migrations/crossorganizationmigrationapps/{appId}/unregister": "least=DelegatedWork,Application",
"/solutions/sharepoint/migrations/crossOrganizationmigrationtasks": "least=DelegatedWork,Application",
"/solutions/sharepoint/migrations/crossOrganizationmigrationtasks/{id}/cancel": "least=DelegatedWork,Application"
}
Comment on lines +45788 to 45792
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new migration app endpoints use a different casing pattern ("crossorganizationmigrationapps") than the existing endpoints in the same area ("crossOrganizationmigrationtasks", "crossOrganizationGroupMappings"). If URL/path matching is case-sensitive, this inconsistency can break permission resolution. Please confirm the correct Graph path casing and make it consistent across all related entries.

Copilot uses AI. Check for mistakes.
Expand Down Expand Up @@ -45700,6 +45838,7 @@
],
"paths": {
"/solutions/sharepoint/migrations/crossOrganizationGroupMappings(sourceGroupObjectId={sourceGroupObjectId})": "least=DelegatedWork,Application",
"/solutions/sharepoint/migrations/crossorganizationmigrationapps/{appId}": "least=DelegatedWork,Application",
Comment on lines 45840 to +45841
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This added path ("/solutions/sharepoint/migrations/crossorganizationmigrationapps/{appId}") uses the lower-case "crossorganization..." segment, while other sibling endpoints in this section use "crossOrganization..." casing. Please verify the intended canonical path and align casing consistently to avoid mismatches.

Copilot uses AI. Check for mistakes.
"/solutions/sharepoint/migrations/crossOrganizationmigrationtasks": "least=DelegatedWork,Application",
"/solutions/sharepoint/migrations/crossOrganizationmigrationtasks/{id}": "least=DelegatedWork,Application",
"/solutions/sharepoint/migrations/crossOrganizationmigrationtasks/getbysourcegroupmailnickname(sourcemailnickname={sourcemailnickname})": "least=DelegatedWork,Application",
Expand Down
56 changes: 48 additions & 8 deletions permissions/new/provisioningInfo.json
Original file line number Diff line number Diff line change
Expand Up @@ -3624,6 +3624,46 @@
"resourceAppId": "00000003-0000-0000-c000-000000000000"
}
],
"WorkIQSettings.Read.All": [
{
"id": "",
"scheme": "DelegatedWork",
"environment": "public",
"isHidden": true,
"isEnabled": false,
"resourceAppId": "59eca866-2f46-40b8-96ff-63f663121ef9"
}
],
"WorkIQSettings.ReadWrite.All": [
{
"id": "",
"scheme": "DelegatedWork",
"environment": "public",
"isHidden": true,
"isEnabled": false,
"resourceAppId": "59eca866-2f46-40b8-96ff-63f663121ef9"
}
],
"WorkIQAgent.Ask": [
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "WorkIQAgent.Ask" key is indented differently than surrounding keys (extra leading space). This file appears to use consistent 4-space indentation per nesting level, and the mis-indentation can cause formatting/lint checks to fail. Please align this key’s indentation with the adjacent entries.

Copilot uses AI. Check for mistakes.
{
"id": "",
"scheme": "DelegatedWork",
"environment": "public",
"isHidden": true,
"isEnabled": false,
"resourceAppId": "59eca866-2f46-40b8-96ff-63f663121ef9"
}
],
"WorkIQAgent.Ask.Selected": [
{
"id": "",
"scheme": "DelegatedWork",
"environment": "public",
"isHidden": true,
"isEnabled": false,
"resourceAppId": "59eca866-2f46-40b8-96ff-63f663121ef9"
}
],
"CopilotConversation.ReadWrite": [
{
"id": "b42d1c29-1ae8-463c-abd3-5b1b4e72967a",
Expand Down Expand Up @@ -16963,42 +17003,42 @@
],
"UserAuthMethodAuthApp-Policy.Read": [
{
"id": "",
"id": "9fef8971-87ef-437a-9adb-539349be92fd",
"scheme": "DelegatedWork",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "ea890292-c8c8-4433-b5ea-b09d0668e1a6"
"resourceAppId": "4813382a-8fa7-425e-ab75-3b753aab3abb"
}
],
"UserAuthMethodAuthApp-Passkey.Create": [
{
"id": "",
"id": "8f3b6efc-66be-4f57-b1ca-2a40b50c6154",
"scheme": "DelegatedWork",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "ea890292-c8c8-4433-b5ea-b09d0668e1a6"
"resourceAppId": "4813382a-8fa7-425e-ab75-3b753aab3abb"
}
],
"UserAuthMethodAuthApp-Passkey.Delete": [
{
"id": "",
"id": "64c7eb9c-1c47-4237-a607-2dc52eb5fd22",
"scheme": "DelegatedWork",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "ea890292-c8c8-4433-b5ea-b09d0668e1a6"
"resourceAppId": "4813382a-8fa7-425e-ab75-3b753aab3abb"
}
],
"UserAuthMethodAuthApp-MSAuthApp.Delete": [
{
"id": "",
"id": "af1c79ec-8d8d-414d-a8fb-392329d15313",
"scheme": "DelegatedWork",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "ea890292-c8c8-4433-b5ea-b09d0668e1a6"
"resourceAppId": "4813382a-8fa7-425e-ab75-3b753aab3abb"
}
],
"UserAuthMethod-Email.Read": [
Expand Down