Backup Storage API error responses

Partners can use the Microsoft 365 Backup Storage API in Microsoft Graph to create their own applications to manage backups. Your application becomes the Microsoft 365 Backup Storage controller in the tenant where the application is deployed.

In addition to general errors that apply to Microsoft Graph, some error conditions are specific to the Backup Storage API. This topic provides a list of common error conditions you might encounter when you use the Backup Storage API.

Create protection policy API errors

The error codes in this section apply to the following APIs:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidCreateRequest Can't process the request because it's malformed or incorrect. Create request is null, invalid or its size is too large.
400 InvalidDisplayName Thrown when the policy display name exceeds the character limit or is empty/null. Please ensure policy name length should be > 0 chars and <= 1024 chars.
400 InvalidProtectionUnitId Thrown when one of the Protection Unit IDs is invalid. Protection Unit ID is invalid.
413 ProtectionUnitsLimitBreached Thrown when the user tries to add more Protection Units than supported in one request. Number of Protection Units in each request must not exceed 50.
409 PolicyCreationNotAllowed Thrown when an active protection policy already exists for the service and the user tries to create a new policy. Can't create Policy. Another active Policy already exists.
500 PolicySaveFailed Thrown when a transient error occurs in the M365 Backup service. An unknown error occurred. Try again.

Get protection policy API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidPolicyId Thrown when the Policy ID in request is invalid, null, or empty. Policy ID is invalid.
404 PolicyNotFound Thrown when the ID is valid but the policy doesn't exist. Unable to get the Protection Policy.

Patch protection policy API errors

The error codes in this section apply to the following APIs:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
200 ProtectionUnitAlreadyExists This is a delta patch ProtectionUnit level error returned when the request has duplicate Protection Unit in the list that is already present in the service. ProtectionUnit level error: ProtectionUnit already exists.
200 ProtectionUnitNotFound This is a delta patch ProtectionUnit level error returned when the user requests to remove Protection Unit, which isn't present in the service. ProtectionUnit level error: ProtectionUnit doesn't exist.
400 DuplicateProtectionUnitInList This is a Protection Unit level error returned when the request has duplicate artifacts in the list. Protection Unit level error: Duplicate Protection Unit in list.
404 PolicyNotFound Thrown when the ID is valid but the policy doesn't exist. Unable to get the Protection Policy.

Delete inactive protection policy API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidPolicyId Thrown when the policy ID in request is invalid, null, or empty. Policy ID is absent.
404 PolicyNotFound Thrown when the ID is valid but the policy doesn't exist. Policy not found.
403 PolicyActionNotAllowed Thrown when the policy isn't in Inactive state. Can't delete policy. Only policy in Inactive status can be deleted.

Deactivate active protection policy API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidPolicyId Thrown when the policy ID in request is invalid, null, or empty. Policy ID is absent.
403 PolicyActionNotAllowed Thrown when the policy isn't in active state. Policy isn't in correct state. Wait until it moves to the active state.
404 PolicyNotFound Thrown when the ID is valid but the policy doesn't exist. Unable to get the Protection Policy.

Activate inactive protection policy API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidPolicyId Thrown when the policy ID in request is invalid, null, or empty. Policy ID is absent.
403 PolicyActionNotAllowed Thrown when the policy isn't in Inactive state. Can't activate policy. The policy isn't in correct state. Make sure the policy is in Inactive state.
404 PolicyNotFound Thrown when the ID is valid but the policy doesn't exist. Unable to get the Protection Policy.

List all the protection unit under a protection policy API errors

The error codes in this section apply to the following APIs:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidPolicyId Policy ID is invalid, null, or empty. Policy ID is invalid.
400 FilterLengthExceeded This error occurs when client attempt to send too many filters or queries all at once in a single request including both "and" and "or" filter queries combined. Filter length exceeds the allowed limit.
400 InvalidProtectionUnitId Protection unit ID is invalid or empty ID. Invalid Protection Unit ID.
404 PolicyNotFound Policy doesn't exist or can't be found. Unable to get the Protection Policy.

Get protection unit API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
200 UnknownError Unknown error occurred occurs. Unknown error occurred. Please try again. If the issue persists, please contact support.
200 ProtectionUnitNotFound Protection Unit doesn't exist. Requested Protection Unit either doesn't exist, is deleted, or can't be found. Please recheck the Protection Unit ID and try again.
200 InvalidArtifactId Invalid or nonexistent Protection Unit ID. Protection Unit to remove wasn't found.
200 QuotaExceeded Exceeding backup size quota (specifically for Exo). You have exceeded the backup quota.
400 InvalidProtectionUnitId Protection unit ID is invalid or empty ID. Invalid Protection Unit ID.

Create restore session API errors

The error codes in this section apply to the following APIs:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidPathType PathType (new/in-place) isn't known for artifacts. Restore path type isn't present.
400 InvalidArtifactRequest Empty or null restore artifact list. There should be at least one restore artifact.
400 InvalidRestorePoint Invalid restore point provided. Restore Point ID is invalid or empty.
400 DifferentRestoreDestinationType Different destination types for artifacts in request. Different restore destination type.
413 RestoreArtifactsLimitBreached Request Exceeded maximum artifacts limit. Restore Artifacts limit is breached.
400 DuplicateArtifactInList Duplicate artifacts in the list. The restore artifact requested is already present.

Get restore session API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidRestoreSessionId Restore session ID invalid, null, or empty. Restore Session ID is absent.
404 RestoreSessionNotFound Valid ID but session not found. Restore Session Not Found.

Patch restore session API errors

The error codes in this section apply to the following APIs:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidRestoreSessionId Restore session ID invalid, null, or empty. Restore Session ID is absent.
400 InvalidPatchRequest Can't process the request because it's malformed or incorrect. Can't process the request because it's malformed or incorrect.
400 InvalidRestorePoint Invalid restore point provided. Restore Point is invalid.
400 RestoreArtifactsLimitBreached Exceeded maximum artifacts limit of 50 for single request. Restore Artifacts limit is breached.
400 InvalidArtifactRequest Empty or null restore artifact list. Restore Artifacts are null.
403 RestoreSessionActionNotAllowed Attempt to patch active restore session. Restore session can only be patched in Draft state.
404 RestoreSessionNotFound Valid ID but session not found. Unable to get restore session.
400 DuplicateArtifactInList Duplicate artifacts in the request. The restore artifact requested is already present.

Delete restore session API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidRestoreSessionId Restore session ID invalid, null, or empty. RestoreSessionId is absent.
403 RestoreSessionActionNotAllowed Attempt to delete active restore session. Restore session can only be deleted in Draft state.
404 RestoreSessionNotFound Valid ID but session not found. Unable to get restore session.
500 IncompleteArtifactDeletion Service unable to delete all requested artifacts. Unable to delete session, try again.

Activate restore session API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 InvalidRestoreSessionId Restore session ID invalid, null, or empty. RestoreSessionId is absent.
403 RestoreSessionActionNotAllowed Attempt to activate active restore session. Restore session can only be activated in Draft state.
404 RestoreSessionNotFound Valid ID but session not found. Unable to get restore session.
500 TooManyActiveRestoreSessions Attempt to activate more than 25 sessions simultaneously. Temporary error: Too many active restore sessions.

List restore artifact under a restore session API errors

The error codes in this section apply to the following APIs:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
200 UnknownError Unknown error occurred or a provider-side error. Unknown error occurred. Please try again. If the issue persists, contact support.
200 ArtifactNotFound Restore Artifact doesn't exist. The requested restore artifact wasn't found for restore.
200 InvalidRestoreTime Invalid or out-of-bounds restore time. Restore Artifact can't be restored to this timestamp, the restore time provided is invalid or beyond retention period.
200 ArtifactCannotBeRestored Restore Artifact state doesn't allow restoration. The restore artifact is in an unexpected state such as preservation lock or TenantDivestiture which is blocking the restore.
200 DuplicateArtifactRestoreRequest Concurrent restoration of the same restore artifact. An ongoing Restore was found for the given restore artifact. Please wait till its completion and try again.
400 InvalidRestoreSessionId Restore session ID invalid, null, or empty. RestoreSession ID is invalid.

Create inclusion rule API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response code that can be returned.

HTTP status code Error code Error message Description
400 InvalidInclusionRuleCreateRequest Can't process the request because it's malformed or incorrect. Invalid create request.

Get inclusion rule by ID API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response code that can be returned.

HTTP status code Error code Error message Description
400 InvalidInclusionRuleId Rule ID in request is invalid, null, or empty. Rule ID is invalid.

Get restore point API errors

The error codes in this section apply to the following APIs:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
400 FilterLengthExceeded Filter length exceeds allowed limit. Filter length exceeds allowed limit.
400 InvalidSearchRequest Requested date time limit or protection unit ID is invalid. Restore point input is invalid.
400 InvalidProtectionUnitId Protection unit ID in request is invalid. Invalid Protection unit ID.

Enable service API errors

The error codes in this section apply to the following API:

The following table lists the possible error and response codes that can be returned.

HTTP status code Error code Error message Description
403 UnableToReadBillingProfile Unable to read billing profile from billing profile provider. Unable to read billing profile from billing profile provider.
402 InvalidBillingProfile Invalid billing profile received from the provider. Invalid billing profile received from the provider.
400 InvalidAppOwnerTenantId Owning tenant id not found Invalid App owner tenant id received from the user.