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:
- Create exchangeProtectionPolicy
- Create oneDriveForBusinessProtectionPolicy
- Create sharePointProtectionPolicy
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:
- Update exchangeProtectionPolicy
- Update oneDriveForBusinessProtectionPolicy
- Update sharePointProtectionPolicy
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:
- Create exchangeRestoreSession
- Create oneDriveForBusinessRestoreSession
- Create sharePointRestoreSession
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:
- Update exchangeRestoreSession
- Update oneDriveForBusinessRestoreSession
- Update sharePointRestoreSession
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. |