Folder Copy Operation Should Support Partial Success Reporting When Some Items Fail Due to Insufficient Permissions

Carlos Han 20 Reputation points
2026-01-12T01:38:16.6033333+00:00

Current Behavior: When using the Microsoft Graph API to copy an entire folder (via POST /drive/items/{folder-id}/copy), if any file within the folder lacks sufficient permissions for the calling user (e.g., a file with "Restricted View" permission that does not allow content read/download), the entire copy operation fails immediately and returns a generic 403 Forbidden or Access Denied error.

Critically, the API provides no information about which files succeeded or failed, nor does it indicate whether some files were already copied before the failure occurred. In practice, files with full read/edit permissions may have been successfully copied to the destination, but the caller has no way to know this.

Impact:

Applications (e.g., our product: DMSO) cannot reliably handle partial outcomes.

Users receive misleading “complete failure” messages, even when most content was copied.

No ability to retry only the failed items or audit what was actually transferred.

Forces developers to avoid folder-level copy entirely and implement inefficient per-file logic.

Expected Behavior:

The folder copy operation should either:

Return a detailed response indicating which items succeeded and which failed (similar to batch request responses), or

Continue copying all accessible items and return a 207 Multi-Status–like response with per-item results, or

At minimum, provide an optional query parameter (e.g., ? continueOnError=true) to enable best-effort copying with result reporting.

Use Case Example:

DMSO copies user-selected folders from a shared team site to a user’s OneDrive. The folder contains 50 editable files and 1 restricted file. The current API fails the whole operation due to the single restricted file, leaving the user confused—even though 50 files could have been safely copied.

Suggested Improvement:

Enhance the /copy endpoint for folders to support partial success semantics with structured error details, aligning with real-world permission heterogeneity in collaborative environments.

public async Task
Microsoft 365 and Office | Development | Other
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Q&A Assist
    2026-01-12T01:39:29.3966667+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    The current behavior of the Microsoft Graph API when copying folders does indeed lead to issues when some files within the folder have insufficient permissions. As you noted, the entire copy operation fails without providing detailed feedback on which items were successfully copied and which were not. This can create confusion for users and developers alike, as they receive a generic error message without insight into the operation's partial success.

    Your expectations for improved behavior are valid. Ideally, the API should support partial success reporting, allowing for a more granular understanding of the copy operation's results. This could be implemented in several ways:

    1. Detailed Response: The API could return a structured response indicating which files succeeded and which failed, similar to how batch requests are handled.
    2. 207 Multi-Status Response: The API could continue copying all accessible items and return a response that details the status of each item, allowing users to see what was copied successfully.
    3. Optional Parameter: Introducing a query parameter like ?continueOnError=true could enable best-effort copying, providing users with the flexibility to manage permissions dynamically.

    These enhancements would significantly improve the usability of the folder copy operation in scenarios where permissions vary across files, ultimately leading to a better experience for users and developers.

    0 comments No comments

  2. Kha-N 7,070 Reputation points Microsoft External Staff Moderator
    2026-01-12T02:51:39.5733333+00:00

    Hi @Carloshan,

    Welcome to Microsoft Q&A, and thank you for reaching out.

    As a Q&A moderator, my support is limited to guidance based on publicly available documentation and research. I don’t have the ability to request or implement changes to Microsoft products or APIs on your behalf.

    That said, I understand how frustrating the behavior you’re encountering can be, especially given your scenario and use case.

    For improvement requests or changes to product behavior, I recommend submitting your feedback through the Microsoft Feedback Portal. This channel is monitored by the Microsoft engineering teams, and it’s where product improvements and enhancements are reviewed and considered. The more users who raise or upvote similar feedback, the higher the visibility and likelihood of the request being reviewed for future implementation.

    Thank you again for sharing your experience and for taking the time to provide detailed feedback.


    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

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.