com.evernote.edam.notestore
Interface NoteStoreIface

All Known Subinterfaces:
NoteStore.Iface
All Known Implementing Classes:
NoteStore.Client

public interface NoteStoreIface


Method Summary
 AuthenticationResult authenticateToSharedNote(java.lang.String guid, java.lang.String noteKey, java.lang.String authenticationToken)
          Asks the service to produce an authentication token that can be used to access the contents of a single Note which was individually shared from someone's account.
 AuthenticationResult authenticateToSharedNotebook(java.lang.String shareKey, java.lang.String authenticationToken)
          Asks the service to produce an authentication token that can be used to access the contents of a shared notebook from someone else's account.
 Note copyNote(java.lang.String authenticationToken, java.lang.String noteGuid, java.lang.String toNotebookGuid)
          Performs a deep copy of the Note with the provided GUID 'noteGuid' into the Notebook with the provided GUID 'toNotebookGuid'.
 LinkedNotebook createLinkedNotebook(java.lang.String authenticationToken, LinkedNotebook linkedNotebook)
          Asks the service to make a linked notebook with the provided name, username of the owner and identifiers provided.
 Note createNote(java.lang.String authenticationToken, Note note)
          Asks the service to make a note with the provided set of information.
 Notebook createNotebook(java.lang.String authenticationToken, Notebook notebook)
          Asks the service to make a notebook with the provided name.
 SavedSearch createSearch(java.lang.String authenticationToken, SavedSearch search)
          Asks the service to make a saved search with a set of information.
 SharedNotebook createSharedNotebook(java.lang.String authenticationToken, SharedNotebook sharedNotebook)
          Used to construct a shared notebook object.
 Tag createTag(java.lang.String authenticationToken, Tag tag)
          Asks the service to make a tag with a set of information.
 int deleteNote(java.lang.String authenticationToken, java.lang.String guid)
          Moves the note into the trash.
 void emailNote(java.lang.String authenticationToken, NoteEmailParameters parameters)
          Attempts to send a single note to one or more email recipients.
 int expungeInactiveNotes(java.lang.String authenticationToken)
          Permanently removes all of the Notes that are currently marked as inactive.
 int expungeLinkedNotebook(java.lang.String authenticationToken, java.lang.String guid)
          Permanently expunges the linked notebook from the account.
 int expungeNote(java.lang.String authenticationToken, java.lang.String guid)
          Permanently removes a Note, and all of its Resources, from the service.
 int expungeNotebook(java.lang.String authenticationToken, java.lang.String guid)
          Permanently removes the notebook from the user's account.
 int expungeNotes(java.lang.String authenticationToken, java.util.List<java.lang.String> noteGuids)
          Permanently removes a list of Notes, and all of their Resources, from the service.
 int expungeSearch(java.lang.String authenticationToken, java.lang.String guid)
          Permanently deletes the saved search with the provided GUID, if present.
 int expungeSharedNotebooks(java.lang.String authenticationToken, java.util.List<java.lang.Long> sharedNotebookIds)
          Expunges the SharedNotebooks in the user's account using the SharedNotebook.id as the identifier.
 int expungeTag(java.lang.String authenticationToken, java.lang.String guid)
          Permanently deletes the tag with the provided GUID, if present.
 NoteCollectionCounts findNoteCounts(java.lang.String authenticationToken, NoteFilter filter, boolean withTrash)
          This function is used to determine how many notes are found for each notebook and tag in the user's account, given a current set of filter parameters that determine the current selection.
 int findNoteOffset(java.lang.String authenticationToken, NoteFilter filter, java.lang.String guid)
          Finds the position of a note within a sorted subset of all of the user's notes.
 NoteList findNotes(java.lang.String authenticationToken, NoteFilter filter, int offset, int maxNotes)
          DEPRECATED.
 NotesMetadataList findNotesMetadata(java.lang.String authenticationToken, NoteFilter filter, int offset, int maxNotes, NotesMetadataResultSpec resultSpec)
          Used to find the high-level information about a set of the notes from a user's account based on various criteria specified via a NoteFilter object.
 RelatedResult findRelated(java.lang.String authenticationToken, RelatedQuery query, RelatedResultSpec resultSpec)
          Identify related entities on the service, such as notes, notebooks, and tags related to notes or content.
 Notebook getDefaultNotebook(java.lang.String authenticationToken)
          Returns the notebook that should be used to store new notes in the user's account when no other notebooks are specified.
 SyncChunk getFilteredSyncChunk(java.lang.String authenticationToken, int afterUSN, int maxEntries, SyncChunkFilter filter)
          Asks the NoteStore to provide the state of the account in order of last modification.
 SyncChunk getLinkedNotebookSyncChunk(java.lang.String authenticationToken, LinkedNotebook linkedNotebook, int afterUSN, int maxEntries, boolean fullSyncOnly)
          Asks the NoteStore to provide information about the contents of a linked notebook that has been shared with the caller, or that is public to the world.
 SyncState getLinkedNotebookSyncState(java.lang.String authenticationToken, LinkedNotebook linkedNotebook)
          Asks the NoteStore to provide information about the status of a linked notebook that has been shared with the caller, or that is public to the world.
 Note getNote(java.lang.String authenticationToken, java.lang.String guid, boolean withContent, boolean withResourcesData, boolean withResourcesRecognition, boolean withResourcesAlternateData)
          Returns the current state of the note in the service with the provided GUID.
 LazyMap getNoteApplicationData(java.lang.String authenticationToken, java.lang.String guid)
          Get all of the application data for the note identified by GUID, with values returned within the LazyMap fullMap field.
 java.lang.String getNoteApplicationDataEntry(java.lang.String authenticationToken, java.lang.String guid, java.lang.String key)
          Get the value of a single entry in the applicationData map for the note identified by GUID.
 Notebook getNotebook(java.lang.String authenticationToken, java.lang.String guid)
          Returns the current state of the notebook with the provided GUID.
 java.lang.String getNoteContent(java.lang.String authenticationToken, java.lang.String guid)
          Returns XHTML contents of the note with the provided GUID.
 java.lang.String getNoteSearchText(java.lang.String authenticationToken, java.lang.String guid, boolean noteOnly, boolean tokenizeForIndexing)
          Returns a block of the extracted plain text contents of the note with the provided GUID.
 java.util.List<java.lang.String> getNoteTagNames(java.lang.String authenticationToken, java.lang.String guid)
          Returns a list of the names of the tags for the note with the provided guid.
 Note getNoteVersion(java.lang.String authenticationToken, java.lang.String noteGuid, int updateSequenceNum, boolean withResourcesData, boolean withResourcesRecognition, boolean withResourcesAlternateData)
          This can be used to retrieve a previous version of a Note after it has been updated within the service.
 Notebook getPublicNotebook(int userId, java.lang.String publicUri)
           Looks for a user account with the provided userId on this NoteStore shard and determines whether that account contains a public notebook with the given URI.
 Resource getResource(java.lang.String authenticationToken, java.lang.String guid, boolean withData, boolean withRecognition, boolean withAttributes, boolean withAlternateData)
          Returns the current state of the resource in the service with the provided GUID.
 byte[] getResourceAlternateData(java.lang.String authenticationToken, java.lang.String guid)
          If the Resource with the provided GUID has an alternate data representation (indicated via the Resource.alternateData field), then this request can be used to retrieve the binary contents of that alternate data file.
 LazyMap getResourceApplicationData(java.lang.String authenticationToken, java.lang.String guid)
          Get all of the application data for the Resource identified by GUID, with values returned within the LazyMap fullMap field.
 java.lang.String getResourceApplicationDataEntry(java.lang.String authenticationToken, java.lang.String guid, java.lang.String key)
          Get the value of a single entry in the applicationData map for the Resource identified by GUID.
 ResourceAttributes getResourceAttributes(java.lang.String authenticationToken, java.lang.String guid)
          Returns the set of attributes for the Resource with the provided GUID.
 Resource getResourceByHash(java.lang.String authenticationToken, java.lang.String noteGuid, byte[] contentHash, boolean withData, boolean withRecognition, boolean withAlternateData)
          Returns the current state of a resource, referenced by containing note GUID and resource content hash.
 byte[] getResourceData(java.lang.String authenticationToken, java.lang.String guid)
          Returns binary data of the resource with the provided GUID.
 byte[] getResourceRecognition(java.lang.String authenticationToken, java.lang.String guid)
          Returns the binary contents of the recognition index for the resource with the provided GUID.
 java.lang.String getResourceSearchText(java.lang.String authenticationToken, java.lang.String guid)
          Returns a block of the extracted plain text contents of the resource with the provided GUID.
 SavedSearch getSearch(java.lang.String authenticationToken, java.lang.String guid)
          Returns the current state of the search with the provided GUID.
 SharedNotebook getSharedNotebookByAuth(java.lang.String authenticationToken)
          This function is used to retrieve extended information about a shared notebook by a guest who has already authenticated to access that notebook.
 SyncChunk getSyncChunk(java.lang.String authenticationToken, int afterUSN, int maxEntries, boolean fullSyncOnly)
          DEPRECATED - use getFilteredSyncChunk.
 SyncState getSyncState(java.lang.String authenticationToken)
          Asks the NoteStore to provide information about the status of the user account corresponding to the provided authentication token.
 SyncState getSyncStateWithMetrics(java.lang.String authenticationToken, ClientUsageMetrics clientMetrics)
          Asks the NoteStore to provide information about the status of the user account corresponding to the provided authentication token.
 Tag getTag(java.lang.String authenticationToken, java.lang.String guid)
          Returns the current state of the Tag with the provided GUID.
 java.util.List<LinkedNotebook> listLinkedNotebooks(java.lang.String authenticationToken)
          Returns a list of linked notebooks
 java.util.List<Notebook> listNotebooks(java.lang.String authenticationToken)
          Returns a list of all of the notebooks in the account.
 java.util.List<NoteVersionId> listNoteVersions(java.lang.String authenticationToken, java.lang.String noteGuid)
          Returns a list of the prior versions of a particular note that are saved within the service.
 java.util.List<SavedSearch> listSearches(java.lang.String authenticationToken)
          Returns a list of the searches in the account.
 java.util.List<SharedNotebook> listSharedNotebooks(java.lang.String authenticationToken)
          Lists the collection of shared notebooks for all notebooks in the users account.
 java.util.List<Tag> listTags(java.lang.String authenticationToken)
          Returns a list of the tags in the account.
 java.util.List<Tag> listTagsByNotebook(java.lang.String authenticationToken, java.lang.String notebookGuid)
          Returns a list of the tags that are applied to at least one note within the provided notebook.
 int sendMessageToSharedNotebookMembers(java.lang.String authenticationToken, java.lang.String notebookGuid, java.lang.String messageText, java.util.List<java.lang.String> recipients)
          Send a reminder message to some or all of the email addresses that a notebook has been shared with.
 int setNoteApplicationDataEntry(java.lang.String authenticationToken, java.lang.String guid, java.lang.String key, java.lang.String value)
          Update, or create, an entry in the applicationData map for the note identified by guid.
 int setResourceApplicationDataEntry(java.lang.String authenticationToken, java.lang.String guid, java.lang.String key, java.lang.String value)
          Update, or create, an entry in the applicationData map for the Resource identified by guid.
 int setSharedNotebookRecipientSettings(java.lang.String authenticationToken, long sharedNotebookId, SharedNotebookRecipientSettings recipientSettings)
          Set values for the recipient settings associated with a shared notebook.
 java.lang.String shareNote(java.lang.String authenticationToken, java.lang.String guid)
          If this note is not already shared (via its own direct URL), then this will start sharing that note.
 void stopSharingNote(java.lang.String authenticationToken, java.lang.String guid)
          If this note is not already shared then this will stop sharing that note and invalidate its "Note Key", so any existing URLs to access that Note will stop working.
 int unsetNoteApplicationDataEntry(java.lang.String authenticationToken, java.lang.String guid, java.lang.String key)
          Remove an entry identified by 'key' from the applicationData map for the note identified by 'guid'.
 int unsetResourceApplicationDataEntry(java.lang.String authenticationToken, java.lang.String guid, java.lang.String key)
          Remove an entry identified by 'key' from the applicationData map for the Resource identified by 'guid'.
 void untagAll(java.lang.String authenticationToken, java.lang.String guid)
          Removes the provided tag from every note that is currently tagged with this tag.
 int updateLinkedNotebook(java.lang.String authenticationToken, LinkedNotebook linkedNotebook)
           
 Note updateNote(java.lang.String authenticationToken, Note note)
          Submit a set of changes to a note to the service.
 int updateNotebook(java.lang.String authenticationToken, Notebook notebook)
          Submits notebook changes to the service.
 int updateResource(java.lang.String authenticationToken, Resource resource)
          Submit a set of changes to a resource to the service.
 int updateSearch(java.lang.String authenticationToken, SavedSearch search)
          Submits search changes to the service.
 int updateSharedNotebook(java.lang.String authenticationToken, SharedNotebook sharedNotebook)
          Update a SharedNotebook object.
 int updateTag(java.lang.String authenticationToken, Tag tag)
          Submits tag changes to the service.
 

Method Detail

getSyncState

SyncState getSyncState(java.lang.String authenticationToken)
                       throws EDAMUserException,
                              EDAMSystemException,
                              com.evernote.thrift.TException
Asks the NoteStore to provide information about the status of the user account corresponding to the provided authentication token.

Throws:
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

getSyncStateWithMetrics

SyncState getSyncStateWithMetrics(java.lang.String authenticationToken,
                                  ClientUsageMetrics clientMetrics)
                                  throws EDAMUserException,
                                         EDAMSystemException,
                                         com.evernote.thrift.TException
Asks the NoteStore to provide information about the status of the user account corresponding to the provided authentication token. This version of 'getSyncState' allows the client to upload coarse- grained usage metrics to the service.

Parameters:
clientMetrics - see the documentation of the ClientUsageMetrics structure for an explanation of the fields that clients can pass to the service.
Throws:
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

getSyncChunk

SyncChunk getSyncChunk(java.lang.String authenticationToken,
                       int afterUSN,
                       int maxEntries,
                       boolean fullSyncOnly)
                       throws EDAMUserException,
                              EDAMSystemException,
                              com.evernote.thrift.TException
DEPRECATED - use getFilteredSyncChunk.

Throws:
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

getFilteredSyncChunk

SyncChunk getFilteredSyncChunk(java.lang.String authenticationToken,
                               int afterUSN,
                               int maxEntries,
                               SyncChunkFilter filter)
                               throws EDAMUserException,
                                      EDAMSystemException,
                                      com.evernote.thrift.TException
Asks the NoteStore to provide the state of the account in order of last modification. This request retrieves one block of the server's state so that a client can make several small requests against a large account rather than getting the entire state in one big message. This call gives fine-grained control of the data that will be received by a client by omitting data elements that a client doesn't need. This may reduce network traffic and sync times.

Parameters:
afterUSN - The client can pass this value to ask only for objects that have been updated after a certain point. This allows the client to receive updates after its last checkpoint rather than doing a full synchronization on every pass. The default value of "0" indicates that the client wants to get objects from the start of the account.
maxEntries - The maximum number of modified objects that should be returned in the result SyncChunk. This can be used to limit the size of each individual message to be friendly for network transfer.
filter - The caller must set some of the flags in this structure to specify which data types should be returned during the synchronization. See the SyncChunkFilter structure for information on each flag.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "afterUSN" - if negative
  • BAD_DATA_FORMAT "maxEntries" - if less than 1
EDAMSystemException
com.evernote.thrift.TException

getLinkedNotebookSyncState

SyncState getLinkedNotebookSyncState(java.lang.String authenticationToken,
                                     LinkedNotebook linkedNotebook)
                                     throws EDAMUserException,
                                            EDAMSystemException,
                                            EDAMNotFoundException,
                                            com.evernote.thrift.TException
Asks the NoteStore to provide information about the status of a linked notebook that has been shared with the caller, or that is public to the world. This will return a result that is similar to getSyncState, but may omit SyncState.uploaded if the caller doesn't have permission to write to the linked notebook. This function must be called on the shard that owns the referenced notebook. (I.e. the shardId in /shard/shardId/edam/note must be the same as LinkedNotebook.shardId.)

Parameters:
authenticationToken - This should be an authenticationToken for the guest who has received the invitation to the share. (I.e. this should not be the result of NoteStore.authenticateToSharedNotebook)
linkedNotebook - This structure should contain identifying information and permissions to access the notebook in question.
Throws:
EDAMUserException
EDAMSystemException
EDAMNotFoundException
com.evernote.thrift.TException

getLinkedNotebookSyncChunk

SyncChunk getLinkedNotebookSyncChunk(java.lang.String authenticationToken,
                                     LinkedNotebook linkedNotebook,
                                     int afterUSN,
                                     int maxEntries,
                                     boolean fullSyncOnly)
                                     throws EDAMUserException,
                                            EDAMSystemException,
                                            EDAMNotFoundException,
                                            com.evernote.thrift.TException
Asks the NoteStore to provide information about the contents of a linked notebook that has been shared with the caller, or that is public to the world. This will return a result that is similar to getSyncChunk, but will only contain entries that are visible to the caller. I.e. only that particular Notebook will be visible, along with its Notes, and Tags on those Notes. This function must be called on the shard that owns the referenced notebook. (I.e. the shardId in /shard/shardId/edam/note must be the same as LinkedNotebook.shardId.)

Parameters:
authenticationToken - This should be an authenticationToken for the guest who has received the invitation to the share. (I.e. this should not be the result of NoteStore.authenticateToSharedNotebook)
linkedNotebook - This structure should contain identifying information and permissions to access the notebook in question. This must contain the valid fields for either a shared notebook (e.g. shareKey) or a public notebook (e.g. username, uri)
afterUSN - The client can pass this value to ask only for objects that have been updated after a certain point. This allows the client to receive updates after its last checkpoint rather than doing a full synchronization on every pass. The default value of "0" indicates that the client wants to get objects from the start of the account.
maxEntries - The maximum number of modified objects that should be returned in the result SyncChunk. This can be used to limit the size of each individual message to be friendly for network transfer. Applications should not request more than 256 objects at a time, and must handle the case where the service returns less than the requested number of objects in a given request even though more objects are available on the service.
fullSyncOnly - If true, then the client only wants initial data for a full sync. In this case, the service will not return any expunged objects, and will not return any Resources, since these are also provided in their corresponding Notes.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "afterUSN" - if negative
  • BAD_DATA_FORMAT "maxEntries" - if less than 1
EDAMNotFoundException -
  • "LinkedNotebook" - if the provided information doesn't match any valid notebook
  • "LinkedNotebook.uri" - if the provided public URI doesn't match any valid notebook
  • "SharedNotebook.id" - if the provided information indicates a shared notebook that no longer exists
EDAMSystemException
com.evernote.thrift.TException

listNotebooks

java.util.List<Notebook> listNotebooks(java.lang.String authenticationToken)
                                       throws EDAMUserException,
                                              EDAMSystemException,
                                              com.evernote.thrift.TException
Returns a list of all of the notebooks in the account.

Throws:
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

getNotebook

Notebook getNotebook(java.lang.String authenticationToken,
                     java.lang.String guid)
                     throws EDAMUserException,
                            EDAMSystemException,
                            EDAMNotFoundException,
                            com.evernote.thrift.TException
Returns the current state of the notebook with the provided GUID. The notebook may be active or deleted (but not expunged).

Parameters:
guid - The GUID of the notebook to be retrieved.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Notebook.guid" - if the parameter is missing
  • PERMISSION_DENIED "Notebook" - private notebook, user doesn't own
EDAMNotFoundException -
  • "Notebook.guid" - tag not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getDefaultNotebook

Notebook getDefaultNotebook(java.lang.String authenticationToken)
                            throws EDAMUserException,
                                   EDAMSystemException,
                                   com.evernote.thrift.TException
Returns the notebook that should be used to store new notes in the user's account when no other notebooks are specified.

Throws:
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

createNotebook

Notebook createNotebook(java.lang.String authenticationToken,
                        Notebook notebook)
                        throws EDAMUserException,
                               EDAMSystemException,
                               com.evernote.thrift.TException
Asks the service to make a notebook with the provided name.

Parameters:
notebook - The desired fields for the notebook must be provided on this object. The name of the notebook must be set, and either the 'active' or 'defaultNotebook' fields may be set by the client at creation. If a notebook exists in the account with the same name (via case-insensitive compare), this will throw an EDAMUserException.
Returns:
The newly created Notebook. The server-side GUID will be saved in this object's 'guid' field.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Notebook.name" - invalid length or pattern
  • BAD_DATA_FORMAT "Notebook.stack" - invalid length or pattern
  • BAD_DATA_FORMAT "Publishing.uri" - if publishing set but bad uri
  • BAD_DATA_FORMAT "Publishing.publicDescription" - if too long
  • DATA_CONFLICT "Notebook.name" - name already in use
  • DATA_CONFLICT "Publishing.uri" - if URI already in use
  • DATA_REQUIRED "Publishing.uri" - if publishing set but uri missing
  • LIMIT_REACHED "Notebook" - at max number of notebooks
EDAMSystemException
com.evernote.thrift.TException

updateNotebook

int updateNotebook(java.lang.String authenticationToken,
                   Notebook notebook)
                   throws EDAMUserException,
                          EDAMSystemException,
                          EDAMNotFoundException,
                          com.evernote.thrift.TException
Submits notebook changes to the service. The provided data must include the notebook's guid field for identification.

Parameters:
notebook - The notebook object containing the requested changes.
Returns:
The Update Sequence Number for this change within the account.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Notebook.name" - invalid length or pattern
  • BAD_DATA_FORMAT "Notebook.stack" - invalid length or pattern
  • BAD_DATA_FORMAT "Publishing.uri" - if publishing set but bad uri
  • BAD_DATA_FORMAT "Publishing.publicDescription" - if too long
  • DATA_CONFLICT "Notebook.name" - name already in use
  • DATA_CONFLICT "Publishing.uri" - if URI already in use
  • DATA_REQUIRED "Publishing.uri" - if publishing set but uri missing
EDAMNotFoundException -
  • "Notebook.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

expungeNotebook

int expungeNotebook(java.lang.String authenticationToken,
                    java.lang.String guid)
                    throws EDAMUserException,
                           EDAMSystemException,
                           EDAMNotFoundException,
                           com.evernote.thrift.TException
Permanently removes the notebook from the user's account. After this action, the notebook is no longer available for undeletion, etc. If the notebook contains any Notes, they will be moved to the current default notebook and moved into the trash (i.e. Note.active=false).

NOTE: This function is generally not available to third party applications. Calls will result in an EDAMUserException with the error code PERMISSION_DENIED.

Parameters:
guid - The GUID of the notebook to delete.
Returns:
The Update Sequence Number for this change within the account.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Notebook.guid" - if the parameter is missing
  • LIMIT_REACHED "Notebook" - trying to expunge the last Notebook
  • PERMISSION_DENIED "Notebook" - private notebook, user doesn't own
EDAMSystemException
EDAMNotFoundException
com.evernote.thrift.TException

listTags

java.util.List<Tag> listTags(java.lang.String authenticationToken)
                             throws EDAMUserException,
                                    EDAMSystemException,
                                    com.evernote.thrift.TException
Returns a list of the tags in the account. Evernote does not support the undeletion of tags, so this will only include active tags.

Throws:
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

listTagsByNotebook

java.util.List<Tag> listTagsByNotebook(java.lang.String authenticationToken,
                                       java.lang.String notebookGuid)
                                       throws EDAMUserException,
                                              EDAMSystemException,
                                              EDAMNotFoundException,
                                              com.evernote.thrift.TException
Returns a list of the tags that are applied to at least one note within the provided notebook. If the notebook is public, the authenticationToken may be ignored.

Parameters:
notebookGuid - the GUID of the notebook to use to find tags
Throws:
EDAMNotFoundException -
  • "Notebook.guid" - notebook not found by GUID
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

getTag

Tag getTag(java.lang.String authenticationToken,
           java.lang.String guid)
           throws EDAMUserException,
                  EDAMSystemException,
                  EDAMNotFoundException,
                  com.evernote.thrift.TException
Returns the current state of the Tag with the provided GUID.

Parameters:
guid - The GUID of the tag to be retrieved.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Tag.guid" - if the parameter is missing
  • PERMISSION_DENIED "Tag" - private Tag, user doesn't own
EDAMNotFoundException -
  • "Tag.guid" - tag not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

createTag

Tag createTag(java.lang.String authenticationToken,
              Tag tag)
              throws EDAMUserException,
                     EDAMSystemException,
                     EDAMNotFoundException,
                     com.evernote.thrift.TException
Asks the service to make a tag with a set of information.

Parameters:
tag - The desired list of fields for the tag are specified in this object. The caller must specify the tag name, and may provide the parentGUID.
Returns:
The newly created Tag. The server-side GUID will be saved in this object.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Tag.name" - invalid length or pattern
  • BAD_DATA_FORMAT "Tag.parentGuid" - malformed GUID
  • DATA_CONFLICT "Tag.name" - name already in use
  • LIMIT_REACHED "Tag" - at max number of tags
EDAMNotFoundException -
  • "Tag.parentGuid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

updateTag

int updateTag(java.lang.String authenticationToken,
              Tag tag)
              throws EDAMUserException,
                     EDAMSystemException,
                     EDAMNotFoundException,
                     com.evernote.thrift.TException
Submits tag changes to the service. The provided data must include the tag's guid field for identification. The service will apply updates to the following tag fields: name, parentGuid

Parameters:
tag - The tag object containing the requested changes.
Returns:
The Update Sequence Number for this change within the account.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Tag.name" - invalid length or pattern
  • BAD_DATA_FORMAT "Tag.parentGuid" - malformed GUID
  • DATA_CONFLICT "Tag.name" - name already in use
  • DATA_CONFLICT "Tag.parentGuid" - can't set parent: circular
  • PERMISSION_DENIED "Tag" - user doesn't own tag
EDAMNotFoundException -
  • "Tag.guid" - tag not found, by GUID
  • "Tag.parentGuid" - parent not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

untagAll

void untagAll(java.lang.String authenticationToken,
              java.lang.String guid)
              throws EDAMUserException,
                     EDAMSystemException,
                     EDAMNotFoundException,
                     com.evernote.thrift.TException
Removes the provided tag from every note that is currently tagged with this tag. If this operation is successful, the tag will still be in the account, but it will not be tagged on any notes. This function is not indended for use by full synchronizing clients, since it does not provide enough result information to the client to reconcile the local state without performing a follow-up sync from the service. This is intended for "thin clients" that need to efficiently support this as a UI operation.

Parameters:
guid - The GUID of the tag to remove from all notes.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Tag.guid" - if the guid parameter is missing
  • PERMISSION_DENIED "Tag" - user doesn't own tag
EDAMNotFoundException -
  • "Tag.guid" - tag not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

expungeTag

int expungeTag(java.lang.String authenticationToken,
               java.lang.String guid)
               throws EDAMUserException,
                      EDAMSystemException,
                      EDAMNotFoundException,
                      com.evernote.thrift.TException
Permanently deletes the tag with the provided GUID, if present.

NOTE: This function is generally not available to third party applications. Calls will result in an EDAMUserException with the error code PERMISSION_DENIED.

Parameters:
guid - The GUID of the tag to delete.
Returns:
The Update Sequence Number for this change within the account.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Tag.guid" - if the guid parameter is missing
  • PERMISSION_DENIED "Tag" - user doesn't own tag
EDAMNotFoundException -
  • "Tag.guid" - tag not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

listSearches

java.util.List<SavedSearch> listSearches(java.lang.String authenticationToken)
                                         throws EDAMUserException,
                                                EDAMSystemException,
                                                com.evernote.thrift.TException
Returns a list of the searches in the account. Evernote does not support the undeletion of searches, so this will only include active searches.

Throws:
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

getSearch

SavedSearch getSearch(java.lang.String authenticationToken,
                      java.lang.String guid)
                      throws EDAMUserException,
                             EDAMSystemException,
                             EDAMNotFoundException,
                             com.evernote.thrift.TException
Returns the current state of the search with the provided GUID.

Parameters:
guid - The GUID of the search to be retrieved.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "SavedSearch.guid" - if the parameter is missing
  • PERMISSION_DENIED "SavedSearch" - private Tag, user doesn't own
  • EDAMNotFoundException -
    • "SavedSearch.guid" - not found, by GUID
    EDAMSystemException
    com.evernote.thrift.TException

createSearch

SavedSearch createSearch(java.lang.String authenticationToken,
                         SavedSearch search)
                         throws EDAMUserException,
                                EDAMSystemException,
                                com.evernote.thrift.TException
Asks the service to make a saved search with a set of information.

Parameters:
search - The desired list of fields for the search are specified in this object. The caller must specify the name and query for the search, and may optionally specify a search scope. The SavedSearch.format field is ignored by the service.
Returns:
The newly created SavedSearch. The server-side GUID will be saved in this object.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "SavedSearch.name" - invalid length or pattern
  • BAD_DATA_FORMAT "SavedSearch.query" - invalid length
  • DATA_CONFLICT "SavedSearch.name" - name already in use
  • LIMIT_REACHED "SavedSearch" - at max number of searches
EDAMSystemException
com.evernote.thrift.TException

updateSearch

int updateSearch(java.lang.String authenticationToken,
                 SavedSearch search)
                 throws EDAMUserException,
                        EDAMSystemException,
                        EDAMNotFoundException,
                        com.evernote.thrift.TException
Submits search changes to the service. The provided data must include the search's guid field for identification. The service will apply updates to the following search fields: name, query, and scope.

Parameters:
search - The search object containing the requested changes.
Returns:
The Update Sequence Number for this change within the account.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "SavedSearch.name" - invalid length or pattern
  • BAD_DATA_FORMAT "SavedSearch.query" - invalid length
  • DATA_CONFLICT "SavedSearch.name" - name already in use
  • PERMISSION_DENIED "SavedSearch" - user doesn't own tag
EDAMNotFoundException -
  • "SavedSearch.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

expungeSearch

int expungeSearch(java.lang.String authenticationToken,
                  java.lang.String guid)
                  throws EDAMUserException,
                         EDAMSystemException,
                         EDAMNotFoundException,
                         com.evernote.thrift.TException
Permanently deletes the saved search with the provided GUID, if present.

NOTE: This function is generally not available to third party applications. Calls will result in an EDAMUserException with the error code PERMISSION_DENIED.

Parameters:
guid - The GUID of the search to delete.
Returns:
The Update Sequence Number for this change within the account.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "SavedSearch.guid" - if the guid parameter is empty
  • PERMISSION_DENIED "SavedSearch" - user doesn't own
EDAMNotFoundException -
  • "SavedSearch.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

findNotes

NoteList findNotes(java.lang.String authenticationToken,
                   NoteFilter filter,
                   int offset,
                   int maxNotes)
                   throws EDAMUserException,
                          EDAMSystemException,
                          EDAMNotFoundException,
                          com.evernote.thrift.TException
DEPRECATED. Use findNotesMetadata.

Throws:
EDAMUserException
EDAMSystemException
EDAMNotFoundException
com.evernote.thrift.TException

findNoteOffset

int findNoteOffset(java.lang.String authenticationToken,
                   NoteFilter filter,
                   java.lang.String guid)
                   throws EDAMUserException,
                          EDAMSystemException,
                          EDAMNotFoundException,
                          com.evernote.thrift.TException
Finds the position of a note within a sorted subset of all of the user's notes. This may be useful for thin clients that are displaying a paginated listing of a large account, which need to know where a particular note sits in the list without retrieving all notes first.

Parameters:
authenticationToken - Must be a valid token for the user's account unless the NoteFilter 'notebookGuid' is the GUID of a public notebook.
filter - The list of criteria that will constrain the notes to be returned.
guid - The GUID of the note to be retrieved.
Returns:
If the note with the provided GUID is found within the matching note list, this will return the offset of that note within that list (where the first offset is 0). If the note is not found within the set of notes, this will return -1.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "offset" - not between 0 and EDAM_USER_NOTES_MAX
  • BAD_DATA_FORMAT "maxNotes" - not between 0 and EDAM_USER_NOTES_MAX
  • BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed
  • BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed
  • BAD_DATA_FORMAT "NoteFilter.words" - if search string too long
  • EDAMNotFoundException -
    • "Notebook.guid" - not found, by GUID
    • "Note.guid" - not found, by GUID
    EDAMSystemException
    com.evernote.thrift.TException

findNotesMetadata

NotesMetadataList findNotesMetadata(java.lang.String authenticationToken,
                                    NoteFilter filter,
                                    int offset,
                                    int maxNotes,
                                    NotesMetadataResultSpec resultSpec)
                                    throws EDAMUserException,
                                           EDAMSystemException,
                                           EDAMNotFoundException,
                                           com.evernote.thrift.TException
Used to find the high-level information about a set of the notes from a user's account based on various criteria specified via a NoteFilter object.

Web applications that wish to periodically check for new content in a user's Evernote account should consider using webhooks instead of polling this API. See https://dev.evernote.com/documentation/cloud/chapters/polling_notification.php for more information.

Parameters:
authenticationToken - Must be a valid token for the user's account unless the NoteFilter 'notebookGuid' is the GUID of a public notebook.
filter - The list of criteria that will constrain the notes to be returned.
offset - The numeric index of the first note to show within the sorted results. The numbering scheme starts with "0". This can be used for pagination.
maxNotes - The mximum notes to return in this query. The service will return a set of notes that is no larger than this number, but may return fewer notes if needed. The NoteList.totalNotes field in the return value will indicate whether there are more values available after the returned set.
resultSpec - This specifies which information should be returned for each matching Note. The fields on this structure can be used to eliminate data that the client doesn't need, which will reduce the time and bandwidth to receive and process the reply.
Returns:
The list of notes that match the criteria.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "offset" - not between 0 and EDAM_USER_NOTES_MAX
  • BAD_DATA_FORMAT "maxNotes" - not between 0 and EDAM_USER_NOTES_MAX
  • BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed
  • BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed
  • BAD_DATA_FORMAT "NoteFilter.words" - if search string too long
EDAMNotFoundException -
  • "Notebook.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

findNoteCounts

NoteCollectionCounts findNoteCounts(java.lang.String authenticationToken,
                                    NoteFilter filter,
                                    boolean withTrash)
                                    throws EDAMUserException,
                                           EDAMSystemException,
                                           EDAMNotFoundException,
                                           com.evernote.thrift.TException
This function is used to determine how many notes are found for each notebook and tag in the user's account, given a current set of filter parameters that determine the current selection. This function will return a structure that gives the note count for each notebook and tag that has at least one note under the requested filter. Any notebook or tag that has zero notes in the filtered set will not be listed in the reply to this function (so they can be assumed to be 0).

Parameters:
authenticationToken - Must be a valid token for the user's account unless the NoteFilter 'notebookGuid' is the GUID of a public notebook.
filter - The note selection filter that is currently being applied. The note counts are to be calculated with this filter applied to the total set of notes in the user's account.
withTrash - If true, then the NoteCollectionCounts.trashCount will be calculated and supplied in the reply. Otherwise, the trash value will be omitted.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed
  • BAD_DATA_FORMAT "NoteFilter.notebookGuids" - if any are malformed
  • BAD_DATA_FORMAT "NoteFilter.words" - if search string too long
  • EDAMNotFoundException -
    • "Notebook.guid" - not found, by GUID
    EDAMSystemException
    com.evernote.thrift.TException

getNote

Note getNote(java.lang.String authenticationToken,
             java.lang.String guid,
             boolean withContent,
             boolean withResourcesData,
             boolean withResourcesRecognition,
             boolean withResourcesAlternateData)
             throws EDAMUserException,
                    EDAMSystemException,
                    EDAMNotFoundException,
                    com.evernote.thrift.TException
Returns the current state of the note in the service with the provided GUID. The ENML contents of the note will only be provided if the 'withContent' parameter is true. The service will include the meta-data for each resource in the note, but the binary contents of the resources and their recognition data will be omitted. If the Note is found in a public notebook, the authenticationToken will be ignored (so it could be an empty string). The applicationData fields are returned as keysOnly.

Parameters:
guid - The GUID of the note to be retrieved.
withContent - If true, the note will include the ENML contents of its 'content' field.
withResourcesData - If true, any Resource elements in this Note will include the binary contents of their 'data' field's body.
withResourcesRecognition - If true, any Resource elements will include the binary contents of the 'recognition' field's body if recognition data is present.
withResourcesAlternateData - If true, any Resource elements in this Note will include the binary contents of their 'alternateData' fields' body, if an alternate form is present.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  • PERMISSION_DENIED "Note" - private note, user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getNoteApplicationData

LazyMap getNoteApplicationData(java.lang.String authenticationToken,
                               java.lang.String guid)
                               throws EDAMUserException,
                                      EDAMSystemException,
                                      EDAMNotFoundException,
                                      com.evernote.thrift.TException
Get all of the application data for the note identified by GUID, with values returned within the LazyMap fullMap field. If there are no applicationData entries, then a LazyMap with an empty fullMap will be returned. If your application only needs to fetch its own applicationData entry, use getNoteApplicationDataEntry instead.

Throws:
EDAMUserException
EDAMSystemException
EDAMNotFoundException
com.evernote.thrift.TException

getNoteApplicationDataEntry

java.lang.String getNoteApplicationDataEntry(java.lang.String authenticationToken,
                                             java.lang.String guid,
                                             java.lang.String key)
                                             throws EDAMUserException,
                                                    EDAMSystemException,
                                                    EDAMNotFoundException,
                                                    com.evernote.thrift.TException
Get the value of a single entry in the applicationData map for the note identified by GUID.

Throws:
EDAMNotFoundException -
  • "Note.guid" - note not found, by GUID
  • "NoteAttributes.applicationData.key" - note not found, by key
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

setNoteApplicationDataEntry

int setNoteApplicationDataEntry(java.lang.String authenticationToken,
                                java.lang.String guid,
                                java.lang.String key,
                                java.lang.String value)
                                throws EDAMUserException,
                                       EDAMSystemException,
                                       EDAMNotFoundException,
                                       com.evernote.thrift.TException
Update, or create, an entry in the applicationData map for the note identified by guid.

Throws:
EDAMUserException
EDAMSystemException
EDAMNotFoundException
com.evernote.thrift.TException

unsetNoteApplicationDataEntry

int unsetNoteApplicationDataEntry(java.lang.String authenticationToken,
                                  java.lang.String guid,
                                  java.lang.String key)
                                  throws EDAMUserException,
                                         EDAMSystemException,
                                         EDAMNotFoundException,
                                         com.evernote.thrift.TException
Remove an entry identified by 'key' from the applicationData map for the note identified by 'guid'. Silently ignores an unset of a non-existing key.

Throws:
EDAMUserException
EDAMSystemException
EDAMNotFoundException
com.evernote.thrift.TException

getNoteContent

java.lang.String getNoteContent(java.lang.String authenticationToken,
                                java.lang.String guid)
                                throws EDAMUserException,
                                       EDAMSystemException,
                                       EDAMNotFoundException,
                                       com.evernote.thrift.TException
Returns XHTML contents of the note with the provided GUID. If the Note is found in a public notebook, the authenticationToken will be ignored (so it could be an empty string).

Parameters:
guid - The GUID of the note to be retrieved.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  • PERMISSION_DENIED "Note" - private note, user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getNoteSearchText

java.lang.String getNoteSearchText(java.lang.String authenticationToken,
                                   java.lang.String guid,
                                   boolean noteOnly,
                                   boolean tokenizeForIndexing)
                                   throws EDAMUserException,
                                          EDAMSystemException,
                                          EDAMNotFoundException,
                                          com.evernote.thrift.TException
Returns a block of the extracted plain text contents of the note with the provided GUID. This text can be indexed for search purposes by a light client that doesn't have capabilities to extract all of the searchable text content from the note and its resources. If the Note is found in a public notebook, the authenticationToken will be ignored (so it could be an empty string).

Parameters:
guid - The GUID of the note to be retrieved.
noteOnly - If true, this will only return the text extracted from the ENML contents of the note itself. If false, this will also include the extracted text from any text-bearing resources (PDF, recognized images)
tokenizeForIndexing - If true, this will break the text into cleanly separated and sanitized tokens. If false, this will return the more raw text extraction, with its original punctuation, capitalization, spacing, etc.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  • PERMISSION_DENIED "Note" - private note, user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getResourceSearchText

java.lang.String getResourceSearchText(java.lang.String authenticationToken,
                                       java.lang.String guid)
                                       throws EDAMUserException,
                                              EDAMSystemException,
                                              EDAMNotFoundException,
                                              com.evernote.thrift.TException
Returns a block of the extracted plain text contents of the resource with the provided GUID. This text can be indexed for search purposes by a light client that doesn't have capability to extract all of the searchable text content from a resource. If the Resource is found in a public notebook, the authenticationToken will be ignored (so it could be an empty string).

Parameters:
guid - The GUID of the resource to be retrieved.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  • PERMISSION_DENIED "Resource" - private resource, user doesn't own
EDAMNotFoundException -
  • "Resource.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getNoteTagNames

java.util.List<java.lang.String> getNoteTagNames(java.lang.String authenticationToken,
                                                 java.lang.String guid)
                                                 throws EDAMUserException,
                                                        EDAMSystemException,
                                                        EDAMNotFoundException,
                                                        com.evernote.thrift.TException
Returns a list of the names of the tags for the note with the provided guid. This can be used with authentication to get the tags for a user's own note, or can be used without valid authentication to retrieve the names of the tags for a note in a public notebook.

Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  • PERMISSION_DENIED "Note" - private note, user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

createNote

Note createNote(java.lang.String authenticationToken,
                Note note)
                throws EDAMUserException,
                       EDAMSystemException,
                       EDAMNotFoundException,
                       com.evernote.thrift.TException
Asks the service to make a note with the provided set of information.

Parameters:
note - A Note object containing the desired fields to be populated on the service.
Returns:
The newly created Note from the service. The server-side GUIDs for the Note and any Resources will be saved in this object.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.title" - invalid length or pattern
  • BAD_DATA_FORMAT "Note.content" - invalid length for ENML content
  • BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type
  • BAD_DATA_FORMAT "NoteAttributes.*" - bad resource string
  • BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string
  • DATA_CONFLICT "Note.deleted" - deleted time set on active note
  • DATA_REQUIRED "Resource.data" - resource data body missing
  • ENML_VALIDATION "*" - note content doesn't validate against DTD
  • LIMIT_REACHED "Note" - at max number per account
  • LIMIT_REACHED "Note.size" - total note size too large
  • LIMIT_REACHED "Note.resources" - too many resources on Note
  • LIMIT_REACHED "Note.tagGuids" - too many Tags on Note
  • LIMIT_REACHED "Resource.data.size" - resource too large
  • LIMIT_REACHED "NoteAttribute.*" - attribute string too long
  • LIMIT_REACHED "ResourceAttribute.*" - attribute string too long
  • PERMISSION_DENIED "Note.notebookGuid" - NB not owned by user
  • QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota
  • BAD_DATA_FORMAT "Tag.name" - Note.tagNames was provided, and one of the specified tags had an invalid length or pattern
  • LIMIT_REACHED "Tag" - Note.tagNames was provided, and the required new tags would exceed the maximum number per account
EDAMNotFoundException -
  • "Note.notebookGuid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

updateNote

Note updateNote(java.lang.String authenticationToken,
                Note note)
                throws EDAMUserException,
                       EDAMSystemException,
                       EDAMNotFoundException,
                       com.evernote.thrift.TException
Submit a set of changes to a note to the service. The provided data must include the note's guid field for identification. The note's title must also be set.

Parameters:
note - A Note object containing the desired fields to be populated on the service. With the exception of the note's title and guid, fields that are not being changed do not need to be set. If the content is not being modified, note.content should be left unset. If the list of resources is not being modified, note.resources should be left unset.
Returns:
The metadata (no contents) for the Note on the server after the update
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.title" - invalid length or pattern
  • BAD_DATA_FORMAT "Note.content" - invalid length for ENML body
  • BAD_DATA_FORMAT "NoteAttributes.*" - bad resource string
  • BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string
  • BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type
  • DATA_CONFLICT "Note.deleted" - deleted time set on active note
  • DATA_REQUIRED "Resource.data" - resource data body missing
  • ENML_VALIDATION "*" - note content doesn't validate against DTD
  • LIMIT_REACHED "Note.tagGuids" - too many Tags on Note
  • LIMIT_REACHED "Note.resources" - too many resources on Note
  • LIMIT_REACHED "Note.size" - total note size too large
  • LIMIT_REACHED "Resource.data.size" - resource too large
  • LIMIT_REACHED "NoteAttribute.*" - attribute string too long
  • LIMIT_REACHED "ResourceAttribute.*" - attribute string too long
  • PERMISSION_DENIED "Note" - user doesn't own
  • PERMISSION_DENIED "Note.notebookGuid" - user doesn't own destination
  • QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota
  • BAD_DATA_FORMAT "Tag.name" - Note.tagNames was provided, and one of the specified tags had an invalid length or pattern
  • LIMIT_REACHED "Tag" - Note.tagNames was provided, and the required new tags would exceed the maximum number per account
EDAMNotFoundException -
  • "Note.guid" - note not found, by GUID
  • "Note.notebookGuid" - if notebookGuid provided, but not found
EDAMSystemException
com.evernote.thrift.TException

deleteNote

int deleteNote(java.lang.String authenticationToken,
               java.lang.String guid)
               throws EDAMUserException,
                      EDAMSystemException,
                      EDAMNotFoundException,
                      com.evernote.thrift.TException
Moves the note into the trash. The note may still be undeleted, unless it is expunged. This is equivalent to calling updateNote() after setting Note.active = false

Parameters:
guid - The GUID of the note to delete.
Returns:
The Update Sequence Number for this change within the account.
Throws:
EDAMUserException -
  • PERMISSION_DENIED "Note" - user doesn't have permission to update the note.
EDAMUserException -
  • DATA_CONFLICT "Note.guid" - the note is already deleted
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

expungeNote

int expungeNote(java.lang.String authenticationToken,
                java.lang.String guid)
                throws EDAMUserException,
                       EDAMSystemException,
                       EDAMNotFoundException,
                       com.evernote.thrift.TException
Permanently removes a Note, and all of its Resources, from the service.

NOTE: This function is not available to third party applications. Calls will result in an EDAMUserException with the error code PERMISSION_DENIED.

Parameters:
guid - The GUID of the note to delete.
Returns:
The Update Sequence Number for this change within the account.
Throws:
EDAMUserException -
  • PERMISSION_DENIED "Note" - user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

expungeNotes

int expungeNotes(java.lang.String authenticationToken,
                 java.util.List<java.lang.String> noteGuids)
                 throws EDAMUserException,
                        EDAMSystemException,
                        EDAMNotFoundException,
                        com.evernote.thrift.TException
Permanently removes a list of Notes, and all of their Resources, from the service. This should be invoked with a small number of Note GUIDs (e.g. 100 or less) on each call. To expunge a larger number of notes, call this method multiple times. This should also be used to reduce the number of Notes in a notebook before calling expungeNotebook() or in the trash before calling expungeInactiveNotes(), since these calls may be prohibitively slow if there are more than a few hundred notes. If an exception is thrown for any of the GUIDs, then none of the notes will be deleted. I.e. this call can be treated as an atomic transaction.

NOTE: This function is not available to third party applications. Calls will result in an EDAMUserException with the error code PERMISSION_DENIED.

Parameters:
noteGuids - The list of GUIDs for the Notes to remove.
Returns:
The account's updateCount at the end of this operation
Throws:
EDAMUserException -
  • PERMISSION_DENIED "Note" - user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

expungeInactiveNotes

int expungeInactiveNotes(java.lang.String authenticationToken)
                         throws EDAMUserException,
                                EDAMSystemException,
                                com.evernote.thrift.TException
Permanently removes all of the Notes that are currently marked as inactive. This is equivalent to "emptying the trash", and these Notes will be gone permanently.

This operation may be relatively slow if the account contains a large number of inactive Notes.

NOTE: This function is not available to third party applications. Calls will result in an EDAMUserException with the error code PERMISSION_DENIED.

Returns:
The number of notes that were expunged.
Throws:
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

copyNote

Note copyNote(java.lang.String authenticationToken,
              java.lang.String noteGuid,
              java.lang.String toNotebookGuid)
              throws EDAMUserException,
                     EDAMSystemException,
                     EDAMNotFoundException,
                     com.evernote.thrift.TException
Performs a deep copy of the Note with the provided GUID 'noteGuid' into the Notebook with the provided GUID 'toNotebookGuid'. The caller must be the owner of both the Note and the Notebook. This creates a new Note in the destination Notebook with new content and Resources that match all of the content and Resources from the original Note, but with new GUID identifiers. The original Note is not modified by this operation. The copied note is considered as an "upload" for the purpose of upload transfer limit calculation, so its size is added to the upload count for the owner.

Parameters:
noteGuid - The GUID of the Note to copy.
toNotebookGuid - The GUID of the Notebook that should receive the new Note.
Returns:
The metadata for the new Note that was created. This will include the new GUID for this Note (and any copied Resources), but will not include the content body or the binary bodies of any Resources.
Throws:
EDAMUserException -
  • LIMIT_REACHED "Note" - at max number per account
  • PERMISSION_DENIED "Notebook.guid" - destination not owned by user
  • PERMISSION_DENIED "Note" - user doesn't own
  • QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota
EDAMNotFoundException -
  • "Notebook.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

listNoteVersions

java.util.List<NoteVersionId> listNoteVersions(java.lang.String authenticationToken,
                                               java.lang.String noteGuid)
                                               throws EDAMUserException,
                                                      EDAMSystemException,
                                                      EDAMNotFoundException,
                                                      com.evernote.thrift.TException
Returns a list of the prior versions of a particular note that are saved within the service. These prior versions are stored to provide a recovery from unintentional removal of content from a note. The identifiers that are returned by this call can be used with getNoteVersion to retrieve the previous note. The identifiers will be listed from the most recent versions to the oldest.

Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  • PERMISSION_DENIED "Note" - private note, user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getNoteVersion

Note getNoteVersion(java.lang.String authenticationToken,
                    java.lang.String noteGuid,
                    int updateSequenceNum,
                    boolean withResourcesData,
                    boolean withResourcesRecognition,
                    boolean withResourcesAlternateData)
                    throws EDAMUserException,
                           EDAMSystemException,
                           EDAMNotFoundException,
                           com.evernote.thrift.TException
This can be used to retrieve a previous version of a Note after it has been updated within the service. The caller must identify the note (via its guid) and the version (via the updateSequenceNumber of that version). to find a listing of the stored version USNs for a note, call listNoteVersions. This call is only available for notes in Premium accounts. (I.e. access to past versions of Notes is a Premium-only feature.)

Parameters:
noteGuid - The GUID of the note to be retrieved.
updateSequenceNum - The USN of the version of the note that is being retrieved
withResourcesData - If true, any Resource elements in this Note will include the binary contents of their 'data' field's body.
withResourcesRecognition - If true, any Resource elements will include the binary contents of the 'recognition' field's body if recognition data is present.
withResourcesAlternateData - If true, any Resource elements in this Note will include the binary contents of their 'alternateData' fields' body, if an alternate form is present.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  • PERMISSION_DENIED "Note" - private note, user doesn't own
  • PERMISSION_DENIED "updateSequenceNum" - The account isn't permitted to access previous versions of notes. (i.e. this is a Free account.)
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
  • "Note.updateSequenceNumber" - the Note doesn't have a version with the corresponding USN.
EDAMSystemException
com.evernote.thrift.TException

getResource

Resource getResource(java.lang.String authenticationToken,
                     java.lang.String guid,
                     boolean withData,
                     boolean withRecognition,
                     boolean withAttributes,
                     boolean withAlternateData)
                     throws EDAMUserException,
                            EDAMSystemException,
                            EDAMNotFoundException,
                            com.evernote.thrift.TException
Returns the current state of the resource in the service with the provided GUID. If the Resource is found in a public notebook, the authenticationToken will be ignored (so it could be an empty string). Only the keys for the applicationData will be returned.

Parameters:
guid - The GUID of the resource to be retrieved.
withData - If true, the Resource will include the binary contents of the 'data' field's body.
withRecognition - If true, the Resource will include the binary contents of the 'recognition' field's body if recognition data is present.
withAttributes - If true, the Resource will include the attributes
withAlternateData - If true, the Resource will include the binary contents of the 'alternateData' field's body, if an alternate form is present.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  • PERMISSION_DENIED "Resource" - private resource, user doesn't own
EDAMNotFoundException -
  • "Resource.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getResourceApplicationData

LazyMap getResourceApplicationData(java.lang.String authenticationToken,
                                   java.lang.String guid)
                                   throws EDAMUserException,
                                          EDAMSystemException,
                                          EDAMNotFoundException,
                                          com.evernote.thrift.TException
Get all of the application data for the Resource identified by GUID, with values returned within the LazyMap fullMap field. If there are no applicationData entries, then a LazyMap with an empty fullMap will be returned. If your application only needs to fetch its own applicationData entry, use getResourceApplicationDataEntry instead.

Throws:
EDAMUserException
EDAMSystemException
EDAMNotFoundException
com.evernote.thrift.TException

getResourceApplicationDataEntry

java.lang.String getResourceApplicationDataEntry(java.lang.String authenticationToken,
                                                 java.lang.String guid,
                                                 java.lang.String key)
                                                 throws EDAMUserException,
                                                        EDAMSystemException,
                                                        EDAMNotFoundException,
                                                        com.evernote.thrift.TException
Get the value of a single entry in the applicationData map for the Resource identified by GUID.

Throws:
EDAMNotFoundException -
  • "Resource.guid" - Resource not found, by GUID
  • "ResourceAttributes.applicationData.key" - Resource not found, by key
EDAMUserException
EDAMSystemException
com.evernote.thrift.TException

setResourceApplicationDataEntry

int setResourceApplicationDataEntry(java.lang.String authenticationToken,
                                    java.lang.String guid,
                                    java.lang.String key,
                                    java.lang.String value)
                                    throws EDAMUserException,
                                           EDAMSystemException,
                                           EDAMNotFoundException,
                                           com.evernote.thrift.TException
Update, or create, an entry in the applicationData map for the Resource identified by guid.

Throws:
EDAMUserException
EDAMSystemException
EDAMNotFoundException
com.evernote.thrift.TException

unsetResourceApplicationDataEntry

int unsetResourceApplicationDataEntry(java.lang.String authenticationToken,
                                      java.lang.String guid,
                                      java.lang.String key)
                                      throws EDAMUserException,
                                             EDAMSystemException,
                                             EDAMNotFoundException,
                                             com.evernote.thrift.TException
Remove an entry identified by 'key' from the applicationData map for the Resource identified by 'guid'.

Throws:
EDAMUserException
EDAMSystemException
EDAMNotFoundException
com.evernote.thrift.TException

updateResource

int updateResource(java.lang.String authenticationToken,
                   Resource resource)
                   throws EDAMUserException,
                          EDAMSystemException,
                          EDAMNotFoundException,
                          com.evernote.thrift.TException
Submit a set of changes to a resource to the service. This can be used to update the meta-data about the resource, but cannot be used to change the binary contents of the resource (including the length and hash). These cannot be changed directly without creating a new resource and removing the old one via updateNote.

Parameters:
resource - A Resource object containing the desired fields to be populated on the service. The service will attempt to update the resource with the following fields from the client:
  • guid: must be provided to identify the resource
  • mime
  • width
  • height
  • duration
  • attributes: optional. if present, the set of attributes will be replaced.
Returns:
The Update Sequence Number of the resource after the changes have been applied.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  • BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type
  • BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string
  • LIMIT_REACHED "ResourceAttribute.*" - attribute string too long
  • PERMISSION_DENIED "Resource" - private resource, user doesn't own
EDAMNotFoundException -
  • "Resource.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getResourceData

byte[] getResourceData(java.lang.String authenticationToken,
                       java.lang.String guid)
                       throws EDAMUserException,
                              EDAMSystemException,
                              EDAMNotFoundException,
                              com.evernote.thrift.TException
Returns binary data of the resource with the provided GUID. For example, if this were an image resource, this would contain the raw bits of the image. If the Resource is found in a public notebook, the authenticationToken will be ignored (so it could be an empty string).

Parameters:
guid - The GUID of the resource to be retrieved.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  • PERMISSION_DENIED "Resource" - private resource, user doesn't own
EDAMNotFoundException -
  • "Resource.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getResourceByHash

Resource getResourceByHash(java.lang.String authenticationToken,
                           java.lang.String noteGuid,
                           byte[] contentHash,
                           boolean withData,
                           boolean withRecognition,
                           boolean withAlternateData)
                           throws EDAMUserException,
                                  EDAMSystemException,
                                  EDAMNotFoundException,
                                  com.evernote.thrift.TException
Returns the current state of a resource, referenced by containing note GUID and resource content hash.

Parameters:
noteGuid - The GUID of the note that holds the resource to be retrieved.
contentHash - The MD5 checksum of the resource within that note. Note that this is the binary checksum, for example from Resource.data.bodyHash, and not the hex-encoded checksum that is used within an en-media tag in a note body.
withData - If true, the Resource will include the binary contents of the 'data' field's body.
withRecognition - If true, the Resource will include the binary contents of the 'recognition' field's body.
withAlternateData - If true, the Resource will include the binary contents of the 'alternateData' field's body, if an alternate form is present.
Throws:
EDAMUserException -
  • DATA_REQUIRED "Note.guid" - noteGuid param missing
  • DATA_REQUIRED "Note.contentHash" - contentHash param missing
  • PERMISSION_DENIED "Resource" - private resource, user doesn't own
EDAMNotFoundException -
  • "Note" - not found, by guid
  • "Resource" - not found, by hash
EDAMSystemException
com.evernote.thrift.TException

getResourceRecognition

byte[] getResourceRecognition(java.lang.String authenticationToken,
                              java.lang.String guid)
                              throws EDAMUserException,
                                     EDAMSystemException,
                                     EDAMNotFoundException,
                                     com.evernote.thrift.TException
Returns the binary contents of the recognition index for the resource with the provided GUID. If the caller asks about a resource that has no recognition data, this will throw EDAMNotFoundException. If the Resource is found in a public notebook, the authenticationToken will be ignored (so it could be an empty string).

Parameters:
guid - The GUID of the resource whose recognition data should be retrieved.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  • PERMISSION_DENIED "Resource" - private resource, user doesn't own
EDAMNotFoundException -
  • "Resource.guid" - not found, by GUID
  • "Resource.recognition" - resource has no recognition
EDAMSystemException
com.evernote.thrift.TException

getResourceAlternateData

byte[] getResourceAlternateData(java.lang.String authenticationToken,
                                java.lang.String guid)
                                throws EDAMUserException,
                                       EDAMSystemException,
                                       EDAMNotFoundException,
                                       com.evernote.thrift.TException
If the Resource with the provided GUID has an alternate data representation (indicated via the Resource.alternateData field), then this request can be used to retrieve the binary contents of that alternate data file. If the caller asks about a resource that has no alternate data form, this will throw EDAMNotFoundException.

Parameters:
guid - The GUID of the resource whose recognition data should be retrieved.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  • PERMISSION_DENIED "Resource" - private resource, user doesn't own
EDAMNotFoundException -
  • "Resource.guid" - not found, by GUID
  • "Resource.alternateData" - resource has no recognition
EDAMSystemException
com.evernote.thrift.TException

getResourceAttributes

ResourceAttributes getResourceAttributes(java.lang.String authenticationToken,
                                         java.lang.String guid)
                                         throws EDAMUserException,
                                                EDAMSystemException,
                                                EDAMNotFoundException,
                                                com.evernote.thrift.TException
Returns the set of attributes for the Resource with the provided GUID. If the Resource is found in a public notebook, the authenticationToken will be ignored (so it could be an empty string).

Parameters:
guid - The GUID of the resource whose attributes should be retrieved.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  • PERMISSION_DENIED "Resource" - private resource, user doesn't own
EDAMNotFoundException -
  • "Resource.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

getPublicNotebook

Notebook getPublicNotebook(int userId,
                           java.lang.String publicUri)
                           throws EDAMSystemException,
                                  EDAMNotFoundException,
                                  com.evernote.thrift.TException

Looks for a user account with the provided userId on this NoteStore shard and determines whether that account contains a public notebook with the given URI. If the account is not found, or no public notebook exists with this URI, this will throw an EDAMNotFoundException, otherwise this will return the information for that Notebook.

If a notebook is visible on the web with a full URL like https://www.evernote.com/pub/sethdemo/api Then 'sethdemo' is the username that can be used to look up the userId, and 'api' is the publicUri.

Parameters:
userId - The numeric identifier for the user who owns the public notebook. To find this value based on a username string, you can invoke UserStore.getPublicUserInfo
publicUri - The uri string for the public notebook, from Notebook.publishing.uri.
Throws:
EDAMNotFoundException -
  • "Publishing.uri" - not found, by URI
EDAMSystemException -
  • TAKEN_DOWN "PublicNotebook" - The specified public notebook is taken down (for all requesters).
  • TAKEN_DOWN "Country" - The specified public notebook is taken down for the requester because of an IP-based country lookup.
com.evernote.thrift.TException

createSharedNotebook

SharedNotebook createSharedNotebook(java.lang.String authenticationToken,
                                    SharedNotebook sharedNotebook)
                                    throws EDAMUserException,
                                           EDAMNotFoundException,
                                           EDAMSystemException,
                                           com.evernote.thrift.TException
Used to construct a shared notebook object. The constructed notebook will contain a "share key" which serve as a unique identifer and access token for a user to access the notebook of the shared notebook owner.

Parameters:
sharedNotebook - A shared notebook object populated with the email address of the share recipient, the notebook guid and the access permissions. All other attributes of the shared object are ignored. The SharedNotebook.allowPreview field must be explicitly set with either a true or false value.
Returns:
The fully populated SharedNotebook object including the server assigned share id and shareKey which can both be used to uniquely identify the SharedNotebook.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "SharedNotebook.email" - if the email was not valid
  • BAD_DATA_FORMAT "requireLogin" - if the SharedNotebook.allowPreview field was not set, and the SharedNotebook.requireLogin was also not set or was set to false.
  • PERMISSION_DENIED "SharedNotebook.recipientSettings" - if recipientSettings is set in the sharedNotebook. Only the recipient can set these values via the setSharedNotebookRecipientSettings method.
EDAMNotFoundException -
  • Notebook.guid - if the notebookGuid is not a valid GUID for the user.
EDAMSystemException
com.evernote.thrift.TException

updateSharedNotebook

int updateSharedNotebook(java.lang.String authenticationToken,
                         SharedNotebook sharedNotebook)
                         throws EDAMUserException,
                                EDAMNotFoundException,
                                EDAMSystemException,
                                com.evernote.thrift.TException
Update a SharedNotebook object.

Parameters:
authenticationToken - Must be an authentication token from the owner or a shared notebook authentication token or business authentication token with sufficient permissions to change invitations for a notebook.
sharedNotebook - The SharedNotebook object containing the requested changes. The "id" of the shared notebook must be set to allow the service to identify the SharedNotebook to be updated. In addition, you MUST set the email, permission, and allowPreview fields to the desired values. All other fields will be ignored if set.
Returns:
The Update Serial Number for this change within the account.
Throws:
EDAMUserException -
  • UNSUPPORTED_OPERATION "updateSharedNotebook" - if this service instance does not support shared notebooks.
  • BAD_DATA_FORMAT "SharedNotebook.email" - if the email was not valid.
  • DATA_REQUIRED "SharedNotebook.id" - if the id field was not set.
  • DATA_REQUIRED "SharedNotebook.privilege" - if the privilege field was not set.
  • DATA_REQUIRED "SharedNotebook.allowPreview" - if the allowPreview field was not set.
EDAMNotFoundException -
  • SharedNotebook.id - if no shared notebook with the specified ID was found.
EDAMSystemException
com.evernote.thrift.TException

setSharedNotebookRecipientSettings

int setSharedNotebookRecipientSettings(java.lang.String authenticationToken,
                                       long sharedNotebookId,
                                       SharedNotebookRecipientSettings recipientSettings)
                                       throws EDAMUserException,
                                              EDAMNotFoundException,
                                              EDAMSystemException,
                                              com.evernote.thrift.TException
Set values for the recipient settings associated with a shared notebook. Having update rights to the shared notebook record itself has no effect on this call; only the recipient of the shared notebook can can the recipient settings. If you do not wish to, or cannot, change one of the reminderNotifyEmail or reminderNotifyInApp fields, you must leave that field unset in recipientSettings. This method will skip that field for updates and leave the existing state as it is.

Returns:
The update sequence number of the account to which the shared notebook belongs, which is the account from which we are sharing a notebook.
Throws:
EDAMNotFoundException - "sharedNotebookId" - Thrown if the service does not have a shared notebook record for the sharedNotebookId on the given shard. If you receive this exception, it is probable that the shared notebook record has been revoked or expired, or that you accessed the wrong shard.
EDAMUserException -
  • PEMISSION_DENIED "authenticationToken" - If you do not have permission to set the recipient settings for the shared notebook. Only the recipient has permission to do this.
  • DATA_CONFLICT "recipientSettings.reminderNotifyEmail" - Setting whether or not you want to receive reminder e-mail notifications is possible on a business notebook in the business to which the user belongs. All others can safely unset the reminderNotifyEmail field from the recipientSettings parameter.
EDAMSystemException
com.evernote.thrift.TException

sendMessageToSharedNotebookMembers

int sendMessageToSharedNotebookMembers(java.lang.String authenticationToken,
                                       java.lang.String notebookGuid,
                                       java.lang.String messageText,
                                       java.util.List<java.lang.String> recipients)
                                       throws EDAMUserException,
                                              EDAMNotFoundException,
                                              EDAMSystemException,
                                              com.evernote.thrift.TException
Send a reminder message to some or all of the email addresses that a notebook has been shared with. The message includes the current link to view the notebook.

Parameters:
authenticationToken - The auth token of the user with permissions to share the notebook
notebookGuid - The guid of the shared notebook
messageText - User provided text to include in the email
recipients - The email addresses of the recipients. If this list is empty then all of the users that the notebook has been shared with are emailed. If an email address doesn't correspond to share invite members then that address is ignored.
Returns:
The number of messages sent
Throws:
EDAMUserException -
  • LIMIT_REACHED "(recipients)" - The email can't be sent because this would exceed the user's daily email limit.
  • PERMISSION_DENIED "Notebook.guid" - The user doesn't have permission to send a message for the specified notebook.
EDAMNotFoundException -
  • "Notebook.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

listSharedNotebooks

java.util.List<SharedNotebook> listSharedNotebooks(java.lang.String authenticationToken)
                                                   throws EDAMUserException,
                                                          EDAMNotFoundException,
                                                          EDAMSystemException,
                                                          com.evernote.thrift.TException
Lists the collection of shared notebooks for all notebooks in the users account.

Returns:
The list of all SharedNotebooks for the user
Throws:
EDAMUserException
EDAMNotFoundException
EDAMSystemException
com.evernote.thrift.TException

expungeSharedNotebooks

int expungeSharedNotebooks(java.lang.String authenticationToken,
                           java.util.List<java.lang.Long> sharedNotebookIds)
                           throws EDAMUserException,
                                  EDAMNotFoundException,
                                  EDAMSystemException,
                                  com.evernote.thrift.TException
Expunges the SharedNotebooks in the user's account using the SharedNotebook.id as the identifier.

NOTE: This function is generally not available to third party applications. Calls will result in an EDAMUserException with the error code PERMISSION_DENIED.

Parameters:
sharedNotebookIds - - a list of ShardNotebook.id longs identifying the objects to delete permanently.
Returns:
The account's update sequence number.
Throws:
EDAMUserException
EDAMNotFoundException
EDAMSystemException
com.evernote.thrift.TException

createLinkedNotebook

LinkedNotebook createLinkedNotebook(java.lang.String authenticationToken,
                                    LinkedNotebook linkedNotebook)
                                    throws EDAMUserException,
                                           EDAMNotFoundException,
                                           EDAMSystemException,
                                           com.evernote.thrift.TException
Asks the service to make a linked notebook with the provided name, username of the owner and identifiers provided. A linked notebook can be either a link to a public notebook or to a private shared notebook.

Parameters:
linkedNotebook - The desired fields for the linked notebook must be provided on this object. The name of the linked notebook must be set. Either a username uri or a shard id and share key must be provided otherwise a EDAMUserException is thrown.
Returns:
The newly created LinkedNotebook. The server-side id will be saved in this object's 'id' field.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "LinkedNotebook.name" - invalid length or pattern
  • BAD_DATA_FORMAT "LinkedNotebook.username" - bad username format
  • BAD_DATA_FORMAT "LinkedNotebook.uri" - if public notebook set but bad uri
  • BAD_DATA_FORMAT "LinkedNotebook.shareKey" - if private notebook set but bad shareKey
  • DATA_REQUIRED "LinkedNotebook.shardId" - if private notebook but shard id not provided
EDAMNotFoundException
EDAMSystemException
com.evernote.thrift.TException

updateLinkedNotebook

int updateLinkedNotebook(java.lang.String authenticationToken,
                         LinkedNotebook linkedNotebook)
                         throws EDAMUserException,
                                EDAMNotFoundException,
                                EDAMSystemException,
                                com.evernote.thrift.TException
Parameters:
linkedNotebook - Updates the name of a linked notebook.
Returns:
The Update Sequence Number for this change within the account.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "LinkedNotebook.name" - invalid length or pattern
EDAMNotFoundException
EDAMSystemException
com.evernote.thrift.TException

listLinkedNotebooks

java.util.List<LinkedNotebook> listLinkedNotebooks(java.lang.String authenticationToken)
                                                   throws EDAMUserException,
                                                          EDAMNotFoundException,
                                                          EDAMSystemException,
                                                          com.evernote.thrift.TException
Returns a list of linked notebooks

Throws:
EDAMUserException
EDAMNotFoundException
EDAMSystemException
com.evernote.thrift.TException

expungeLinkedNotebook

int expungeLinkedNotebook(java.lang.String authenticationToken,
                          java.lang.String guid)
                          throws EDAMUserException,
                                 EDAMNotFoundException,
                                 EDAMSystemException,
                                 com.evernote.thrift.TException
Permanently expunges the linked notebook from the account.

NOTE: This function is generally not available to third party applications. Calls will result in an EDAMUserException with the error code PERMISSION_DENIED.

Parameters:
guid - The LinkedNotebook.guid field of the LinkedNotebook to permanently remove from the account.
Throws:
EDAMUserException
EDAMNotFoundException
EDAMSystemException
com.evernote.thrift.TException

authenticateToSharedNotebook

AuthenticationResult authenticateToSharedNotebook(java.lang.String shareKey,
                                                  java.lang.String authenticationToken)
                                                  throws EDAMUserException,
                                                         EDAMNotFoundException,
                                                         EDAMSystemException,
                                                         com.evernote.thrift.TException
Asks the service to produce an authentication token that can be used to access the contents of a shared notebook from someone else's account. This authenticationToken can be used with the various other NoteStore calls to find and retrieve notes, and if the permissions in the shared notebook are sufficient, to make changes to the contents of the notebook.

Parameters:
shareKey - The 'shareKey' identifier from the SharedNotebook that was granted to some recipient. This string internally encodes the notebook identifier and a security signature.
authenticationToken - If a non-empty string is provided, this is the full user-based authentication token that identifies the user who is currently logged in and trying to access the shared notebook. This may be required if the notebook was created with 'requireLogin'. If this string is empty, the service will attempt to authenticate to the shared notebook without any logged in user.
Throws:
EDAMSystemException -
  • BAD_DATA_FORMAT "shareKey" - invalid shareKey string
  • INVALID_AUTH "shareKey" - bad signature on shareKey string
EDAMNotFoundException -
  • "SharedNotebook.id" - the shared notebook no longer exists
EDAMUserException -
  • DATA_REQUIRED "authenticationToken" - the share requires login, and no valid authentication token was provided.
  • PERMISSION_DENIED "SharedNotebook.username" - share requires login, and another username has already been bound to this notebook.
com.evernote.thrift.TException

getSharedNotebookByAuth

SharedNotebook getSharedNotebookByAuth(java.lang.String authenticationToken)
                                       throws EDAMUserException,
                                              EDAMNotFoundException,
                                              EDAMSystemException,
                                              com.evernote.thrift.TException
This function is used to retrieve extended information about a shared notebook by a guest who has already authenticated to access that notebook. This requires an 'authenticationToken' parameter which should be the resut of a call to authenticateToSharedNotebook(...). I.e. this is the token that gives access to the particular shared notebook in someone else's account -- it's not the authenticationToken for the owner of the notebook itself.

Parameters:
authenticationToken - Should be the authentication token retrieved from the reply of authenticateToSharedNotebook(), proving access to a particular shared notebook.
Throws:
EDAMUserException -
  • PERMISSION_DENIED "authenticationToken" - authentication token doesn't correspond to a valid shared notebook
EDAMNotFoundException -
  • "SharedNotebook.id" - the shared notebook no longer exists
EDAMSystemException
com.evernote.thrift.TException

emailNote

void emailNote(java.lang.String authenticationToken,
               NoteEmailParameters parameters)
               throws EDAMUserException,
                      EDAMNotFoundException,
                      EDAMSystemException,
                      com.evernote.thrift.TException
Attempts to send a single note to one or more email recipients.

NOTE: This function is generally not available to third party applications. Calls will result in an EDAMUserException with the error code PERMISSION_DENIED.

Parameters:
authenticationToken - The note will be sent as the user logged in via this token, using that user's registered email address. If the authenticated user doesn't have permission to read that note, the emailing will fail.
parameters - The note must be specified either by GUID (in which case it will be sent using the existing data in the service), or else the full Note must be passed to this call. This also specifies the additional email fields that will be used in the email.
Throws:
EDAMUserException -
  • LIMIT_REACHED "NoteEmailParameters.toAddresses" - The email can't be sent because this would exceed the user's daily email limit.
  • BAD_DATA_FORMAT "(email address)" - email address malformed
  • DATA_REQUIRED "NoteEmailParameters.toAddresses" - if there are no To: or Cc: addresses provided.
  • DATA_REQUIRED "Note.title" - if the caller provides a Note parameter with no title
  • DATA_REQUIRED "Note.content" - if the caller provides a Note parameter with no content
  • ENML_VALIDATION "*" - note content doesn't validate against DTD
  • DATA_REQUIRED "NoteEmailParameters.note" - if no guid or note provided
  • PERMISSION_DENIED "Note" - private note, user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

shareNote

java.lang.String shareNote(java.lang.String authenticationToken,
                           java.lang.String guid)
                           throws EDAMUserException,
                                  EDAMNotFoundException,
                                  EDAMSystemException,
                                  com.evernote.thrift.TException
If this note is not already shared (via its own direct URL), then this will start sharing that note. This will return the secret "Note Key" for this note that can currently be used in conjunction with the Note's GUID to gain direct read-only access to the Note. If the note is already shared, then this won't make any changes to the note, and the existing "Note Key" will be returned. The only way to change the Note Key for an existing note is to stopSharingNote first, and then call this function.

Parameters:
guid - The GUID of the note to be shared.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  • PERMISSION_DENIED "Note" - private note, user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

stopSharingNote

void stopSharingNote(java.lang.String authenticationToken,
                     java.lang.String guid)
                     throws EDAMUserException,
                            EDAMNotFoundException,
                            EDAMSystemException,
                            com.evernote.thrift.TException
If this note is not already shared then this will stop sharing that note and invalidate its "Note Key", so any existing URLs to access that Note will stop working. If the Note is not shared, then this function will do nothing.

Parameters:
guid - The GUID of the note to be un-shared.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  • PERMISSION_DENIED "Note" - private note, user doesn't own
EDAMNotFoundException -
  • "Note.guid" - not found, by GUID
EDAMSystemException
com.evernote.thrift.TException

authenticateToSharedNote

AuthenticationResult authenticateToSharedNote(java.lang.String guid,
                                              java.lang.String noteKey,
                                              java.lang.String authenticationToken)
                                              throws EDAMUserException,
                                                     EDAMNotFoundException,
                                                     EDAMSystemException,
                                                     com.evernote.thrift.TException
Asks the service to produce an authentication token that can be used to access the contents of a single Note which was individually shared from someone's account. This authenticationToken can be used with the various other NoteStore calls to find and retrieve the Note and its directly-referenced children.

Parameters:
guid - The GUID identifying this Note on this shard.
noteKey - The 'noteKey' identifier from the Note that was originally created via a call to shareNote() and then given to a recipient to access.
authenticationToken - An optional authenticationToken that identifies the user accessing the shared note. This parameter may be required to access some shared notes.
Throws:
EDAMUserException -
  • PERMISSION_DENIED "Note" - the Note with that GUID is either not shared, or the noteKey doesn't match the current key for this note
  • PERMISSION_DENIED "authenticationToken" - an authentication token is required to access this Note, but either no authentication token or a "non-owner" authentication token was provided.
EDAMNotFoundException -
  • "guid" - the note with that GUID is not found
EDAMSystemException -
  • TAKEN_DOWN "Note" - The specified shared note is taken down (for all requesters).
  • TAKEN_DOWN "Country" - The specified shared note is taken down for the requester because of an IP-based country lookup.
com.evernote.thrift.TException

findRelated

RelatedResult findRelated(java.lang.String authenticationToken,
                          RelatedQuery query,
                          RelatedResultSpec resultSpec)
                          throws EDAMUserException,
                                 EDAMSystemException,
                                 EDAMNotFoundException,
                                 com.evernote.thrift.TException
Identify related entities on the service, such as notes, notebooks, and tags related to notes or content.

Parameters:
query - The information about which we are finding related entities.
resultSpec - Allows the client to indicate the type and quantity of information to be returned, allowing a saving of time and bandwidth.
Returns:
The result of the query, with information considered to likely be relevantly related to the information described by the query.
Throws:
EDAMUserException -
  • BAD_DATA_FORMAT "RelatedQuery.plainText" - If you provided a a zero-length plain text value.
  • BAD_DATA_FORMAT "RelatedQuery.noteGuid" - If you provided an invalid Note GUID, that is, one that does not match the constraints defined by EDAM_GUID_LEN_MIN, EDAM_GUID_LEN_MAX, EDAM_GUID_REGEX.
  • BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed
  • BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed
  • BAD_DATA_FORMAT "NoteFilter.words" - if search string too long
  • PERMISSION_DENIED "Note" - If the caller does not have access to the note identified by RelatedQuery.noteGuid.
  • DATA_REQUIRED "RelatedResultSpec" - If you did not not set any values in the result spec.
EDAMNotFoundException -
  • "RelatedQuery.noteGuid" - the note with that GUID is not found, if that field has been set in the query.
EDAMSystemException
com.evernote.thrift.TException