Errors

The Files.com JavaScript SDK will return errors by raising exceptions. There are many exception classes defined in the Files SDK that correspond to specific errors.

The raised exceptions come from two categories:

  1. SDK Exceptions - errors that originate within the SDK
  2. API Exceptions - errors that occur due to the response from the Files.com API. These errors are grouped into common error types.

There are several types of exceptions within each category. Exception classes indicate different types of errors and are named in a fashion that describe the general premise of the originating error. More details can be found in the exception object message using the message attribute.

Use standard Javascript exception handling to detect and deal with errors. It is generally recommended to catch specific errors first, then catch the general FilesError exception as a catch-all.

Example Error Handling

import Session from 'files.com/lib/models/Session';
import * as FilesErrors from 'files.com/lib/Errors';

try {
  const session = await Session.create({ username: 'USERNAME', password: 'BADPASSWORD' });
} catch (err) {
  if (err instanceof FilesErrors.NotAuthenticatedError) {
    console.error(`Authentication Error Occurred (${err.constructor.name}): ${err.error}`);
  } else if (err instanceof FilesErrors.FilesError) {
    console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
  } else {
    throw err;
  }
}

Error Types

SDK Errors

SDK errors are general errors that occur within the SDK code. These errors generate exceptions. Each of these exception classes inherit from a standard FilesError base class.

Example SDK Exception Class Inheritance Structure

import * as FilesErrors from 'files.com/lib/Errors'

FilesErrors.ConfigurationError ->
FilesErrors.FilesError ->
Error

SDK Exception Classes

Exception Class NameDescription
ConfigurationErrorInvalid SDK configuration parameters
EmptyPropertyErrorMissing a required property
InvalidParameterErrorA passed in parameter is invalid
MissingParameterErrorA method parameter is missing
NotImplementedErrorThe called method has not be implemented by the SDK

API Errors

API errors are errors returned by the Files.com API. Each exception class inherits from an error group base class. The error group base class indicates a particular type of error.

Example API Exception Class Inheritance Structure

import * as FilesErrors from 'files.com/lib/Errors'

FilesErrors.NotAuthorized_FolderAdminPermissionRequiredError ->
FilesErrors.NotAuthorizedError ->
FilesErrors.FilesApiError  ->
FilesErrors.FilesError  ->
Error

API Exception Classes

Exception Class NameError Group
BadRequest_AgentUpgradeRequiredErrorBadRequestError
BadRequest_AttachmentTooLargeErrorBadRequestError
BadRequest_CannotDownloadDirectoryErrorBadRequestError
BadRequest_CantMoveWithMultipleLocationsErrorBadRequestError
BadRequest_DatetimeParseErrorBadRequestError
BadRequest_DestinationSameErrorBadRequestError
BadRequest_DestinationSiteMismatchErrorBadRequestError
BadRequest_DoesNotSupportSortingErrorBadRequestError
BadRequest_FolderMustNotBeAFileErrorBadRequestError
BadRequest_FoldersNotAllowedErrorBadRequestError
BadRequest_InternalGeneralErrorErrorBadRequestError
BadRequest_InvalidBodyErrorBadRequestError
BadRequest_InvalidCursorErrorBadRequestError
BadRequest_InvalidCursorTypeForSortErrorBadRequestError
BadRequest_InvalidEtagsErrorBadRequestError
BadRequest_InvalidFilterAliasCombinationErrorBadRequestError
BadRequest_InvalidFilterFieldErrorBadRequestError
BadRequest_InvalidFilterParamErrorBadRequestError
BadRequest_InvalidFilterParamFormatErrorBadRequestError
BadRequest_InvalidFilterParamValueErrorBadRequestError
BadRequest_InvalidInputEncodingErrorBadRequestError
BadRequest_InvalidInterfaceErrorBadRequestError
BadRequest_InvalidOauthProviderErrorBadRequestError
BadRequest_InvalidPathErrorBadRequestError
BadRequest_InvalidReturnToUrlErrorBadRequestError
BadRequest_InvalidSearchQueryErrorBadRequestError
BadRequest_InvalidSortFieldErrorBadRequestError
BadRequest_InvalidSortFilterCombinationErrorBadRequestError
BadRequest_InvalidUploadOffsetErrorBadRequestError
BadRequest_InvalidUploadPartGapErrorBadRequestError
BadRequest_InvalidUploadPartSizeErrorBadRequestError
BadRequest_InvalidWorkspaceIdHeaderErrorBadRequestError
BadRequest_MethodNotAllowedErrorBadRequestError
BadRequest_MultipleSortParamsNotAllowedErrorBadRequestError
BadRequest_NoValidInputParamsErrorBadRequestError
BadRequest_OffsetUploadNotAllowedWithMalwareScanningErrorBadRequestError
BadRequest_PartNumberTooLargeErrorBadRequestError
BadRequest_PathCannotHaveTrailingWhitespaceErrorBadRequestError
BadRequest_ReauthenticationNeededFieldsErrorBadRequestError
BadRequest_RequestBodyTooLargeErrorBadRequestError
BadRequest_RequestParamsContainInvalidCharacterErrorBadRequestError
BadRequest_RequestParamsInvalidErrorBadRequestError
BadRequest_RequestParamsRequiredErrorBadRequestError
BadRequest_SearchAllOnChildPathErrorBadRequestError
BadRequest_UnrecognizedSortIndexErrorBadRequestError
BadRequest_UnsupportedCurrencyErrorBadRequestError
BadRequest_UnsupportedHttpResponseFormatErrorBadRequestError
BadRequest_UnsupportedMediaTypeErrorBadRequestError
BadRequest_UserIdInvalidErrorBadRequestError
BadRequest_UserIdOnUserEndpointErrorBadRequestError
BadRequest_UserRequiredErrorBadRequestError
NotAuthenticated_AdditionalAuthenticationRequiredErrorNotAuthenticatedError
NotAuthenticated_ApiKeySessionsNotSupportedErrorNotAuthenticatedError
NotAuthenticated_AuthenticationRequiredErrorNotAuthenticatedError
NotAuthenticated_BundleRegistrationCodeFailedErrorNotAuthenticatedError
NotAuthenticated_FilesAgentTokenFailedErrorNotAuthenticatedError
NotAuthenticated_InboxRegistrationCodeFailedErrorNotAuthenticatedError
NotAuthenticated_InvalidCredentialsErrorNotAuthenticatedError
NotAuthenticated_InvalidOauthErrorNotAuthenticatedError
NotAuthenticated_InvalidOrExpiredCodeErrorNotAuthenticatedError
NotAuthenticated_InvalidSessionErrorNotAuthenticatedError
NotAuthenticated_InvalidUsernameOrPasswordErrorNotAuthenticatedError
NotAuthenticated_LockedOutErrorNotAuthenticatedError
NotAuthenticated_LockoutRegionMismatchErrorNotAuthenticatedError
NotAuthenticated_OneTimePasswordIncorrectErrorNotAuthenticatedError
NotAuthenticated_TwoFactorAuthenticationErrorErrorNotAuthenticatedError
NotAuthenticated_TwoFactorAuthenticationSetupExpiredErrorNotAuthenticatedError
NotAuthorized_ApiKeyIsDisabledErrorNotAuthorizedError
NotAuthorized_ApiKeyIsPathRestrictedErrorNotAuthorizedError
NotAuthorized_ApiKeyOnlyForDesktopAppErrorNotAuthorizedError
NotAuthorized_ApiKeyOnlyForMobileAppErrorNotAuthorizedError
NotAuthorized_ApiKeyOnlyForOfficeIntegrationErrorNotAuthorizedError
NotAuthorized_BillingInformationHiddenErrorNotAuthorizedError
NotAuthorized_BillingPermissionRequiredErrorNotAuthorizedError
NotAuthorized_BundleMaximumUsesReachedErrorNotAuthorizedError
NotAuthorized_BundlePermissionRequiredErrorNotAuthorizedError
NotAuthorized_CannotLoginWhileUsingKeyErrorNotAuthorizedError
NotAuthorized_CantActForOtherUserErrorNotAuthorizedError
NotAuthorized_ContactAdminForPasswordChangeHelpErrorNotAuthorizedError
NotAuthorized_FilesAgentFailedAuthorizationErrorNotAuthorizedError
NotAuthorized_FolderAdminOrBillingPermissionRequiredErrorNotAuthorizedError
NotAuthorized_FolderAdminPermissionRequiredErrorNotAuthorizedError
NotAuthorized_FullPermissionRequiredErrorNotAuthorizedError
NotAuthorized_HistoryPermissionRequiredErrorNotAuthorizedError
NotAuthorized_InAppAiAssistantUnavailableErrorNotAuthorizedError
NotAuthorized_InsufficientPermissionForParamsErrorNotAuthorizedError
NotAuthorized_InsufficientPermissionForSiteErrorNotAuthorizedError
NotAuthorized_MoverAccessDeniedErrorNotAuthorizedError
NotAuthorized_MoverPackageRequiredErrorNotAuthorizedError
NotAuthorized_MustAuthenticateWithApiKeyErrorNotAuthorizedError
NotAuthorized_NeedAdminPermissionForInboxErrorNotAuthorizedError
NotAuthorized_NonAdminsMustQueryByFolderOrPathErrorNotAuthorizedError
NotAuthorized_NotAllowedToCreateBundleErrorNotAuthorizedError
NotAuthorized_NotEnqueuableSyncErrorNotAuthorizedError
NotAuthorized_PasswordChangeNotRequiredErrorNotAuthorizedError
NotAuthorized_PasswordChangeRequiredErrorNotAuthorizedError
NotAuthorized_PaymentMethodErrorErrorNotAuthorizedError
NotAuthorized_PreviewOnlyPermissionCannotDownloadErrorNotAuthorizedError
NotAuthorized_ReadOnlySessionErrorNotAuthorizedError
NotAuthorized_ReadPermissionRequiredErrorNotAuthorizedError
NotAuthorized_ReauthenticationFailedErrorNotAuthorizedError
NotAuthorized_ReauthenticationFailedFinalErrorNotAuthorizedError
NotAuthorized_ReauthenticationNeededActionErrorNotAuthorizedError
NotAuthorized_RecaptchaFailedErrorNotAuthorizedError
NotAuthorized_RemoteDesktopDebugLoggingDisabledErrorNotAuthorizedError
NotAuthorized_RootFolderBehaviorSiteAdminRequiredErrorNotAuthorizedError
NotAuthorized_RootFolderBehaviorSkipSiteAdminRequiredErrorNotAuthorizedError
NotAuthorized_SelfManagedRequiredErrorNotAuthorizedError
NotAuthorized_SiteAdminOrPartnerAdminPermissionRequiredErrorNotAuthorizedError
NotAuthorized_SiteAdminOrWorkspaceAdminOrFolderAdminPermissionRequiredErrorNotAuthorizedError
NotAuthorized_SiteAdminOrWorkspaceAdminOrPartnerAdminOrFolderAdminPermissionRequiredErrorNotAuthorizedError
NotAuthorized_SiteAdminOrWorkspaceAdminOrPartnerAdminPermissionRequiredErrorNotAuthorizedError
NotAuthorized_SiteAdminOrWorkspaceAdminPermissionRequiredErrorNotAuthorizedError
NotAuthorized_SiteAdminRequiredErrorNotAuthorizedError
NotAuthorized_SiteFilesAreImmutableErrorNotAuthorizedError
NotAuthorized_TwoFactorAuthenticationRequiredErrorNotAuthorizedError
NotAuthorized_UserIdWithoutSiteAdminErrorNotAuthorizedError
NotAuthorized_WriteAndBundlePermissionRequiredErrorNotAuthorizedError
NotAuthorized_WritePermissionRequiredErrorNotAuthorizedError
NotFound_ApiKeyNotFoundErrorNotFoundError
NotFound_BundlePathNotFoundErrorNotFoundError
NotFound_BundleRegistrationNotFoundErrorNotFoundError
NotFound_CodeNotFoundErrorNotFoundError
NotFound_FileNotFoundErrorNotFoundError
NotFound_FileUploadNotFoundErrorNotFoundError
NotFound_GroupNotFoundErrorNotFoundError
NotFound_InboxNotFoundErrorNotFoundError
NotFound_NestedNotFoundErrorNotFoundError
NotFound_PlanNotFoundErrorNotFoundError
NotFound_SiteNotFoundErrorNotFoundError
NotFound_UserNotFoundErrorNotFoundError
ProcessingFailure_AgentPushUpdateBlockedErrorProcessingFailureError
ProcessingFailure_AgentUnavailableErrorProcessingFailureError
ProcessingFailure_AiTaskCannotBeRunManuallyErrorProcessingFailureError
ProcessingFailure_AlreadyCompletedErrorProcessingFailureError
ProcessingFailure_AutomationCannotBeRunManuallyErrorProcessingFailureError
ProcessingFailure_BehaviorNotAllowedOnRemoteServerErrorProcessingFailureError
ProcessingFailure_BufferedUploadDisabledForThisDestinationErrorProcessingFailureError
ProcessingFailure_BundleOnlyAllowsPreviewsErrorProcessingFailureError
ProcessingFailure_BundleOperationRequiresSubfolderErrorProcessingFailureError
ProcessingFailure_ConfigurationLockedPathErrorProcessingFailureError
ProcessingFailure_CouldNotCreateParentErrorProcessingFailureError
ProcessingFailure_DestinationExistsErrorProcessingFailureError
ProcessingFailure_DestinationFolderLimitedErrorProcessingFailureError
ProcessingFailure_DestinationParentConflictErrorProcessingFailureError
ProcessingFailure_DestinationParentDoesNotExistErrorProcessingFailureError
ProcessingFailure_ExceededRuntimeLimitErrorProcessingFailureError
ProcessingFailure_ExpectationAlreadyHasOpenWindowErrorProcessingFailureError
ProcessingFailure_ExpectationNotManualTriggerErrorProcessingFailureError
ProcessingFailure_ExpiredPrivateKeyErrorProcessingFailureError
ProcessingFailure_ExpiredPublicKeyErrorProcessingFailureError
ProcessingFailure_ExportFailureErrorProcessingFailureError
ProcessingFailure_ExportNotReadyErrorProcessingFailureError
ProcessingFailure_FailedToChangePasswordErrorProcessingFailureError
ProcessingFailure_FileLockedErrorProcessingFailureError
ProcessingFailure_FileNotUploadedErrorProcessingFailureError
ProcessingFailure_FilePendingProcessingErrorProcessingFailureError
ProcessingFailure_FileProcessingErrorErrorProcessingFailureError
ProcessingFailure_FileTooBigToDecryptErrorProcessingFailureError
ProcessingFailure_FileTooBigToEncryptErrorProcessingFailureError
ProcessingFailure_FileUploadedToWrongRegionErrorProcessingFailureError
ProcessingFailure_FilenameTooLongErrorProcessingFailureError
ProcessingFailure_FolderLockedErrorProcessingFailureError
ProcessingFailure_FolderNotEmptyErrorProcessingFailureError
ProcessingFailure_HistoryUnavailableErrorProcessingFailureError
ProcessingFailure_InvalidBundleCodeErrorProcessingFailureError
ProcessingFailure_InvalidFileTypeErrorProcessingFailureError
ProcessingFailure_InvalidFilenameErrorProcessingFailureError
ProcessingFailure_InvalidPriorityColorErrorProcessingFailureError
ProcessingFailure_InvalidRangeErrorProcessingFailureError
ProcessingFailure_InvalidSiteErrorProcessingFailureError
ProcessingFailure_InvalidZipFileErrorProcessingFailureError
ProcessingFailure_MetadataNotSupportedOnRemotesErrorProcessingFailureError
ProcessingFailure_ModelSaveErrorErrorProcessingFailureError
ProcessingFailure_MultipleProcessingErrorsErrorProcessingFailureError
ProcessingFailure_PathTooLongErrorProcessingFailureError
ProcessingFailure_RecipientAlreadySharedErrorProcessingFailureError
ProcessingFailure_RemoteServerErrorErrorProcessingFailureError
ProcessingFailure_ResourceBelongsToParentSiteErrorProcessingFailureError
ProcessingFailure_ResourceLockedErrorProcessingFailureError
ProcessingFailure_SubfolderLockedErrorProcessingFailureError
ProcessingFailure_SyncInProgressErrorProcessingFailureError
ProcessingFailure_TwoFactorAuthenticationCodeAlreadySentErrorProcessingFailureError
ProcessingFailure_TwoFactorAuthenticationCountryBlacklistedErrorProcessingFailureError
ProcessingFailure_TwoFactorAuthenticationGeneralErrorErrorProcessingFailureError
ProcessingFailure_TwoFactorAuthenticationMethodUnsupportedErrorErrorProcessingFailureError
ProcessingFailure_TwoFactorAuthenticationUnsubscribedRecipientErrorProcessingFailureError
ProcessingFailure_UpdatesNotAllowedForRemotesErrorProcessingFailureError
RateLimited_DuplicateShareRecipientErrorRateLimitedError
RateLimited_ReauthenticationRateLimitedErrorRateLimitedError
RateLimited_TooManyConcurrentLoginsErrorRateLimitedError
RateLimited_TooManyConcurrentRequestsErrorRateLimitedError
RateLimited_TooManyLoginAttemptsErrorRateLimitedError
RateLimited_TooManyRequestsErrorRateLimitedError
RateLimited_TooManySharesErrorRateLimitedError
ServiceUnavailable_AutomationsUnavailableErrorServiceUnavailableError
ServiceUnavailable_MigrationInProgressErrorServiceUnavailableError
ServiceUnavailable_SiteDisabledErrorServiceUnavailableError
ServiceUnavailable_UploadsUnavailableErrorServiceUnavailableError
SiteConfiguration_AccountAlreadyExistsErrorSiteConfigurationError
SiteConfiguration_AccountOverdueErrorSiteConfigurationError
SiteConfiguration_NoAccountForSiteErrorSiteConfigurationError
SiteConfiguration_SiteWasRemovedErrorSiteConfigurationError
SiteConfiguration_TrialExpiredErrorSiteConfigurationError
SiteConfiguration_TrialLockedErrorSiteConfigurationError
SiteConfiguration_UserRequestsEnabledRequiredErrorSiteConfigurationError