Thrift module: Errors

ModuleServicesData typesConstants
Errors EDAMErrorCode
EDAMInvalidContactReason
EDAMInvalidContactsException
EDAMNotFoundException
EDAMSystemException
EDAMUserException

Enumerations

Enumeration: EDAMErrorCode

Numeric codes indicating the type of error that occurred on the service.
UNKNOWN
No information available about the error
BAD_DATA_FORMAT
The format of the request data was incorrect
PERMISSION_DENIED
Not permitted to perform action
INTERNAL_ERROR
Unexpected problem with the service
DATA_REQUIRED
A required parameter/field was absent
LIMIT_REACHED
Operation denied due to data model limit
QUOTA_REACHED
Operation denied due to user storage limit
INVALID_AUTH
Username and/or password incorrect
AUTH_EXPIRED
Authentication token expired
DATA_CONFLICT
Change denied due to data model conflict
ENML_VALIDATION
Content of submitted note was malformed
SHARD_UNAVAILABLE
Service shard with account data is temporarily down
LEN_TOO_SHORT
Operation denied due to data model limit, where something such as a string length was too short
LEN_TOO_LONG
Operation denied due to data model limit, where something such as a string length was too long
TOO_FEW
Operation denied due to data model limit, where there were too few of something.
TOO_MANY
Operation denied due to data model limit, where there were too many of something.
UNSUPPORTED_OPERATION
Operation denied because it is currently unsupported.
TAKEN_DOWN
Operation denied because access to the corresponding object is prohibited in response to a take-down notice.
RATE_LIMIT_REACHED
Operation denied because the calling application has reached its hourly API call limit for this user.
BUSINESS_SECURITY_LOGIN_REQUIRED
Access to a business account has been denied because the user must complete additional steps in order to comply with business security requirements.
DEVICE_LIMIT_REACHED
Operation denied because the user has exceeded their maximum allowed number of devices.


UNKNOWN1
BAD_DATA_FORMAT2
PERMISSION_DENIED3
INTERNAL_ERROR4
DATA_REQUIRED5
LIMIT_REACHED6
QUOTA_REACHED7
INVALID_AUTH8
AUTH_EXPIRED9
DATA_CONFLICT10
ENML_VALIDATION11
SHARD_UNAVAILABLE12
LEN_TOO_SHORT13
LEN_TOO_LONG14
TOO_FEW15
TOO_MANY16
UNSUPPORTED_OPERATION17
TAKEN_DOWN18
RATE_LIMIT_REACHED19
BUSINESS_SECURITY_LOGIN_REQUIRED20
DEVICE_LIMIT_REACHED21

Enumeration: EDAMInvalidContactReason

An enumeration that provides a reason for why a given contact was invalid, for example, as thrown via an EDAMInvalidContactsException.

BAD_ADDRESS
The contact information does not represent a valid address for a recipient. Clients should be validating and normalizing contacts, so receiving this error code commonly represents a client error.
DUPLICATE_CONTACT
If the method throwing this exception accepts a list of contacts, this error code indicates that the given contact is a duplicate of another contact in the list. Note that the server may clean up contacts, and that this cleanup occurs before checking for duplication. Receiving this error is commonly an indication of a client issue, since client should be normalizing contacts and removing duplicates. All instances that are duplicates are returned. For example, if a list of 5 contacts has the same e-mail address twice, the two conflicting e-mail address contacts will be returned.
NO_CONNECTION
Indicates that the given contact, an Evernote type contact, is not connected to the user for which the call is being made. It is possible that clients are out of sync with the server and should re-synchronize their identities and business user state. See Identity.userConnected for more information on user connections.

Note that if multiple reasons may apply, only one is returned. The precedence order is BAD_ADDRESS, DUPLICATE_CONTACT, NO_CONNECTION, meaning that if a contact has a bad address and is also duplicated, it will be returned as a BAD_ADDRESS.

BAD_ADDRESS0
DUPLICATE_CONTACT1
NO_CONNECTION2


Data structures

Exception: EDAMUserException

FieldType
errorCodeEDAMErrorCode
parameterstring

This exception is thrown by EDAM procedures when a call fails as a result of a problem that a caller may be able to resolve. For example, if the user attempts to add a note to their account which would exceed their storage quota, this type of exception may be thrown to indicate the source of the error so that they can choose an alternate action.

This exception would not be used for internal system errors that do not reflect user actions, but rather reflect a problem within the service that the user cannot resolve.

errorCode: The numeric code indicating the type of error that occurred. must be one of the values of EDAMErrorCode.

parameter: If the error applied to a particular input parameter, this will indicate which parameter.

Exception: EDAMSystemException

FieldType
errorCodeEDAMErrorCode
messagestring
rateLimitDurationi32

This exception is thrown by EDAM procedures when a call fails as a result of a problem in the service that could not be changed through caller action.

errorCode: The numeric code indicating the type of error that occurred. must be one of the values of EDAMErrorCode.

message: This may contain additional information about the error

rateLimitDuration: Indicates the minimum number of seconds that an application should expect subsequent API calls for this user to fail. The application should not retry API requests for the user until at least this many seconds have passed. Present only when errorCode is RATE_LIMIT_REACHED,

Exception: EDAMNotFoundException

FieldType
identifierstring
keystring

This exception is thrown by EDAM procedures when a caller asks to perform an operation on an object that does not exist. This may be thrown based on an invalid primary identifier (e.g. a bad GUID), or when the caller refers to an object by another unique identifier (e.g. a User's email address).

identifier: A description of the object that was not found on the server. For example, "Note.notebookGuid" when a caller attempts to create a note in a notebook that does not exist in the user's account.

key: The value passed from the client in the identifier, which was not found. For example, the GUID that was not found.

Exception: EDAMInvalidContactsException

FieldType
contactslist<Types.Contact>
parameterstring
reasonslist<EDAMInvalidContactReason>

An exception thrown when the provided Contacts fail validation. For instance, email domains could be invalid, phone numbers might not be valid for SMS, etc.

We will not provide individual reasons for each Contact's validation failure. The presence of the Contact in this exception means that the user must figure out how to take appropriate action to fix this Contact.

contacts
The list of Contacts that are considered invalid by the service

parameter
If the error applied to a particular input parameter, this will indicate which parameter.

reasons
If supplied, the list of reasons why the server considered a contact invalid, matching, in order, the list returned in the contacts field.