Thrift module: Types

ModuleServicesData typesConstants
Types AccountLimits
Accounting
Ad
BusinessInvitation
BusinessInvitationStatus
BusinessNotebook
BusinessUserAttributes
BusinessUserInfo
BusinessUserRole
Contact
ContactType
Data
Guid
Identity
IdentityID
InvalidationSequenceNumber
LazyMap
LinkedNotebook
MessageEventID
MessageThreadID
Note
NoteAttributes
NoteLimits
NoteRestrictions
NoteSortOrder
Notebook
NotebookDescriptor
NotebookRecipientSettings
NotebookRestrictions
PremiumInfo
PremiumOrderStatus
PrivilegeLevel
Publishing
QueryFormat
RelatedContent
RelatedContentAccess
RelatedContentImage
RelatedContentType
ReminderEmailConfig
Resource
ResourceAttributes
SavedSearch
SavedSearchScope
ServiceLevel
SharedNote
SharedNotePrivilegeLevel
SharedNotebook
SharedNotebookInstanceRestrictions
SharedNotebookPrivilegeLevel
SharedNotebookRecipientSettings
SponsoredGroupRole
Tag
Timestamp
User
UserAttributes
UserID
UserIdentity
UserIdentityType
UserProfile
CLASSIFICATION_RECIPE_SERVICE_RECIPE
CLASSIFICATION_RECIPE_USER_NON_RECIPE
CLASSIFICATION_RECIPE_USER_RECIPE
EDAM_NOTE_SOURCE_MAIL_CLIP
EDAM_NOTE_SOURCE_MAIL_SMTP_GATEWAY
EDAM_NOTE_SOURCE_WEB_CLIP
EDAM_NOTE_SOURCE_WEB_CLIP_SIMPLIFIED

Constants

ConstantTypeValue
CLASSIFICATION_RECIPE_USER_NON_RECIPEstring"000"
A value for the "recipe" key in the "classifications" map in NoteAttributes that indicates the user has classified a note as being a non-recipe.
CLASSIFICATION_RECIPE_USER_RECIPEstring"001"
A value for the "recipe" key in the "classifications" map in NoteAttributes that indicates the user has classified a note as being a recipe.
CLASSIFICATION_RECIPE_SERVICE_RECIPEstring"002"
A value for the "recipe" key in the "classifications" map in NoteAttributes that indicates the Evernote service has classified a note as being a recipe.
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_WEB_CLIP_SIMPLIFIEDstring"Clearly"
Standardized value for the 'source' NoteAttribute for notes that were clipped using the "simplified article" function of the clipper.
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
VIP5
MANAGER7
SUPPORT8
ADMIN9

Enumeration: ServiceLevel

This enumeration defines the possible tiers of service that a user may have.

BASIC1
PLUS2
PREMIUM3

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
TITLE5

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

Enumeration: SharedNotebookPrivilegeLevel

Privilege levels for accessing shared notebooks.

Note that as of 2014-04, FULL_ACCESS is synonymous with BUSINESS_FULL_ACCESS. If a user is a member of a business and has FULL_ACCESS privileges, then they will automatically be granted BUSINESS_FULL_ACCESS for notebooks in their business. This will happen implicitly when they attempt to access the corresponding notebooks of the business. BUSINESS_FULL_ACCESS is therefore deprecated.

READ_NOTEBOOK: Recipient is able to read the contents of the shared notebook but does not have access to information about other recipients of the notebook or the activity stream information.

MODIFY_NOTEBOOK_PLUS_ACTIVITY: Recipient has rights to read and modify the contents of the shared notebook, including the right to move notes to the trash and to create notes in the notebook. The recipient can also access information about other recipients and the activity stream.

READ_NOTEBOOK_PLUS_ACTIVITY: Recipient has READ_NOTEBOOK rights and can also access information about other recipients and the activity stream.

GROUP: If the user belongs to a group, such as a Business, that has a defined privilege level, use the privilege level of the group as the privilege for the individual.

FULL_ACCESS: Recipient has full rights to the shared notebook and recipient lists, including privilege to revoke and create invitations and to change privilege levels on invitations for individuals. For members of a business, FULL_ACCESS privilege on business notebooks also grants the ability to change how the notebook will appear when shared with the business, including the rights to share and unshare the notebook with the business.

BUSINESS_FULL_ACCESS: Deprecated. See the note above about BUSINESS_FULL_ACCESS and FULL_ACCESS being synonymous.

READ_NOTEBOOK0
MODIFY_NOTEBOOK_PLUS_ACTIVITY1
READ_NOTEBOOK_PLUS_ACTIVITY2
GROUP3
FULL_ACCESS4
BUSINESS_FULL_ACCESS5

Enumeration: SharedNotePrivilegeLevel

Privilege levels for accessing a shared note. All privilege levels convey "activity feed" access, which allows the recipient to access information about other recipients and the activity stream.

READ_NOTE: Recipient has rights to read the shared note.

MODIFY_NOTE: Recipient has all of the rights of READ_NOTE, plus rights to modify the shared note's content, title and resources. Other fields, including the notebook, tags and metadata, may not be modified.

FULL_ACCESS: Recipient has all of the rights of MODIFY_NOTE, plus rights to share the note with other users via email, public note links, and note sharing. Recipient may also update and remove other recipient's note sharing rights.

READ_NOTE0
MODIFY_NOTE1
FULL_ACCESS2

Enumeration: SponsoredGroupRole

Enumeration of the roles that a User can have within a sponsored group.

GROUP_MEMBER: The user is a member of the group with no special privileges.

GROUP_ADMIN: The user is an administrator within the group.

GROUP_OWNER: The user is the owner of the group.

GROUP_MEMBER1
GROUP_ADMIN2
GROUP_OWNER3

Enumeration: BusinessUserRole

Enumeration of the roles that a User can have within an Evernote Business account.

ADMIN: The user is an administrator of the Evernote Business account.

NORMAL: The user is a regular user within the Evernote Business account.

ADMIN1
NORMAL2

Enumeration: SharedNotebookInstanceRestrictions

An enumeration describing restrictions on the domain of shared notebook instances that are valid for a given operation, as used, for example, in NotebookRestrictions.

ASSIGNED: The domain consists of shared notebooks that belong, or are assigned, to the recipient.

NO_SHARED_NOTEBOOKS: No shared notebooks are applicable to the operation.

ASSIGNED1
NO_SHARED_NOTEBOOKS2

Enumeration: ReminderEmailConfig

An enumeration describing the configuration state related to receiving reminder e-mails from the service. Reminder e-mails summarize notes based on their Note.attributes.reminderTime values.

DO_NOT_SEND: The user has selected to not receive reminder e-mail.

SEND_DAILY_EMAIL: The user has selected to receive reminder e-mail for those days when there is a reminder.

DO_NOT_SEND1
SEND_DAILY_EMAIL2

Enumeration: BusinessInvitationStatus

An enumeration defining the possible states of a BusinessInvitation.

APPROVED: The invitation was created or approved by a business admin and may be redeemed by the invited email.

REQUESTED: The invitation was requested by a non-admin member of the business and must be approved by an admin before it may be redeemed. Invitations in this state do not count against a business' seat limit.

REDEEMED: The invitation has already been redeemed. Invitations in this state do not count against a business' seat limit.

APPROVED0
REQUESTED1
REDEEMED2

Enumeration: ContactType

What kinds of Contacts does the Evernote service know about?

EVERNOTE1
SMS2
FACEBOOK3
EMAIL4
TWITTER5
LINKEDIN6

Enumeration: RelatedContentType

This enumeration defines the possible types of related content.

NEWS_ARTICLE: This related content is a news article PROFILE_PERSON: This match refers to the profile of an individual person PROFILE_ORGANIZATION: This match refers to the profile of an organization REFERENCE_MATERIAL: This related content is material from reference works

NEWS_ARTICLE1
PROFILE_PERSON2
PROFILE_ORGANIZATION3
REFERENCE_MATERIAL4

Enumeration: RelatedContentAccess

This enumeration defines the possible ways to access related content.

NOT_ACCESSIBLE: The content is not accessible given the user's privilege level, but still worth showing as a snippet. The content url may point to a webpage that explains why not, or explains how to access that content.

DIRECT_LINK_ACCESS_OK: The content is accessible directly, and no additional login is required.

DIRECT_LINK_LOGIN_REQUIRED: The content is accessible directly, but an additional login is required.

DIRECT_LINK_EMBEDDED_VIEW: The content is accessible directly, and should be shown in an embedded web view. If the URL refers to a secured location under our control (for example, https://www.evernote.com/*), the client may include user-specific authentication credentials with the request.

NOT_ACCESSIBLE0
DIRECT_LINK_ACCESS_OK1
DIRECT_LINK_LOGIN_REQUIRED2
DIRECT_LINK_EMBEDDED_VIEW3

Enumeration: UserIdentityType



EVERNOTE_USERID1
EMAIL2
IDENTITYID3


Type declarations

Typedef: InvalidationSequenceNumber

Base type: i64

A monotonically incrementing number on each shard that identifies a cross shard cache invalidation event.

Typedef: IdentityID

Base type: i64

A type alias for the primary identifiers for Identity objects.

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

Typedef: MessageEventID

Base type: i64

A sequence number for the MessageStore subsystem.

Typedef: MessageThreadID

Base type: i64

A type alias for the primary identifiers for MessageThread objects.

Data structures

Struct: Data

FieldType
bodyHashstring
sizei32
bodystring

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

FieldType
defaultLocationNamestring
defaultLatitudedouble
defaultLongitudedouble
preactivationbool
viewedPromotionslist<string>
incomingEmailAddressstring
recentMailedAddresseslist<string>
commentsstring
dateAgreedToTermsOfServiceTimestamp
maxReferralsi32
referralCounti32
refererCodestring
sentEmailDateTimestamp
sentEmailCounti32
dailyEmailLimiti32
emailOptOutDateTimestamp
partnerEmailOptInDateTimestamp
preferredLanguagestring
preferredCountrystring
clipFullPagebool
twitterUserNamestring
twitterIdstring
groupNamestring
recognitionLanguagestring
referralProofstring
educationalDiscountbool
businessAddressstring
hideSponsorBillingbool
taxExemptbool
useEmailAutoFilingbool
reminderEmailConfigReminderEmailConfig
emailAddressLastConfirmedTimestamp
passwordUpdatedTimestamp
salesforcePushEnabledbool

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: https://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: https://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.

educationalInstitution
a flag indicating that the user is part of an educational institution which makes them eligible for discounts on bulk purchases

businessAddress
A string recording the business address of a Sponsored Account user who has requested invoicing.

hideSponsorBilling
A flag indicating whether to hide the billing information on a sponsored account owner's settings page

taxExempt
DEPRECATED:A flag indicating the user's sponsored group is exempt from sale tax

useEmailAutoFiling
A flag indicating whether the user chooses to allow Evernote to automatically file and tag emailed notes

reminderEmailConfig
Configuration state for whether or not the user wishes to receive reminder e-mail. This setting applies to both the reminder e-mail sent for personal reminder notes and for the reminder e-mail sent for reminder notes in the user's business notebooks that the user has configured for e-mail notifications.

emailAddressLastConfirmed
If set, this contains the time at which the user last confirmed that the configured email address for this account is correct and up-to-date. If this is unset that indicates that the user's email address is unverified.

passwordUpdated
If set, this contains the time at which the user's password last changed. This will be unset for users created before the addition of this field who have not changed their passwords since the addition of this field.


Struct: BusinessUserAttributes

FieldType
titlestring
locationstring
departmentstring
mobilePhonestring
linkedInProfileUrlstring
workPhonestring
companyStartDateTimestamp

A structure holding the optional attributes associated with users in a business.

title
Free form text of this user's title in the business

location
City, State (for US) or City / Province for other countries

department
Free form text of the department this user belongs to.

mobilePhone
User's mobile phone number. Stored as plain text without any formatting.

linkedInProfileUrl
URL to user's public LinkedIn profile page. This should only contain the portion relative to the base LinkedIn URL. For example: "/pub/john-smith/".

workPhone
User's work phone number. Stored as plain text without any formatting.

companyStartDate
The date on which the user started working at their company.

Struct: Accounting

FieldType
uploadLimitEndTimestamp
uploadLimitNextMonthi64
premiumServiceStatusPremiumOrderStatus
premiumOrderNumberstring
premiumCommerceServicestring
premiumServiceStartTimestamp
premiumServiceSKUstring
lastSuccessfulChargeTimestamp
lastFailedChargeTimestamp
lastFailedChargeReasonstring
nextPaymentDueTimestamp
premiumLockUntilTimestamp
updatedTimestamp
premiumSubscriptionNumberstring
lastRequestedChargeTimestamp
currencystring
unitPricei32
businessIdi32
businessNamestring
businessRoleBusinessUserRole
unitDiscounti32
nextChargeDateTimestamp
availablePointsi32

This represents the bookkeeping information for the user's subscription.

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 reached, 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.
lastRequestedCharge
Date charge last attempted
currency
ISO 4217 currency code
unitPrice
charge in the smallest unit of the currency (e.g. cents for USD)
businessId
DEPRECATED:See BusinessUserInfo.
businessName
DEPRECATED:See BusinessUserInfo.
businessRole
DEPRECATED:See BusinessUserInfo.
unitDiscount
discount per seat in negative amount and smallest unit of the currency (e.g. cents for USD)
nextChargeDate
The next time the user will be charged, may or may not be the same as nextPaymentDue

Struct: BusinessUserInfo

FieldType
businessIdi32
businessNamestring
roleBusinessUserRole
emailstring
updatedTimestamp

This structure is used to provide information about an Evernote Business membership, for members who are part of a business.

businessId
The ID of the Evernote Business account that the user is a member of.
businessName
The human-readable name of the Evernote Business account that the user is a member of.
role
The role of the user within the Evernote Business account that they are a member of.
email
An e-mail address that will be used by the service in the context of your Evernote Business activities. For example, this e-mail address will be used when you e-mail a business note, when you update notes in the account of your business, etc. The business e-mail cannot be used for identification purposes such as for logging into the service.
updated
Last time the business user or business user attributes were updated.

Struct: AccountLimits

FieldType
userMailLimitDailyi32
noteSizeMaxi64
resourceSizeMaxi64
userLinkedNotebookMaxi32
uploadLimiti64
userNoteCountMaxi32
userNotebookCountMaxi32
userTagCountMaxi32
noteTagCountMaxi32
userSavedSearchesMaxi32
noteResourceCountMaxi32

This structure is used to provide account limits that are in effect for this user.
userMailLimitDaily
The number of emails of any type that can be sent by a user from the service per day. If an email is sent to two different recipients, this counts as two emails.
noteSizeMax
Maximum total size of a Note that can be added. The size of a note is calculated as: ENML content length (in Unicode characters) plus the sum of all resource sizes (in bytes).
resourceSizeMax
Maximum size of a resource, in bytes
userLinkedNotebookMax
Maximum number of linked notebooks per account.
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.
userNoteCountMax
Maximum number of Notes per user
userNotebookCountMax
Maximum number of Notebooks per user
userTagCountMax
Maximum number of Tags per account
noteTagCountMax
Maximum number of Tags per Note
userSavedSearchesMax
Maximum number of SavedSearches per account
noteResourceCountMax
The maximum number of Resources per Note

Struct: PremiumInfo

FieldType
currentTimeTimestamp
premiumbool
premiumRecurringbool
premiumExpirationDateTimestamp
premiumExtendablebool
premiumPendingbool
premiumCancellationPendingbool
canPurchaseUploadAllowancebool
premiumUpgradablebool

This structure is used to provide information about a user's Premium account.
currentTime
The server-side date and time when this data was generated.
premium
True if the user's account is Premium.
premiumRecurring
True if the user's account is Premium and has a recurring payment method.
premiumExpirationDate
The date when the user's Premium account expires, or the date when the user's account is due for payment if it has a recurring payment method.
premiumExtendable
True if the user is eligible for purchasing Premium account extensions.
premiumPending
True if the user's Premium account is pending payment confirmation
premiumCancellationPending
True if the user has requested that no further charges to be made; the Premium account will remain active until it expires.
canPurchaseUploadAllowance
True if the user is eligible for purchasing additional upload allowance.
premiumUpgradable
True if the user is eligible for purchasing Premium account upgrade.

Struct: User

FieldType
idUserID
usernamestring
emailstring
namestring
timezonestring
privilegePrivilegeLevel
serviceLevelServiceLevel
createdTimestamp
updatedTimestamp
deletedTimestamp
activebool
shardIdstring
attributesUserAttributes
accountingAccounting
businessUserInfoBusinessUserInfo
photoUrlstring
photoLastUpdatedTimestamp
accountLimitsAccountLimits

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 uniquely identifies a single user account. This name may be presented by the user, along with their password, to log into their account. 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.
Third party applications that authenticate using OAuth do not have access to this field. 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. 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

serviceLevel
The level of service the user currently receives. This will always be populated for users retrieved from the Evernote service.

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
DEPRECATED - Client applications should have no need to use this field.

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

accounting
Bookkeeping information for the user's subscription.

businessUserInfo
If present, this will contain a set of business information relating to the user's business membership. If not present, the user is not currently part of a business.

photoUrl
The URL of the photo that represents this User. This field is filled in by the service and is read-only to clients. If photoLastUpdated is not set, this url will point to a placeholder user photo generated by the service.

photoLastUpdated
The time at which the photo at 'photoUrl' was last updated by this User. This field will be null if the User never set a profile photo. This field is filled in by the service and is read-only to clients.

accountLimits
Account limits applicable for this user.

Struct: Contact

FieldType
namestring
idstring
typeContactType
photoUrlstring
photoLastUpdatedTimestamp
messagingPermitstring
messagingPermitExpiresTimestamp

A structure that represents contact information. Note this does not necessarily correspond to an Evernote user.

name
The displayable name of this contact. This field is filled in by the service and is read-only to clients.
id
A unique identifier for this ContactType.
type
What service does this contact come from?
photoUrl
A URL of a profile photo representing this Contact. This field is filled in by the service and is read-only to clients.
photoLastUpdated
timestamp when the profile photo at 'photoUrl' was last updated. This field will be null if the user has never set a profile photo. This field is filled in by the service and is read-only to clients.
messagingPermit
This field will only be filled by the service when it is giving a Contact record to a client, and that client does not normally have enough permission to send a new message to the person represented through this Contact. In that case, this whole Contact record could be used to send a new Message to the Contact, and the service will inspect this permit to confirm that operation was allowed.
messagingPermitExpires
If this field is set, then this (whole) Contact record may be used in calls to sendMessage until this time. After that time, those calls may be rejected by the service if the caller does not have direct permission to initiate a message with the represented Evernote user.

Struct: Identity

FieldType
idIdentityID
contactContact
userIdUserID
deactivatedbool
sameBusinessbool
blockedbool
userConnectedbool
eventIdMessageEventID

An object that represents the relationship between a Contact that possibly belongs to an Evernote User.

id
The unique identifier for this mapping.

contact
The Contact that can be used to address this Identity. May be unset.

userId
The Evernote User id that is connected to the Contact. May be unset if this identity has not yet been claimed, or the caller is not connected to this identity.

deactivated
Indicates that the contact for this identity is no longer active and should not be used when creating new threads using Destination.recipients, unless you know of another Identity instance with the same contact information that is active. If you are connected to the user (see userConnected), you can still create threads using their Evernote-type contact.

sameBusiness
Does this Identity belong to someone who is in the same business as the caller?

blocked
Has the caller blocked the Evernote user this Identity represents?

userConnected
Indicates that the caller is "connected" to the user of this identity via this identity. When you have a connection via an identity, you should always create new threads using the Evernote-type contact (see ContactType) using the userId field from a connected Identity. On the Evernote service, the Evernote-type contact is the most durable. Phone numbers and e-mail addresses can get re-assigned but your Evernote account user ID will remain the same. A connection exists when both of you are in the same business or the user has replied to a thread that you are on. When connected, you will also get to see more information about the user who has claimed the identity. Note that you are never connected to yourself since you won't be sending messages to yourself, but you will obviously see your own profile information.

eventId
A server-assigned sequence number for the events in the messages subsystem.

Struct: Tag

FieldType
guidGuid
namestring
parentGuidGuid
updateSequenceNumi32

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 hierarchy. 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: LazyMap

FieldType
keysOnlyset<string>
fullMapmap<string, string>

A structure that wraps a map of name/value pairs whose values are not always present in the structure in order to reduce space when obtaining batches of entities that contain the map.

When the server provides the client with a LazyMap, it will fill in either the keysOnly field or the fullMap field, but never both, based on the API and parameters.

When a client provides a LazyMap to the server as part of an update to an object, the server will only update the LazyMap if the fullMap field is set. If the fullMap field is not set, the server will not make any changes to the map.

Check the API documentation of the individual calls involving the LazyMap for full details including the constraints of the names and values of the map.

keysOnly
The set of keys for the map. This field is ignored by the server when set.

fullMap
The complete map, including all keys and values.

Struct: ResourceAttributes

FieldType
sourceURLstring
timestampTimestamp
latitudedouble
longitudedouble
altitudedouble
cameraMakestring
cameraModelstring
clientWillIndexbool
recoTypestring
fileNamestring
attachmentbool
applicationDataLazyMap

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 should be displayed as an attachment, or false if the resource should be displayed inline (if possible).

applicationData
Provides a location for applications to store a relatively small (4kb) blob of data associated with a Resource that is not visible to the user and that is opaque to the Evernote service. A single application may use at most one entry in this map, using its API consumer key as the map key. See the documentation for LazyMap for a description of when the actual map values are returned by the service.

To safely add or modify your application's entry in the map, use NoteStore.setResourceApplicationDataEntry. To safely remove your application's entry from the map, use NoteStore.unsetResourceApplicationDataEntry.

Minimum length of a name (key): EDAM_APPLICATIONDATA_NAME_LEN_MIN
Sum max size of key and value: EDAM_APPLICATIONDATA_ENTRY_LEN_MAX
Syntax regex for name (key): EDAM_APPLICATIONDATA_NAME_REGEX


Struct: Resource

FieldType
guidGuid
noteGuidGuid
dataData
mimestring
widthi16
heighti16
durationi16
activebool
recognitionData
attributesResourceAttributes
updateSequenceNumi32
alternateDataData

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 EDAM_RESOURCE_SIZE_MAX_FREE for free accounts and EDAM_RESOURCE_SIZE_MAX_PREMIUM for premium accounts.

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

FieldType
subjectDateTimestamp
latitudedouble
longitudedouble
altitudedouble
authorstring
sourcestring
sourceURLstring
sourceApplicationstring
shareDateTimestamp
reminderOrderi64
reminderDoneTimeTimestamp
reminderTimeTimestamp
placeNamestring
contentClassstring
applicationDataLazyMap
lastEditedBystring
classificationsmap<string, string>
creatorIdUserID
lastEditorIdUserID
sharedWithBusinessbool
conflictSourceNoteGuidGuid
noteTitleQualityi32

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 desktop client.
Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX

sourceURL
the original location where the resource was hosted. For web clips, this will be the URL of the page that was clipped.
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

shareDate
The date and time when this note was directly shared via its own URL. This is only set on notes that were individually shared - it is independent of any notebook-level sharing of the containing notebook. This field is treated as "read-only" for clients; the server will ignore changes to this field from an external client.

reminderOrder
The set of notes with this parameter set are considered "reminders" and are to be treated specially by clients to give them higher UI prominence within a notebook. The value is used to sort the reminder notes within the notebook with higher values representing greater prominence. Outside of the context of a notebook, the value of this parameter is undefined. The value is not intended to be compared to the values of reminder notes in other notebooks. In order to allow clients to place a note at a higher precedence than other notes, you should never set a value greater than the current time (as defined for a Timetstamp). To place a note at higher precedence than existing notes, set the value to the current time as defined for a timestamp (milliseconds since the epoch). Synchronizing clients must remember the time when the update was performed, using the local clock on the client, and use that value when they later upload the note to the service. Clients must not set the reminderOrder to the reminderTime as the reminderTime could be in the future. Those two fields are never intended to be related. The correct value for reminderOrder field for new notes is the "current" time when the user indicated that the note is a reminder. Clients may implement a separate "sort by date" feature to show notes ordered by reminderTime. Whenever a reminderDoneTime or reminderTime is set but a reminderOrder is not set, the server will fill in the current server time for the reminderOrder field.

reminderDoneTime
The date and time when a user dismissed/"marked done" the reminder on the note. Users typically do not manually set this value directly as it is set to the time when the user dismissed/"marked done" the reminder.

reminderTime
The date and time a user has selected to be reminded of the note. A note with this value set is known as a "reminder" and the user can be reminded, via e-mail or client-specific notifications, of the note when the time is reached or about to be reached. When a user sets a reminder time on a note that has a reminder done time, and that reminder time is in the future, then the reminder done time should be cleared. This should happen regardless of any existing reminder time that may have previously existed on the note.

placeName
Allows the user to assign a human-readable location name associated with a note. Users may assign values like 'Home' and 'Work'. Place names may also be populated with values from geonames database (e.g., a restaurant name). Applications are encouraged to normalize values so that grouping values by place name provides a useful result. Applications MUST NOT automatically add place name values based on geolocation without confirmation from the user; that is, the value in this field should be more useful than a simple automated lookup based on the note's latitude and longitude.

contentClass
The class (or type) of note. This field is used to indicate to clients that special structured information is represented within the note such that special rules apply when making modifications. If contentClass is set and the client application does not specifically support the specified class, the client MUST treat the note as read-only. In this case, the client MAY modify the note's notebook and tags via the Note.notebookGuid and Note.tagGuids fields. The client MAY also modify the reminderOrder field as well as the reminderTime and reminderDoneTime fields.

Applications should set contentClass only when they are creating notes that contain structured information that needs to be maintained in order for the user to be able to use the note within that application. Setting contentClass makes a note read-only in other applications, so there is a trade-off when an application chooses to use contentClass. Applications that set contentClass when creating notes must use a contentClass string of the form CompanyName.ApplicationName to ensure uniqueness.

Length restrictions: EDAM_NOTE_CONTENT_CLASS_LEN_MIN, EDAM_NOTE_CONTENT_CLASS_LEN_MAX
Regex: EDAM_NOTE_CONTENT_CLASS_REGEX

applicationData
Provides a location for applications to store a relatively small (4kb) blob of data that is not meant to be visible to the user and that is opaque to the Evernote service. A single application may use at most one entry in this map, using its API consumer key as the map key. See the documentation for LazyMap for a description of when the actual map values are returned by the service.

To safely add or modify your application's entry in the map, use NoteStore.setNoteApplicationDataEntry. To safely remove your application's entry from the map, use NoteStore.unsetNoteApplicationDataEntry.

Minimum length of a name (key): EDAM_APPLICATIONDATA_NAME_LEN_MIN
Sum max size of key and value: EDAM_APPLICATIONDATA_ENTRY_LEN_MAX
Syntax regex for name (key): EDAM_APPLICATIONDATA_NAME_REGEX

creatorId
The numeric user ID of the user who originally created the note.

lastEditedBy
An indication of who made the last change to the note. If you are accessing the note via a shared notebook to which you have modification rights, or if you are the owner of the notebook to which the note belongs, then you have access to the value. In this case, the value will be unset if the owner of the notebook containing the note was the last to make the modification, else it will be a string describing the guest who made the last edit. If you do not have access to this value, it will be left unset. This field is read-only by clients. The server will ignore all values set by clients into this field.

lastEditorId
The numeric user ID of the user described in lastEditedBy.

classifications
A map of classifications applied to the note by clients or by the Evernote service. The key is the string name of the classification type, and the value is a constant that begins with CLASSIFICATION_.

sharedWithBusiness
When this flag is set on a business note, any user in that business may view the note if they request it by GUID. This field is read-only by clients. The server will ignore all values set by clients into this field.

To share a note with the business, use NoteStore.shareNoteWithBusiness and to stop sharing a note with the business, use NoteStore.stopSharingNoteWithBusiness.

conflictSourceNoteGuid
If set, this specifies the GUID of a note that caused a sync conflict resulting in the creation of a duplicate note. The duplicated note contains the user's changes that could not be applied as a result of the sync conflict, and uses the conflictSourceNoteGuid field to specify the note that caused the conflict. This allows clients to provide a customized user experience for note conflicts.

noteTitleQuality
If set, this specifies that the note's title was automatically generated and indicates the likelihood that the generated title is useful for display to the user. If not set, the note's title was manually entered by the user.

Clients MUST set this attribute to one of the following values when the corresponding note's title was not manually entered by the user: EDAM_NOTE_TITLE_QUALITY_UNTITLED, EDAM_NOTE_TITLE_QUALITY_LOW, EDAM_NOTE_TITLE_QUALITY_MEDIUM or EDAM_NOTE_TITLE_QUALITY_HIGH.

When a user edits a note's title, clients MUST unset this value.


Struct: SharedNote

FieldType
sharerUserIDUserID
recipientIdentityIdentity
privilegeSharedNotePrivilegeLevel
serviceCreatedTimestamp
serviceUpdatedTimestamp
serviceAssignedTimestamp

Represents a relationship between a note and a single share invitation recipient. The recipient is identified via an Identity, and has a given privilege that specifies what actions they may take on the note.

sharerUserID
The user ID of the user who shared the note with the recipient.

recipientIdentity
The identity of the recipient of the share. For a given note, there may be only one SharedNote per recipient identity. Only recipientIdentity.id is guaranteed to be set. Other fields on the Identity may or my not be set based on the requesting user's relationship with the recipient.

privilege
The privilege level that the share grants to the recipient.

serviceCreated
The time at which the share was created.

serviceUpdated
The time at which the share was last updated.

serviceAssigned
The time at which the share was assigned to a specific recipient user ID.

Struct: NoteRestrictions

FieldType
noUpdateTitlebool
noUpdateContentbool
noEmailbool
noSharebool
noSharePubliclybool

This structure captures information about the operations that cannot be performed on a given note that has been shared with a recipient via a SharedNote. The following operations are never allowed based on SharedNotes, and as such are left out of the NoteRestrictions structure for brevity:

When a client has permission to update a note's title or content, it may also update the Note.updated timestamp.

This structure reflects only the privileges / restrictions conveyed by the SharedNote. It does not incorporate privileges conveyed by a potential SharedNotebook to the same recipient. As such, the actual permissions that the recipient has on the note may differ from the permissions expressed in this structure.

For example, consider a user with read-only access to a shared notebook, and a read-write share of a specific note in the notebook. The note restrictions would contain noUpdateTitle = false, while the notebook restrictions would contain noUpdateNotes = true. In this case, the user is allowed to update the note title based on the note restrictions.

Alternatively, consider a user with read-write access to a shared notebook, and a read-only share of a specific note in that notebook. The note restrictions would contain noUpdateTitle = true, while the notebook restrictions would contain noUpdateNotes = false. In this case, the user would have full edit permissions on the note based on the notebook restrictions.

noUpdateTitle
The client may not update the note's title (Note.title).

noUpdateContent
The client may not update the note's content. Content includes Note.content and Note.resources, as well as the related fields Note.contentHash and Note.contentLength.

noEmail
The client may not email the note (NoteStore.emailNote).

noShare
The client may not share the note with specific recipients (NoteStore.createOrUpdateSharedNotes).

noSharePublicly
The client may not make the note public (NoteStore.shareNote).

Struct: NoteLimits

FieldType
noteResourceCountMaxi32
uploadLimiti64
resourceSizeMaxi64
noteSizeMaxi64
uploadedi64

Represents the owner's account related limits on a Note. The field uploaded represents the total number of bytes that have been uploaded to this account and is taken from the SyncState struct. All other fields represent account related limits and are taken from the AccountLimits struct.

See SyncState and AccountLimits struct field definitions for more details.

Struct: Note

FieldType
guidGuid
titlestring
contentstring
contentHashstring
contentLengthi32
createdTimestamp
updatedTimestamp
deletedTimestamp
activebool
updateSequenceNumi32
notebookGuidstring
tagGuidslist<Guid>
resourceslist<Resource>
attributesNoteAttributes
tagNameslist<string>
sharedNoteslist<SharedNote>
restrictionsNoteRestrictions
limitsNoteLimits

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).

sharedNotes
The list of recipients with whom this note has been shared. This field will be unset if the caller has access to the note via the containing notebook, but does not have activity feed permission for that notebook. This field is read-only. Clients may not make changes to a note's sharing state via this field.

restrictions
If this field is set, the user has note-level permissions that may differ from their notebook-level permissions. In this case, the restrictions structure specifies a set of restrictions limiting the actions that a user may take on the note based on their note-level permissions. If this field is unset, then there are no note-specific restrictions. However, a client may still be limited based on the user's notebook permissions.

Struct: Publishing

FieldType
uristring
orderNoteSortOrder
ascendingbool
publicDescriptionstring

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: BusinessNotebook

FieldType
notebookDescriptionstring
privilegeSharedNotebookPrivilegeLevel
recommendedbool

If a Notebook contained in an Evernote Business account has been published the to business library, the Notebook will have a reference to one of these structures, which specifies how the Notebook will be represented in the library.

notebookDescription
A short description of the notebook's content that will be displayed in the business library user interface. The description may not begin or end with whitespace.
Length: EDAM_BUSINESS_NOTEBOOK_DESCRIPTION_LEN_MIN - EDAM_BUSINESS_NOTEBOOK_DESCRIPTION_LEN_MAX
Regex: EDAM_BUSINESS_NOTEBOOK_DESCRIPTION_REGEX

privilege
The privileges that will be granted to users who join the notebook through the business library.

recommended
Whether the notebook should be "recommended" when displayed in the business library user interface.

Struct: SavedSearchScope

FieldType
includeAccountbool
includePersonalLinkedNotebooksbool
includeBusinessLinkedNotebooksbool

A structure defining the scope of a SavedSearch.

includeAccount
The search should include notes from the account that contains the SavedSearch.

includePersonalLinkedNotebooks
The search should include notes within those shared notebooks that the user has joined that are NOT business notebooks.

includeBusinessLinkedNotebooks
The search should include notes within those shared notebooks that the user has joined that are business notebooks in the business that the user is currently a member of.

Struct: SavedSearch

FieldType
guidGuid
namestring
querystring
formatQueryFormat
updateSequenceNumi32
scopeSavedSearchScope

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.

scope

Specifies the set of notes that should be included in the search, if possible.

Clients are expected to search as much of the desired scope as possible, with the understanding that a given client may not be able to cover the full specified scope. For example, when executing a search that includes notes in both the owner's account and business notebooks, a mobile client may choose to only search within the user's account because it is not capable of searching both scopes simultaneously. When a search across multiple scopes is not possible, a client may choose which scope to search based on the current application context. If a client cannot search any of the desired scopes, it should refuse to execute the search.


Struct: Ad

FieldType
idi32
widthi16
heighti16
advertiserNamestring
imageUrlstring
destinationUrlstring
displaySecondsi16
scoredouble
imagestring
imageMimestring
htmlstring
displayFrequencydouble
openInTrunkbool

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.

openInTrunk
If true, the ad should be opened in the embedded Trunk window by clients with Trunk support.

Struct: SharedNotebookRecipientSettings

FieldType
reminderNotifyEmailbool
reminderNotifyInAppbool

Settings meant for the recipient of a shared notebook, such as for indicating which types of notifications the recipient wishes for reminders, etc.

The reminderNotifyEmail and reminderNotifyInApp fields have a 3-state read value but a 2-state write value. On read, it is possible to observe "unset", true, or false. The initial state is "unset". When you choose to set a value, you may set it to either true or false, but you cannot unset the value. Once one of these members has a true/false value, it will always have a true/false value.

reminderNotifyEmail
Indicates that the user wishes to receive daily e-mail notifications for reminders associated with the notebook. This may be true only for business notebooks that belong to the business of which the user is a member. You may only set this value on a notebook in your business.
reminderNotifyInApp
Indicates that the user wishes to receive notifications for reminders by applications that support providing such notifications. The exact nature of the notification is defined by the individual applications.


Struct: NotebookRecipientSettings

FieldType
reminderNotifyEmailbool
reminderNotifyInAppbool
inMyListbool
stackstring

Settings meant for the recipient of a notebook share.

Some of these fields have a 3-state read value but a 2-state write value. On read, it is possible to observe "unset", true, or false. The initial state is "unset". When you choose to set a value, you may set it to either true or false, but you cannot unset the value. Once one of these members has a true/false value, it will always have a true/false value.

reminderNotifyEmail
Indicates that the user wishes to receive daily e-mail notifications for reminders associated with the notebook. This may be true only for business notebooks that belong to the business of which the user is a member. You may only set this value on a notebook in your business. This value will initially be unset.
reminderNotifyInApp
Indicates that the user wishes to receive notifications for reminders by applications that support providing such notifications. The exact nature of the notification is defined by the individual applications. This value will initially be unset.
inMyList
The notebook is on the recipient's notebook list (formerly, we would say that the recipient has "joined" the notebook)
stack
The stack the recipient has put this notebook into. See Notebook.stack for a definition. Every recipient can have their own stack value for the same notebook.


Struct: SharedNotebook

FieldType
idi64
userIdUserID
notebookGuidGuid
emailstring
recipientIdentityIdIdentityID
notebookModifiablebool
serviceCreatedTimestamp
serviceUpdatedTimestamp
globalIdstring
usernamestring
privilegeSharedNotebookPrivilegeLevel
recipientSettingsSharedNotebookRecipientSettings
sharerUserIdUserID
recipientUsernamestring
recipientUserIdUserID
serviceAssignedTimestamp

Shared notebooks represent a relationship between a notebook and a single share invitation recipient.
id
The primary identifier of the share, which is not globally unique.

userId
The user id of the owner of the notebook.

notebookGuid
The GUID of the notebook that has been shared.

email
A string containing a display name for the recipient of the share. This may be an email address, a phone number, a full name, or some other descriptive string This field is read-only to clients. It will be filled in by the service when returning shared notebooks.

recipientIdentityId
The IdentityID of the share recipient. If present, only the user who has claimed that identity may access this share.

notebookModifiable
DEPRECATED

serviceCreated
The date that the owner first created the share with the specific email address.

serviceUpdated
The date the shared notebook was last updated on the service. This will be updated when authenticateToSharedNotebook is called the first time with a shared notebook (i.e. when the username is bound to that shared notebook), and also when the SharedNotebook privilege is updated as part of a shareNotebook(...) call, as well as on any calls to updateSharedNotebook(...).

username
DEPRECATED. The username of the user who can access this share. This value is read-only to clients. It will be filled in by the service when returning shared notebooks.

privilege
The privilege level granted to the notebook, activity stream, and invitations. See the corresponding enumeration for details.

recipientSettings
Settings intended for use only by the recipient of this shared notebook. You should skip setting this value unless you want to change the value contained inside the structure, and only if you are the recipient.

globalId
An immutable, opaque string that acts as a globally unique identifier for this shared notebook record. You can use this field to match linked notebook and shared notebook records as well as to create new LinkedNotebook records. This field replaces the deprecated shareKey field.

sharerUserId
The user id of the user who shared a notebook via this shared notebook instance. This may not be the same as userId, since a user with full access to a notebook may have created a new share for that notebook. For Business, this represents the user who shared the business notebook. This field is currently unset for a SharedNotebook created by joining a notebook that has been published to the business.

recipientUsername
The username of the user who can access this share. This is the username for the user with the id in recipientUserId. This value can be set by clients when calling shareNotebook(...), and that will result in the created SharedNotebook being assigned to a user. This value is always set if serviceAssigned is set.

recipientUserId
The id of the user who can access this share. This is the id for the user with the username in recipientUsername. This value is read-only and set by the service. Value set by clients will be ignored. This field may be unset for unjoined notebooks and is always set if serviceAssigned is set. Clients should prefer this field over recipientUsername unless they need to use usernames directly.

serviceAssigned
The date this SharedNotebook was assigned (i.e. has been associated with an Evernote user whose user ID is set in recipientUserId). Unset if the SharedNotebook is not assigned. This field is a read-only value that is set by the service.

Struct: NotebookRestrictions

FieldType
noReadNotesbool
noCreateNotesbool
noUpdateNotesbool
noExpungeNotesbool
noShareNotesbool
noEmailNotesbool
noSendMessageToRecipientsbool
noUpdateNotebookbool
noExpungeNotebookbool
noSetDefaultNotebookbool
noSetNotebookStackbool
noPublishToPublicbool
noPublishToBusinessLibrarybool
noCreateTagsbool
noUpdateTagsbool
noExpungeTagsbool
noSetParentTagbool
noCreateSharedNotebooksbool
updateWhichSharedNotebookRestrictionsSharedNotebookInstanceRestrictions
expungeWhichSharedNotebookRestrictionsSharedNotebookInstanceRestrictions
noShareNotesWithBusinessbool
noRenameNotebookbool

This structure captures information about the types of operations that cannot be performed on a given notebook with a type of authenticated access and credentials. The values filled into this structure are based on then-current values in the server database for shared notebooks and notebook publishing records, as well as information related to the authentication token. Information from the authentication token includes the application that is accessing the server, as defined by the permissions granted by consumer (api) key, and the method used to obtain the token, for example via authenticateToSharedNotebook, authenticateToBusiness, etc. Note that changes to values in this structure that are the result of shared notebook or publishing record changes are communicated to the client via a change in the notebook USN during sync. It is important to use the same access method, parameters, and consumer key in order obtain correct results from the sync engine.

The server has the final say on what is allowed as values may change between calls to obtain NotebookRestrictions instances and to operate on data on the service.

If the following are set and true, then the given restriction is in effect, as accessed by the same authentication token from which the values were obtained.

noReadNotes
The client is not able to read notes from the service and the notebook is write-only.
noCreateNotes
The client may not create new notes in the notebook.
noUpdateNotes
The client may not update notes currently in the notebook.
noExpungeNotes
The client may not expunge notes currently in the notebook.
noShareNotes
The client may not share notes in the notebook via the shareNote or createOrUpdateSharedNotes methods.
noEmailNotes
The client may not e-mail notes via the Evernote service by using the emailNote method.
noSendMessageToRecipients
The client may not send messages to the share recipients of the notebook.
noUpdateNotebook
The client may not update the Notebook object itself, for example, via the updateNotebook method.
noExpungeNotebook
The client may not expunge the Notebook object itself, for example, via the expungeNotebook method.
noSetDefaultNotebook
The client may not set this notebook to be the default notebook. The caller should leave Notebook.defaultNotebook unset.
noSetNotebookStack
If the client is able to update the Notebook, the Notebook.stack value may not be set.
noPublishToPublic
The client may not publish the notebook to the public. For example, business notebooks may not be shared publicly.
noPublishToBusinessLibrary
The client may not publish the notebook to the business library.
noCreateTags
The client may not complete an operation that results in a new tag being created in the owner's account.
noUpdateTags
The client may not update tags in the owner's account.
noExpungeTags
The client may not expunge tags in the owner's account.
noSetParentTag
If the client is able to create or update tags in the owner's account, then they will not be able to set the parent tag. Leave the value unset.
noCreateSharedNotebooks
The client is unable to create shared notebooks for the notebook.
updateWhichSharedNotebookRestrictions
Restrictions on which shared notebook instances can be updated. If the value is not set or null, then the client can update any of the shared notebooks associated with the notebook on which the NotebookRestrictions are defined. See the enumeration for further details.
expungeWhichSharedNotebookRestrictions
Restrictions on which shared notebook instances can be expunged. If the value is not set or null, then the client can expunge any of the shared notebooks associated with the notebook on which the NotebookRestrictions are defined. See the enumeration for further details.
noShareNotesWithBusiness
The client may not share notes in the notebook via the shareNoteWithBusiness method.
noRenameNotebook
The client may not rename this notebook


Struct: Notebook

FieldType
guidGuid
namestring
updateSequenceNumi32
defaultNotebookbool
serviceCreatedTimestamp
serviceUpdatedTimestamp
publishingPublishing
publishedbool
stackstring
sharedNotebookIdslist<i64>
sharedNotebookslist<SharedNotebook>
businessNotebookBusinessNotebook
contactUser
restrictionsNotebookRestrictions
recipientSettingsNotebookRecipientSettings

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, 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(). Note that this structure is never populated for business notebooks, see the businessNotebook field.

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

stack
If this is set, then the notebook is visually contained within a stack of notebooks with this name. All notebooks in the same account with the same 'stack' field are considered to be in the same stack. Notebooks with no stack set are "top level" and not contained within a stack.

sharedNotebookIds
DEPRECATED - replaced by sharedNotebooks.

sharedNotebooks
The list of recipients to whom this notebook has been shared (one SharedNotebook object per recipient email address). This field will be unset if you do not have permission to access this data. If you are accessing the notebook as the owner or via a shared notebook that is modifiable, then you have access to this data and the value will be set. This field is read-only. Clients may not make changes to shared notebooks via this field.

businessNotebook
If the notebook is part of a business account and has been shared with the entire business, this will contain sharing information. The presence or absence of this field is not a reliable test of whether a given notebook is in fact a business notebook - the field is only used when a notebook is or has been shared with the entire business.

contact
Intended for use with Business accounts, this field identifies the user who has been designated as the "contact". For notebooks created in business accounts, the server will automatically set this value to the user who created the notebook unless Notebook.contact.username has been set, in which that value will be used. When updating a notebook, it is common to leave Notebook.contact field unset, indicating that no change to the value is being requested and that the existing value, if any, should be preserved.

recipientSettings
This represents the preferences/settings that a recipient has set for this notebook. These are intended to be changed only by the recipient, and each recipient has their own recipient settings.

Struct: LinkedNotebook

FieldType
shareNamestring
usernamestring
shardIdstring
sharedNotebookGlobalIdstring
uristring
guidGuid
updateSequenceNumi32
noteStoreUrlstring
webApiUrlPrefixstring
stackstring
businessIdi32

A link in a user's account that refers them to a public or individual shared notebook in another user's account.

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.

uri
The identifier of the public notebook.

guid
The unique identifier of this linked notebook. Will be set whenever a linked notebook is retrieved from the service, but may be null when a client is creating a linked notebook.
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.

noteStoreUrl
This field will contain the full URL that clients should use to make NoteStore requests to the server shard that contains that notebook's data. I.e. this is the URL that should be used to create the Thrift HTTP client transport to send messages to the NoteStore service for the account.

webApiUrlPrefix:
This field will contain the initial part of the URLs that should be used to make requests to Evernote's thin client "web API", which provide optimized operations for clients that aren't capable of manipulating the full contents of accounts via the full Thrift data model. Clients should concatenate the relative path for the various servlets onto the end of this string to construct the full URL, as documented on our developer web site.

stack
If this is set, then the notebook is visually contained within a stack of notebooks with this name. All notebooks in the same account with the same 'stack' field are considered to be in the same stack. Notebooks with no stack set are "top level" and not contained within a stack. The link owner can change this and this field is for the benefit of the link owner.

businessId
If set, this will be the unique identifier for the business that owns the notebook to which the linked notebook refers.

sharedNotebookGlobalId
The globally unique identifier (globalId) of the shared notebook that corresponds to the share key, or the GUID of the Notebook that the linked notebook refers to. This field must be filled in with the SharedNotebook.globalId or Notebook.GUID value when creating new LinkedNotebooks. This field replaces the deprecated "shareKey" field.

Struct: NotebookDescriptor

FieldType
guidGuid
notebookDisplayNamestring
contactNamestring
hasSharedNotebookbool
joinedUserCounti32

A structure that describes a notebook or a user's relationship with a notebook. NotebookDescriptor is expected to remain a lighter-weight structure when compared to Notebook.
guid
The unique identifier of the notebook.

notebookDisplayName
A sequence of characters representing the name of the notebook.

contactName
The User.name value of the notebook's "contact".

hasSharedNotebook
Whether a SharedNotebook record exists between the calling user and this notebook.

joinedUserCount
The number of users who have joined this notebook.


Struct: UserProfile

FieldType
idUserID
namestring
emailstring
usernamestring
attributesBusinessUserAttributes
joinedTimestamp
photoLastUpdatedTimestamp
photoUrlstring
roleBusinessUserRole

This structure represents profile information for a user in a business.

id
The numeric identifier that uniquely identifies a user.

name
The full name of the user.

email
The user's business email address. If the user has not registered their business email address, this field will contain the user's personal email address.

username
The user's Evernote username.

attributes
The user's business specific attributes.

joined
The time when the user joined the business

photoLastUpdated
The time when the user's profile photo was most recently updated

photoUrl
A URL identifying a copy of the user's current profile photo

role
The BusinessUserRole for the user


Struct: RelatedContentImage

FieldType
urlstring
widthi32
heighti32
pixelRatiodouble
fileSizei32

An external image that can be shown with a related content snippet, usually either a JPEG or PNG image. It is up to the client which image(s) are shown, depending on available screen real estate, resolution and aspect ratio.

url
The external URL of the image
width
The width of the image, in pixels.
height
The height of the image, in pixels.
pixelRatio
the pixel ratio (usually either 1.0, 1.5 or 2.0)
fileSize
the size of the image file, in bytes

Struct: RelatedContent

FieldType
contentIdstring
titlestring
urlstring
sourceIdstring
sourceUrlstring
sourceFaviconUrlstring
sourceNamestring
dateTimestamp
teaserstring
thumbnailslist<RelatedContentImage>
contentTypeRelatedContentType
accessTypeRelatedContentAccess
visibleUrlstring
clipUrlstring
contactContact
authorslist<string>

A structure identifying one snippet of related content (some information that is not part of an Evernote account but might still be relevant to the user).

contentId
An identifier that uniquely identifies the content.

title
The main title to show.

url
The URL the client can use to retrieve the content.

sourceId
An identifier that uniquely identifies the source.

sourceUrl
A URL the client can access to know more about the source.

sourceFaviconUrl
The favicon URL of the source which the content belongs to.

sourceName
A human-readable name of the source that provided this content.

date
A timestamp telling the user about the recency of the content.

teaser
A teaser text to show to the user; usually the first few sentences of the content, excluding the title.

thumbnails
A list of thumbnails the client can show in the snippet.

contentType
The type of this related content.

accessType
An indication of how this content can be accessed. This type influences the semantics of the url parameter.

visibleUrl
If set, the client should show this URL to the user, instead of the URL that was used to retrieve the content. This URL should be used when opening the content in an external browser window, or when sharing with another person.

clipUrl
If set, the client should use this URL for clipping purposes, instead of the URL that was used to retrieve the content. The clipUrl may directly point to an .enex file, for example.

contact
If set, the client may use this Contact for messaging purposes. This will typically only be set for user profiles.

authors
For News articles only. A list of names of the article authors, if available.


Struct: BusinessInvitation

FieldType
businessIdi32
emailstring
roleBusinessUserRole
statusBusinessInvitationStatus
requesterIdUserID
fromWorkChatbool
createdTimestamp

A structure describing an invitation to join a business account.

businessId
The ID of the business to which the invitation grants access.

email
The email address that was invited to join the business.

role
The role to grant the user after the invitation is accepted.

status
The status of the invitation.

requesterId
For invitations that were initially requested by a non-admin member of the business, this field specifies the user ID of the requestor. For all other invitations, this field will be unset.
fromWorkChat
If this invitation was created implicitly via a WorkChat, this field will be true.
created
The timestamp at which this invitation was created.

Struct: UserIdentity

FieldType
typeUserIdentityType
stringIdentifierstring
longIdentifieri64

A structure that holds user identifying information such as an email address, Evernote user ID, or an identifier from a 3rd party service. An instance consists of a type and a value, where the value will be stored in one of the value fields depending upon the data type required for the identity type.

When used with shared notebook invitations, a UserIdentity identifies a particular person who may not (yet) have an Evernote UserID UserIdentity but who has (almost) unique access to the service endpoint described by the UserIdentity. For example, an e-mail UserIdentity can identify the person who receives e-mail at the given address, and who can therefore read the share key that has a cryptographic signature from the Evernote service. With the share key, this person can supply their Evernote UserID via an authentication token to join the notebook (authenticateToSharedNotebook), at which time we have associated the e-mail UserIdentity with an Evernote UserID UserIdentity. Note that using shared notebook records, the relationship between Evernote UserIDs and e-mail addresses is many to many.

Note that the identifier may not directly identify a particular Evernote UserID UserIdentity without further verification. For example, an e-mail UserIdentity may be associated with an invitation to join a notebook (via a shared notebook record), but until a user uses a share key, that was sent to that e-mail address, to join the notebook, we do not know an Evernote UserID UserIdentity ID to match the e-mail address.