Thrift module: Types

ModuleServicesData typesConstants
Types Accounting
Ad
Data
Guid
LinkedNotebook
Note
NoteAttributes
NoteSortOrder
Notebook
PremiumOrderStatus
PrivilegeLevel
Publishing
QueryFormat
Resource
ResourceAttributes
SavedSearch
SharedNotebook
Tag
Timestamp
User
UserAttributes
UserID
EDAM_NOTE_SOURCE_MAIL_CLIP
EDAM_NOTE_SOURCE_MAIL_SMTP_GATEWAY
EDAM_NOTE_SOURCE_WEB_CLIP

Constants

ConstantTypeValue
EDAM_NOTE_SOURCE_WEB_CLIPstring"web.clip"
Standardized value for the 'source' NoteAttribute for notes that were clipped from the web in some manner.
EDAM_NOTE_SOURCE_MAIL_CLIPstring"mail.clip"
Standardized value for the 'source' NoteAttribute for notes that were clipped from an email message.
EDAM_NOTE_SOURCE_MAIL_SMTP_GATEWAYstring"mail.smtp"
Standardized value for the 'source' NoteAttribute for notes that were created via email sent to Evernote's email interface.

Enumerations

Enumeration: PrivilegeLevel

This enumeration defines the possible permission levels for a user. Free accounts will have a level of NORMAL and paid Premium accounts will have a level of PREMIUM.

NORMAL1
PREMIUM3
MANAGER7
SUPPORT8
ADMIN9

Enumeration: QueryFormat

Every search query is specified as a sequence of characters. Currently, only the USER query format is supported.

USER1
SEXP2

Enumeration: NoteSortOrder

This enumeration defines the possible sort ordering for notes when they are returned from a search result.

CREATED1
UPDATED2
RELEVANCE3
UPDATE_SEQUENCE_NUMBER4

Enumeration: PremiumOrderStatus

This enumeration defines the possible states of a premium account

NONE: the user has never attempted to become a premium subscriber

PENDING: the user has requested a premium account but their charge has not been confirmed

ACTIVE: the user has been charged and their premium account is in good standing

FAILED: the system attempted to charge the was denied. Their premium privileges have been revoked. We will periodically attempt to re-validate their order.

CANCELLATION_PENDING: the user has requested that no further charges be made but the current account is still active.

CANCELED: the premium account was canceled either because of failure to pay or user cancelation. No more attempts will be made to activate the account.

NONE0
PENDING1
ACTIVE2
FAILED3
CANCELLATION_PENDING4
CANCELED5


Type declarations

Typedef: UserID

Base type: i32

Every Evernote account is assigned a unique numeric identifier which will not change for the life of the account. This is independent of the (string-based) "username" which is known by the user for login purposes. The user should have no reason to know their UserID.

Typedef: Guid

Base type: string

Most data elements within a user's account (e.g. notebooks, notes, tags, resources, etc.) are internally referred to using a globally unique identifier that is written in a standard string format. For example:

"8743428c-ef91-4d05-9e7c-4a2e856e813a"

The internal components of the GUID are not given any particular meaning: only the entire string is relevant as a unique identifier.

Typedef: Timestamp

Base type: i64

An Evernote Timestamp is the date and time of an event in UTC time. This is expressed as a specific number of milliseconds since the standard base "epoch" of:

January 1, 1970, 00:00:00 GMT

NOTE: the time is expressed at the resolution of milliseconds, but the value is only precise to the level of seconds. This means that the last three (decimal) digits of the timestamp will be '000'.

The Thrift IDL specification does not include a native date/time type, so this value is used instead.

The service will accept timestamp values (e.g. for Note created and update times) between 1000-01-01 and 9999-12-31


Data structures

Struct: Data

FieldTypeRequiredDefault value
bodyHashstringno
sizei32no
bodystringno

In several places, EDAM exchanges blocks of bytes of data for a component which may be relatively large. For example: the contents of a clipped HTML note, the bytes of an embedded image, or the recognition XML for a large image. This structure is used in the protocol to represent any of those large blocks of data when they are transmitted or when they are only referenced their metadata.

bodyHash
This field carries a one-way hash of the contents of the data body, in binary form. The hash function is MD5
Length: EDAM_HASH_LEN (exactly)

size
The length, in bytes, of the data body.

body
This field is set to contain the binary contents of the data whenever the resource is being transferred. If only metadata is being exchanged, this field will be empty. For example, a client could notify the service about the change to an attribute for a resource without transmitting the binary resource contents.

Struct: UserAttributes

FieldTypeRequiredDefault value
defaultLocationNamestringno
defaultLatitudedoubleno
defaultLongitudedoubleno
preactivationboolno
viewedPromotionslist<string>no
incomingEmailAddressstringno
recentMailedAddresseslist<string>no
commentsstringno
dateAgreedToTermsOfServiceTimestampno
maxReferralsi32no
referralCounti32no
refererCodestringno
sentEmailDateTimestampno
sentEmailCounti32no
dailyEmailLimiti32no
emailOptOutDateTimestampno
partnerEmailOptInDateTimestampno
preferredLanguagestringno
preferredCountrystringno
clipFullPageboolno
twitterUserNamestringno
twitterIdstringno
groupNamestringno
recognitionLanguagestringno
customerProfileIdi64no
referralProofstringno

A structure holding the optional attributes that can be stored on a User. These are generally less critical than the core User fields.

defaultLocationName
the location string that should be associated with the user in order to determine where notes are taken if not otherwise specified.
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

defaultLatitude
if set, this is the latitude that should be assigned to any notes that have no other latitude information.

defaultLongitude
if set, this is the longitude that should be assigned to any notes that have no other longitude information.

preactivation
if set, the user account is not yet confirmed for login. I.e. the account has been created, but we are still waiting for the user to complete the activation step.

viewedPromotions
a list of promotions the user has seen. This list may occasionally be modified by the system when promotions are no longer available.
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

incomingEmailAddress
if set, this is the email address that the user may send email to in order to add an email note directly into the account via the SMTP email gateway. This is the part of the email address before the '@' symbol ... our domain is not included. If this is not set, the user may not add notes via the gateway.
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

recentMailedAddresses
if set, this will contain a list of email addresses that have recently been used as recipients of outbound emails by the user. This can be used to pre-populate a list of possible destinations when a user wishes to send a note via email.
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX each
Max: EDAM_USER_RECENT_MAILED_ADDRESSES_MAX entries

comments
Free-form text field that may hold general support information, etc.
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

dateAgreedToTermsOfService
The date/time when the user agreed to the terms of service. This can be used as the effective "start date" for the account.

maxReferrals
The number of referrals that the user is permitted to make.

referralCount
The number of referrals sent from this account.

refererCode
A code indicating where the user was sent from. AKA promotion code
sentEmailDate
The most recent date when the user sent outbound emails from the service. Used with sentEmailCount to limit the number of emails that can be sent per day.
sentEmailCount
The number of emails that were sent from the user via the service on sentEmailDate. Used to enforce a limit on the number of emails per user per day to prevent spamming.

dailyEmailLimit
If set, this is the maximum number of emails that may be sent in a given day from this account. If unset, the server will use the configured default limit.

emailOptOutDate
If set, this is the date when the user asked to be excluded from offers and promotions sent by Evernote. If not set, then the user currently agrees to receive these messages.

partnerEmailOptInDate
If set, this is the date when the user asked to be included in offers and promotions sent by Evernote's partners. If not sent, then the user currently does not agree to receive these emails.

preferredLanguage
a 2 character language codes based on: http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt used for localization purposes to determine what language to use for the web interface and for other direct communication (e.g. emails).

preferredCountry
Preferred country code based on ISO 3166-1-alpha-2 indicating the users preferred country

clipFullPage
Boolean flag set to true if the user wants to clip full pages by default when they use the web clipper without a selection.

twitterUserName
The username of the account of someone who has chosen to enable Twittering into Evernote. This value is subject to change, since users may change their Twitter user name.

twitterId
The unique identifier of the user's Twitter account if that user has chosen to enable Twittering into Evernote.

groupName
A name identifier used to identify a particular set of branding and light customization.
recognitionLanguage
a 2 character language codes based on: http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt If set, this is used to determine the language that should be used when processing images and PDF files to find text. If not set, then the 'preferredLanguage' will be used.

customerProfileId
a numeric identified which provides a linkage between the user record and the direct credit card payment creditcard profile.


Struct: Accounting

FieldTypeRequiredDefault value
uploadLimiti64no
uploadLimitEndTimestampno
uploadLimitNextMonthi64no
premiumServiceStatusPremiumOrderStatusno
premiumOrderNumberstringno
premiumCommerceServicestringno
premiumServiceStartTimestampno
premiumServiceSKUstringno
lastSuccessfulChargeTimestampno
lastFailedChargeTimestampno
lastFailedChargeReasonstringno
nextPaymentDueTimestampno
premiumLockUntilTimestampno
updatedTimestampno
premiumSubscriptionNumberstringno
lastRequestedChargeTimestampno

This represents the bookkeeping information for the user's subscription.
uploadLimit
The number of bytes that can be uploaded to the account in the current month. For new notes that are created, this is the length of the note content (in Unicode characters) plus the size of each resource (in bytes). For edited notes, this is the the difference between the old length and the new length (if this is greater than 0) plus the size of each new resource.
uploadLimitEnd
The date and time when the current upload limit expires. At this time, the monthly upload count reverts to 0 and a new limit is imposed. This date and time is exclusive, so this is effectively the start of the new month.
uploadLimitNextMonth
When uploadLimitEnd is research the service will change uploadLimit to uploadLimitNextMonth. If a premium account is canceled, this mechanism will reset the quota appropriately.
premiumServiceStatus
Indicates the phases of a premium account during the billing process.
premiumOrderNumber
The order number used by the commerce system to process recurring payments
premiumServiceStart
The start date when this premium promotion began (this number will get overwritten if a premium service is canceled and then re-activated).
premiumCommerceService
The commerce system used (paypal, Google checkout, etc)
premiumServiceSKU
The code associated with the purchase eg. monthly or annual purchase. Clients should interpret this value and localize it.
lastSuccessfulCharge
Date the last time the user was charged. Null if never charged.
lastFailedCharge
Date the last time a charge was attempted and failed.
lastFailedChargeReason
Reason provided for the charge failure
nextPaymentDue
The end of the billing cycle. This could be in the past if there are failed charges.
premiumLockUntil
An internal variable to manage locking operations on the commerce variables.
updated
The date any modification where made to this record.
premiumSubscriptionNumber
The number number identifying the recurring subscription used to make the recurring charges.

Struct: User

FieldTypeRequiredDefault value
idUserIDno
usernamestringno
emailstringno
namestringno
timezonestringno
privilegePrivilegeLevelno
createdTimestampno
updatedTimestampno
deletedTimestampno
activeboolno
shardIdstringno
attributesUserAttributesno
accountingAccountingno

This represents the information about a single user account.
id
The unique numeric identifier for the account, which will not change for the lifetime of the account.

username
The name that the user provides to log in to their account. In the future, this may be empty for some accounts if their login process is indirect (e.g. via social networks, etc.). May only contain a-z, 0-9, or '-', and may not start or end with the '-'
Length: EDAM_USER_USERNAME_LEN_MIN - EDAM_USER_USERNAME_LEN_MAX
Regex: EDAM_USER_USERNAME_REGEX

email
The email address registered for the user. Must comply with RFC 2821 and RFC 2822.
Length: EDAM_EMAIL_LEN_MIN - EDAM_EMAIL_LEN_MAX
Regex: EDAM_EMAIL_REGEX

name
The printable name of the user, which may be a combination of given and family names. This is used instead of separate "first" and "last" names due to variations in international name format/order. May not start or end with a whitespace character. May contain any character but carriage return or newline (Unicode classes Zl and Zp).
Length: EDAM_USER_NAME_LEN_MIN - EDAM_USER_NAME_LEN_MAX
Regex: EDAM_USER_NAME_REGEX

timezone
The zone ID for the user's default location. If present, this may be used to localize the display of any timestamp for which no other timezone is available - for example, an note that arrives via a micro-browser may not contain enough information to display its local time, so this default timezone may be assigned to the note. The format must be encoded as a standard zone ID such as "America/Los_Angeles" or "GMT+08:00"
Length: EDAM_TIMEZONE_LEN_MIN - EDAM_TIMEZONE_LEN_MAX
Regex: EDAM_TIMEZONE_REGEX

privilege
The level of access permitted for the user.

created
The date and time when this user account was created in the service.

updated
The date and time when this user account was last modified in the service.

deleted
If the account has been deleted from the system (e.g. as the result of a legal request by the user), the date and time of the deletion will be represented here. If not, this value will not be set.

active
If the user account is available for login and synchronization, this flag will be set to true.

shardId
The name of the virtual server that manages the state of this user. This value is used internally to determine which system should service requests about this user's data.

attributes
If present, this will contain a list of the attributes for this user account.

accounting
Bookkeeping information for the user's subscription.

Struct: Tag

FieldTypeRequiredDefault value
guidGuidno
namestringno
parentGuidGuidno
updateSequenceNumi32no

A tag within a user's account is a unique name which may be organized a simple hierarchy.
guid
The unique identifier of this tag. Will be set by the service, so may be omitted by the client when creating the Tag.
Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX
Regex: EDAM_GUID_REGEX

name
A sequence of characters representing the tag's identifier. Case is preserved, but is ignored for comparisons. This means that an account may only have one tag with a given name, via case-insensitive comparison, so an account may not have both "food" and "Food" tags. May not contain a comma (','), and may not begin or end with a space.
Length: EDAM_TAG_NAME_LEN_MIN - EDAM_TAG_NAME_LEN_MAX
Regex: EDAM_TAG_NAME_REGEX

parentGuid
If this is set, then this is the GUID of the tag that holds this tag within the tag organizational heirarchy. If this is not set, then the tag has no parent and it is a "top level" tag. Cycles are not allowed (e.g. a->parent->parent == a) and will be rejected by the service.
Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX
Regex: EDAM_GUID_REGEX

updateSequenceNum
A number identifying the last transaction to modify the state of this object. The USN values are sequential within an account, and can be used to compare the order of modifications within the service.

Struct: ResourceAttributes

FieldTypeRequiredDefault value
sourceURLstringno
timestampTimestampno
latitudedoubleno
longitudedoubleno
altitudedoubleno
cameraMakestringno
cameraModelstringno
clientWillIndexboolno
recoTypestringno
fileNamestringno
attachmentboolno

Structure holding the optional attributes of a Resource
sourceURL
the original location where the resource was hosted
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

timestamp
the date and time that is associated with this resource (e.g. the time embedded in an image from a digital camera with a clock)

latitude
the latitude where the resource was captured

longitude
the longitude where the resource was captured

altitude
the altitude where the resource was captured

cameraMake
information about an image's camera, e.g. as embedded in the image's EXIF data
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

cameraModel
information about an image's camera, e.g. as embedded in the image's EXIF data
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

clientWillIndex
if true, then the original client that submitted the resource plans to submit the recognition index for this resource at a later time.

recoType
DEPRECATED - this field is no longer set by the service, so should be ignored.

fileName
if the resource came from a source that provided an explicit file name, the original name will be stored here. Many resources come from unnamed sources, so this will not always be set.

attachment
this will be true if the resource is a Premium file attachment. This will be available within the search grammar so that you can identify notes that contain attachments.

Struct: Resource

FieldTypeRequiredDefault value
guidGuidno
noteGuidGuidno
dataDatano
mimestringno
widthi16no
heighti16no
durationi16no
activeboolno
recognitionDatano
attributesResourceAttributesno
updateSequenceNumi32no
alternateDataDatano

Every media file that is embedded or attached to a note is represented through a Resource entry.
guid
The unique identifier of this resource. Will be set whenever a resource is retrieved from the service, but may be null when a client is creating a resource.
Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX
Regex: EDAM_GUID_REGEX

noteGuid
The unique identifier of the Note that holds this Resource. Will be set whenever the resource is retrieved from the service, but may be null when a client is creating a resource.
Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX
Regex: EDAM_GUID_REGEX

data
The contents of the resource. Maximum length: The data.body is limited to 25 MB (26214400 bytes)

mime
The MIME type for the embedded resource. E.g. "image/gif"
Length: EDAM_MIME_LEN_MIN - EDAM_MIME_LEN_MAX
Regex: EDAM_MIME_REGEX

width
If set, this contains the display width of this resource, in pixels.

height
If set, this contains the display height of this resource, in pixels.

duration
DEPRECATED: ignored.

active
DEPRECATED: ignored.

recognition
If set, this will hold the encoded data that provides information on search and recognition within this resource.

attributes
A list of the attributes for this resource.

updateSequenceNum
A number identifying the last transaction to modify the state of this object. The USN values are sequential within an account, and can be used to compare the order of modifications within the service.

alternateData
Some Resources may be assigned an alternate data format by the service which may be more appropriate for indexing or rendering than the original data provided by the user. In these cases, the alternate data form will be available via this Data element. If a Resource has no alternate form, this field will be unset.

Struct: NoteAttributes

FieldTypeRequiredDefault value
subjectDateTimestampno
latitudedoubleno
longitudedoubleno
altitudedoubleno
authorstringno
sourcestringno
sourceURLstringno
sourceApplicationstringno

The list of optional attributes that can be stored on a note.
subjectDate
time that the note refers to

latitude
the latitude where the note was taken

longitude
the longitude where the note was taken

altitude
the altitude where the note was taken

author
the author of the content of the note
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

source
the method that the note was added to the account, if the note wasn't directly authored in an Evernote client.
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

sourceURL
the original location where the resource was hosted
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

sourceApplication
an identifying string for the application that created this note. This string does not have a guaranteed syntax or structure -- it is intended for human inspection and tracking.
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

Struct: Note

FieldTypeRequiredDefault value
guidGuidno
titlestringno
contentstringno
contentHashstringno
contentLengthi32no
createdTimestampno
updatedTimestampno
deletedTimestampno
activeboolno
updateSequenceNumi32no
notebookGuidstringno
tagGuidslist<Guid>no
resourceslist<Resource>no
attributesNoteAttributesno
tagNameslist<string>no

Represents a single note in the user's account.

guid
The unique identifier of this note. Will be set by the server, but will be omitted by clients calling NoteStore.createNote()
Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX
Regex: EDAM_GUID_REGEX

title
The subject of the note. Can't begin or end with a space.
Length: EDAM_NOTE_TITLE_LEN_MIN - EDAM_NOTE_TITLE_LEN_MAX
Regex: EDAM_NOTE_TITLE_REGEX

content
The XHTML block that makes up the note. This is the canonical form of the note's contents, so will include abstract Evernote tags for internal resource references. A client may create a separate transformed version of this content for internal presentation, but the same canonical bytes should be used for transmission and comparison unless the user chooses to modify their content.
Length: EDAM_NOTE_CONTENT_LEN_MIN - EDAM_NOTE_CONTENT_LEN_MAX

contentHash
The binary MD5 checksum of the UTF-8 encoded content body. This will always be set by the server, but clients may choose to omit this when they submit a note with content.
Length: EDAM_HASH_LEN (exactly)

contentLength
The number of Unicode characters in the content of the note. This will always be set by the service, but clients may choose to omit this value when they submit a Note.

created
The date and time when the note was created in one of the clients. In most cases, this will match the user's sense of when the note was created, and ordering between notes will be based on ordering of this field. However, this is not a "reliable" timestamp if a client has an incorrect clock, so it cannot provide a true absolute ordering between notes. Notes created directly through the service (e.g. via the web GUI) will have an absolutely ordered "created" value.

updated
The date and time when the note was last modified in one of the clients. In most cases, this will match the user's sense of when the note was modified, but this field may not be absolutely reliable due to the possibility of client clock errors.

deleted
If present, the note is considered "deleted", and this stores the date and time when the note was deleted by one of the clients. In most cases, this will match the user's sense of when the note was deleted, but this field may be unreliable due to the possibility of client clock errors.

active
If the note is available for normal actions and viewing, this flag will be set to true.

updateSequenceNum
A number identifying the last transaction to modify the state of this note (including changes to the note's attributes or resources). The USN values are sequential within an account, and can be used to compare the order of modifications within the service.

notebookGuid
The unique identifier of the notebook that contains this note. If no notebookGuid is provided on a call to createNote(), the default notebook will be used instead.
Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX
Regex: EDAM_GUID_REGEX

tagGuids
A list of the GUID identifiers for tags that are applied to this note. This may be provided in a call to createNote() to unambiguously declare the tags that should be assigned to the new note. Alternately, clients may pass the names of desired tags via the 'tagNames' field during note creation. If the list of tags are omitted on a call to createNote(), then the server will assume that no changes have been made to the resources. Maximum: EDAM_NOTE_TAGS_MAX tags per note

resources
The list of resources that are embedded within this note. If the list of resources are omitted on a call to updateNote(), then the server will assume that no changes have been made to the resources. The binary contents of the resources must be provided when the resource is first sent to the service, but it will be omitted by the service when the Note is returned in the future. Maximum: EDAM_NOTE_RESOURCES_MAX resources per note

attributes
A list of the attributes for this note. If the list of attributes are omitted on a call to updateNote(), then the server will assume that no changes have been made to the resources.

tagNames
May be provided by clients during calls to createNote() as an alternative to providing the tagGuids of existing tags. If any tagNames are provided during createNote(), these will be found, or created if they don't already exist. Created tags will have no parent (they will be at the top level of the tag panel).

Struct: Publishing

FieldTypeRequiredDefault value
uristringno
orderNoteSortOrderno
ascendingboolno
publicDescriptionstringno

If a Notebook has been opened to the public, the Notebook will have a reference to one of these structures, which gives the location and optional description of the externally-visible public Notebook.
uri
If this field is present, then the notebook is published for mass consumption on the Internet under the provided URI, which is relative to a defined base publishing URI defined by the service. This field can only be modified via the web service GUI ... publishing cannot be modified via an offline client.
Length: EDAM_PUBLISHING_URI_LEN_MIN - EDAM_PUBLISHING_URI_LEN_MAX
Regex: EDAM_PUBLISHING_URI_REGEX

order
When the notes are publicly displayed, they will be sorted based on the requested criteria.

ascending
If this is set to true, then the public notes will be displayed in ascending order (e.g. from oldest to newest). Otherwise, the notes will be displayed in descending order (e.g. newest to oldest).

publicDescription
This field may be used to provide a short description of the notebook, which may be displayed when (e.g.) the notebook is shown in a public view. Can't begin or end with a space.
Length: EDAM_PUBLISHING_DESCRIPTION_LEN_MIN - EDAM_PUBLISHING_DESCRIPTION_LEN_MAX
Regex: EDAM_PUBLISHING_DESCRIPTION_REGEX

Struct: Notebook

FieldTypeRequiredDefault value
guidGuidno
namestringno
updateSequenceNumi32no
defaultNotebookboolno
serviceCreatedTimestampno
serviceUpdatedTimestampno
publishingPublishingno
publishedboolno

A unique container for a set of notes.
guid
The unique identifier of this notebook.
Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX
Regex: EDAM_GUID_REGEX

name
A sequence of characters representing the name of the notebook. May be changed by clients, but the account may not contain two notebooks with names that are equal via a case-insensitive comparison. Can't begin or end with a space.
Length: EDAM_NOTEBOOK_NAME_LEN_MIN - EDAM_NOTEBOOK_NAME_LEN_MAX
Regex: EDAM_NOTEBOOK_NAME_REGEX

updateSequenceNum
A number identifying the last transaction to modify the state of this object. The USN values are sequential within an account, and can be used to compare the order of modifications within the service.

defaultNotebook
If true, this notebook should be used for new notes whenever the user has not (or cannot) specify a desired target notebook. For example, if a note is submitted via SMTP email. The service will maintain at most one defaultNotebook per account. If a second notebook is created or updated with defaultNotebook set to true, the service will automatically update the prior notebook's defaultNotebook field to false. If the default notebook is deleted (i.e. "active" set to false), the "defaultNotebook" field will be set to false by the service. If the account has no default notebook set, the service will use the most recent notebook as the default.

serviceCreated
The time when this notebook was created on the service. This will be set on the service during creation, and the service will provide this value when it returns a Notebook to a client. The service will ignore this value if it is sent by clients.

serviceUpdated
The time when this notebook was last modified on the service. This will be set on the service during creation, and the service will provide this value when it returns a Notebook to a client. The service will ignore this value if it is sent by clients.

publishing
If the Notebook has been opened for public access (i.e. if 'published' is set to true), then this will point to the set of publishing information for the Notebook (URI, description, etc.). A Notebook cannot be published without providing this information, but it will persist for later use if publishing is ever disabled on the Notebook. Clients that do not wish to change the publishing behavior of a Notebook should not set this value when calling NoteStore.updateNotebook().

published
If this is set to true, then the Notebook will be accessible to the public via the 'publishing' specification, which must also be set. If this is set to false, the Notebook will not be available to the public. Clients that do not wish to change the publishing behavior of a Notebook should not set this value when calling NoteStore.updateNotebook().

Struct: SavedSearch

FieldTypeRequiredDefault value
guidGuidno
namestringno
querystringno
formatQueryFormatno
updateSequenceNumi32no

A named search associated with the account that can be quickly re-used.
guid
The unique identifier of this search. Will be set by the service, so may be omitted by the client when creating.
Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX
Regex: EDAM_GUID_REGEX

name
The name of the saved search to display in the GUI. The account may only contain one search with a given name (case-insensitive compare). Can't begin or end with a space.
Length: EDAM_SAVED_SEARCH_NAME_LEN_MIN - EDAM_SAVED_SEARCH_NAME_LEN_MAX
Regex: EDAM_SAVED_SEARCH_NAME_REGEX

query
A string expressing the search to be performed.
Length: EDAM_SAVED_SEARCH_QUERY_LEN_MIN - EDAM_SAVED_SEARCH_QUERY_LEN_MAX

format
The format of the query string, to determine how to parse and process it.

updateSequenceNum
A number identifying the last transaction to modify the state of this object. The USN values are sequential within an account, and can be used to compare the order of modifications within the service.

Struct: Ad

FieldTypeRequiredDefault value
idi32no
widthi16no
heighti16no
advertiserNamestringno
imageUrlstringno
destinationUrlstringno
displaySecondsi16no
scoredoubleno
imagestringno
imageMimestringno
htmlstringno
displayFrequencydoubleno

An advertisement that may be displayed within an Evernote client. Advertisements are either a snippet of HTML or else they are an image (of type: JPEG, GIF, PNG) with an associated destination URL.

id
The unique identifier of this advertisement within Evernote's ad inventory.

width
This ad should be displayed within a rectangle that is this wide, in pixels.

height
This ad should be displayed within a rectangle that is this high, in pixels.

advertiserName
A string containing a readable version of the name of this advertiser.

imageUrl
The location of the image to display for this ad.

destinationUrl
When a user clicks on the ad, this is the destination they should be sent to in a browser.

displaySeconds
The number of seconds that the ad should be displayed before it is replaced with a different ad.

score
A numeric indicator of the relative value of this ad, which can be compared against other ads from the same day.

image
If present, this is the raw image bits of the image file to display for the ad. If not present, the imageUrl should be retrieved directly.

imageMime
The MIME type of the 'image' bytes, if those are set.

html
The exact HTML to display for this ad, to support rich or external advertisements.

displayFrequency
If this value is set, this is the relatively frequency that this ad should be displayed in the daily set of ads, relative to a base frequency of 1.0. I.e. an ad with a frequency of 3.0 should be displayed three times more frequently than an ad with a frequency of 1.0.

Struct: SharedNotebook

FieldTypeRequiredDefault value
idi64no
userIdi32no
notebookGuidstringno
emailstringno
notebookModifiableboolno
requireLoginboolno
serviceCreatedTimestampno
shareKeystringno
usernamestringno

Shared notebooks represent a relationship between a notebook and a single share invitation recipient.
id
the primary identifier of the share

userId
The user id of the owner of the notebook

notebookGuid
the GUID of the notebooks that's being shared.

email
the email address of the recipient - used by the notebook owner to identify who they shared with.

notebookModifiable
a flag indicating the a share is read/write -otherwise it's read only

requireLogin
indicates that a user must login to access the share

serviceCreated
the date the owner first created the share with the specific email address

username
the username of the user who can access this share. Once it's assigned it cannot be changed.

Struct: LinkedNotebook

FieldTypeRequiredDefault value
idi64no
shareNamestringno
usernamestringno
shardIdstringno
shareKeystringno
uristringno

A link in an users account that refers them to a public or individual share in another user's account.

id
the primary identify of a linked notebook only used for deleting.

shareName
the display name of the shared notebook. The link owner can change this.

username
the username of the user who owns the shared or public notebook

shardId
the shard ID of the notebook if the notebook is not public

shareKey
the secret key that provides access to the shared notebook

uri
the identifier of the public notebook