Service: zimbraMail

Command: Search
Namespace: urn:zimbraMail
Description: Search
For a response, the order of the returned results represents the sorted order. There is not a separate index attribute or element.
Properties:
Authorization token required true
Admin Authorization token required false

SearchRequest

    <SearchRequest [warmup="(0|1)"] [includeTagDeleted="{include-items-tagged-for-delete} (0|1)"]
                      [includeTagMuted="{include-items-tagged-for-delete} (0|1)"]
                      [calExpandInstStart="{cal-item-expand-start-time-in-msec} (Long)"]
                      [calExpandInstEnd="{cal-item-expand-end-time-in-msec} (Long)"] [inDumpster="(0|1)"]
                      [types="{comma-sep-search-types}"] [groupBy="{deprecated-group-by}"] [quick="(0|1)"]
                      [sortBy="{sort-by}"] [fetch="..."] [read="{mark-as-read} (0|1)"] [max="{max-inlined-length} (Integer)"]
                      [html="{want-html} (0|1)"] [needExp="{need-can-expand} (0|1)"] [neuter="{neuter-images} (0|1)"]
                      [recip="{want-recipients} (0 | 1 | 2 | false | true)"] [prefetch="(0|1)"] [resultMode="{result-mode}"]
                      [fullConversation="{full-conversation} (0|1)"] [field="{default-field}"] [limit="(Integer)"]
                      [offset="(Integer)"] [wantContent="{want-content} (full | original | both)"]
                      [memberOf="{include-member-of} (0|1)"]> ## SearchRequest
        <query>{query} (String)</query>
        (<header n="{attribute-name}" /> ## AttributeName)*
        <tz id="{timezone-id}" stdoff="{timezone-std-offset} (Integer)" dayoff="{timezone-daylight-offset} (Integer)"
                [stdname="..."] [dayname="..."]> ## CalTZInfo
            <standard [week="{tzonset-week} (Integer)"] [wkday="{tzonset-day-of-week} (Integer)"]
                          mon="{tzonset-month} (Integer)" [mday="{tzonset-day-of-month} (Integer)"]
                          hour="{tzonset-hour} (Integer)" min="{tzonset-minute} (Integer)" sec="{tzonset-second} (Integer)" /> ## TzOnsetInfo
            <daylight ... /> ## See /tz/standard [ ## TzOnsetInfo]
         </tz>
        <locale>{locale} (String)</locale>
        <cursor [id="{cursor-prev-id}"] [sortVal="{cursor-sort-value}"] [endSortVal="{cursor-end-sort-value}"]
                    [includeOffset="{cursor-include-offset} (0|1)"] /> ## CursorInfo
    </SearchRequest>

elements and attributes you can define within a <SearchRequest> element:

XPath Required / Optional Description
@warmup Optional (0 or 1) Type: 0|1
Warmup: When this option is specified, all other options are simply ignored, so you can't include this option in regular search requests. This option gives a hint to the index system to open the index data and primes it for search. The client should send this warm-up request as soon as the user puts the cursor on the search bar. This will not only prime the index but also opens a persistent HTTP connection (HTTP 1.1 Keep-Alive) to the server, hence smaller latencies in subseqent search requests. Sending this warm-up request too early (e.g. login time) will be in vain in most cases because the index data is evicted from the cache due to inactivity timeout by the time you actually send a search request.
@includeTagDeleted Optional (0 or 1) Type: 0|1
Set to 1 (true) to include items with the \Deleted tag set in results
@includeTagMuted Optional (0 or 1) Type: 0|1
Set to 1 (true) to include items with the \Muted tag set in results
@calExpandInstStart Optional (0 or 1) Type: Long
Start time in milliseconds for the range to include instances for calendar items from.
If calExpandInstStart and calExpandInstEnd are specified, and the search types include calendar item types (e.g. appointment), then the search results include the instances for calendar items within that range in the form described in the description of the response.

***IMPORTANT NOTE: Calendar Items that have no instances within that range are COMPLETELY EXCLUDED from the results (e.g. not even an <appt> element. Calendar Items with no data (such as Tasks with no date specified) are included, but with no instance information***
@calExpandInstEnd Optional (0 or 1) Type: Long
End time in milliseconds for the range to include instances for calendar items from.
@inDumpster Optional (0 or 1) Type: 0|1
Set this flat to 1 (true) to search dumpster data instead of live data.
@types Optional (0 or 1) Type: String
Comma separated list of search types
Legal values are: conversation|message|contact|appointment|task|wiki|document
Default is "conversation".
NOTE: only ONE of message, conversation may be set. If both are set, the first is used.
@groupBy Optional (0 or 1) Type: String
Deprecated. Use {comma-sep-search-types} instead
@quick Optional (0 or 1) Type: 0|1
"Quick" flag.
For performance reasons, the index system accumulates messages with not-indexed-yet state until a certain threshold and indexes them as a batch. To return up-to-date search results, the index system also indexes those pending messages right before a search. To lower latencies, this option gives a hint to the index system not to trigger this catch-up index prior to the search by giving up the freshness of the search results, i.e. recent messages may not be included in the search results.
@sortBy Optional (0 or 1) Type: String
SortBy setting.
Default value is "dateDesc"
Possible values: none|dateAsc|dateDesc|subjAsc|subjDesc|nameAsc|nameDesc|rcptAsc|rcptDesc|attachAsc|attachDesc|flagAsc|flagDesc| priorityAsc|priorityDesc|idAsc|idDesc|readAsc|readDesc If {sort-by} is "none" then cursors MUST NOT be used, and some searches are impossible (searches that require intersection of complex sub-ops). Server will throw an IllegalArgumentException if the search is invalid.
ADDITIONAL SORT MODES FOR TASKS: valid only if types="task" (and task alone):
taskDueAsc|taskDueDesc|taskStatusAsc|taskStatusDesc|taskPercCompletedAsc|taskPercCompletedDesc
@fetch Optional (0 or 1) Type: String
Select setting for hit expansion.
if fetch="1" (or fetch="first") is specified, the first hit will be expanded inline (messages only at present)
if fetch="{item-id}", only the message with the given {item-id} is expanded inline
if fetch="{item-id-1,item-id-2,...,item-id-n}", messages with ids in the comma-separated list will be expanded
if fetch="all", all messages are expanded inline
if fetch="!", only the first message in the conversation will be expanded, whether it's a hit or not
if fetch="u" (or fetch="unread"), all unread hits are expanded
if fetch="u1" (or fetch="unread-first"), if there are any unread hits, they are expanded, otherwise the first hit is expanded.
if fetch="u1!", if there are any unread hits, they are expanded, otherwise the first hit and the first message are expanded (those may be the same)
if fetch="hits", all hits are expanded
if fetch="hits!", all hits are expanded if there are any, otherwise the first message is expanded
+ if html="1" is also specified, inlined hits will return HTML parts if available
+ if read="1" is also specified, inlined hits will be marked as read
+ if neuter="0" is also specified, images in inlined HTML parts will not be "neutered"
+ if <header>s are requested, any matching headers are included in inlined message hits
+ if max="{max-inlined-length}" is specified, inlined body content in limited to the given length;
if the part is truncated, truncated="1" is specified on the <mp> in question
@read Optional (0 or 1) Type: 0|1
Inlined hits will be marked as read
@max Optional (0 or 1) Type: Integer
If specified, inlined body content in limited to the given length;
if the part is truncated, truncated="1" is specified on the <mp> in question
@html Optional (0 or 1) Type: 0|1
Set to 1 (true) to cause inlined hits to return HTML parts if available
@needExp Optional (0 or 1) Type: 0|1
If 'needExp' is set in the request, two additional flags may be included in <e> elements for messages returned inline.
  • isGroup - set if the email address is a group
  • exp - present only when isGroup="1".
    Set if the authed user can (has permission to) expand members in this group
    Unset if the authed user does not have permission to expand group members
@neuter Optional (0 or 1) Type: 0|1
Set to 0 (false) to stop images in inlined HTML parts from being "neutered"
@recip Optional (0 or 1) Type: 0 | 1 | 2 | false | true
Setting specifying which recipients should be returned.
0 [default]
  • returned sent messages will contain "From:" Senders only
  • returned conversations will contain an aggregated list of "From:" Senders from messages in the conversation (maximum of 8)
1
  • returned sent messages will contain the set of "To:" Recipients instead of the Sender
  • returned conversations whose first hit was sent by the user will contain that hit's "To:" recipients instead of the conversation's sender list (maximum of 8)
2
  • returned sent messages will contain the sets of both "From:" Senders and "To:" Recipients
  • returned conversations will contain an aggregated list of "From:" Senders and "To:" Recipients from messages in the conversation (maximum of 8 of each)
@prefetch Optional (0 or 1) Type: 0|1
Prefetch
@resultMode Optional (0 or 1) Type: String
Specifies the type of result.
NORMAL [default] Everything
IDS Only IDs
@fullConversation Optional (0 or 1) Type: 0|1
By default, only matching messages are included in conversation results.
Set to 1 (true) to include all messages in the conversation, even if they don't match the search, including items in Trash and Junk folders.
@field Optional (0 or 1) Type: String
By default, text without an operator searches the CONTENT field. By setting the {default-field} value, you can control the default operator. Specify any of the text operators that are available in query.txt, e.g. 'content:' [the default] or 'subject:', etc. The date operators (date, after, before) and the "item:" operator should not be specified as default fields because of quirks in the search grammar.
@limit Optional (0 or 1) Type: Integer
The maximum number of results to return. It defaults to 10 if not specified, and is capped by 1000
@offset Optional (0 or 1) Type: Integer
Specifies the 0-based offset into the results list to return as the first result for this search operation.
For example, limit=10 offset=30 will return the 31st through 40th results inclusive.
@wantContent Optional (0 or 1) Type: full | original | both
used by clients if they want mail content with/without quoted text
@memberOf Optional (0 or 1) Type: 0|1
If set, Include the list of contact groups this contact is a member of.
Note: use sparingly, there is a performance penalty associated with computing this information
/query Optional (0 or 1) Type: {query} (String)
Query string
/header Optional (0 or more) if <header>s are requested, any matching headers are included in inlined message hits
/header@n Required (only 1) Type: String
Attribute name
/tz Optional (0 or 1) Timezone specification
/tz@id Required (only 1) Type: String
Timezone ID. If this is the only detail present then this should be an existing server-known timezone's ID Otherwise, it must be present, although it will be ignored by the server
/tz@stdoff Required (only 1) Type: Integer
Standard Time's offset in minutes from UTC; local = UTC + offset
/tz@dayoff Required (only 1) Type: Integer
Daylight Saving Time's offset in minutes from UTC; present only if DST is used
/tz@stdname Optional (0 or 1) Type: String
Standard Time component's timezone name
/tz@dayname Optional (0 or 1) Type: String
Daylight Saving Time component's timezone name
/tz/standard Optional (0 or 1) Time/rule for transitioning from daylight time to standard time. Either specify week/wkday combo, or mday.
/tz/standard@week Optional (0 or 1) Type: Integer
Week number; 1=first, 2=second, 3=third, 4=fourth, -1=last
/tz/standard@wkday Optional (0 or 1) Type: Integer
Day of week; 1=Sunday, 2=Monday, etc.
/tz/standard@mon Required (only 1) Type: Integer
Month; 1=January, 2=February, etc.
/tz/standard@mday Optional (0 or 1) Type: Integer
Day of month (1..31)
/tz/standard@hour Required (only 1) Type: Integer
Transition hour (0..23)
/tz/standard@min Required (only 1) Type: Integer
Transition minute (0..59)
/tz/standard@sec Required (only 1) Type: Integer
Transition second; 0..59, usually 0
/tz/daylight Optional (0 or 1) Time/rule for transitioning from standard time to daylight time
See /tz/standard for more details.
/locale Optional (0 or 1) Type: {locale} (String)
Client locale identification.
Value is of the form LL-CC[-V+] where:
LL is two character language code
CC is two character country code
V+ is optional variant identifier string

See:
ISO Language Codes: http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
ISO Country Codes: http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
/cursor Optional (0 or 1) Cursor specification
/cursor@id Optional (0 or 1) Type: String
Previous ID. cursor-prev-id and cursor-sort-value and correspond to the last hit on the current page (assuming you're going forward, if you're backing up then they should be the first hit on the current page) or the selected item before changing the sort order. cursor-sort-value should be set to the value of the 'sf' (SortField) attribute. If you are changing the sort field, don't specify sortVal because 'sf' is sort field dependent. (In this case, the server supplements sortVal using the specified item ID. If the item no longer exist, the cursor gets cleared.) The server uses those attributes to find the spot in the new results that corresponds to your old position: even if some entries have been removed or added to the search results (e.g. if you are searching is:unread and you read some).
/cursor@sortVal Optional (0 or 1) Type: String
Should be set to the value of the 'sf' (SortField) attribute. See description for cursor-prev-id for more information.
/cursor@endSortVal Optional (0 or 1) Type: String
Used for ranges to tell the cursor where to stop (non-inclusive) returning values
/cursor@includeOffset Optional (0 or 1) Type: 0|1
If true, the response will include the cursor position (starting from 0) in the entire hits. This can't be used with text queries. Don't abuse this option because this operation is relatively expensive

SearchResponse

    <SearchResponse [sortBy="{sort-by}"] [offset="{offset} (Integer)"] [more="{more-flag} (0|1)"]
                       [total="{all-msgs} (Long)"]> ## SearchResponse
        List of any of: {
            <hit [id="{hit-id}"] [sf="{hit-sort-field}"] /> ## SimpleSearchHit
            <c [sf="{sort-field}"] [id="{conv-id}"] [n="{num-msgs} (Integer)"] [u="{num-unread-msgs} (Integer)"]
                   [total="{all-msgs} (Integer)"] [f="{flags}"] [t="{tags}"] [tn="{tag-names}"]
                   [d="{date-of-most-recent} (Long)"] [elided="{elided} (0|1)"] [md="{change-date} (Long)"]
                   [ms="{modified-sequence} (Integer)"]> ## ConversationHitInfo
                (<m id="{message-id}" [s="{size} (Long)"] [l="{folder-id}"] [f="{flags}"]
                        [autoSendTime="{auto-send-time} (Long)"] [d="{date} (Long)"] /> ## ConversationMsgHitInfo)*
                (<meta [section="{section}"]> ## MailCustomMetadata
                    (<a n="{key}">{value}</a> ## KeyValuePair)*
                  </meta>)*
                <su>{subject} (String)</su>
                <fr>{fragment} (String)</fr>
                (<e [a="{email-address}"] [d="{display-name}"] [p="{personal name}"] [t="{address-type}"]
                        [isGroup="{email-addr-is-group} (0|1)"] [exp="{can-expand-group-members} (0|1)"] /> ## EmailInfo)*
             </c>
            <m [sf="{sort-field-value}"] [cm="{message-matched-query} (0|1)"] [id="{msg-id}"]
                   [i4uid="{imap-uid} (Integer)"] [cif="{X-Zimbra-Calendar-Intended-For}"] [origid="{orig-id}"]
                   [rt="{reply-type}"] [idnt="{identity-id}"] [forAcct="{draft-acct-id}"]
                   [autoSendTime="{auto-send-time} (Long)"] [sd="{date-header} (Long)"] [rd="{resent-date} (Long)"]
                   [part="{part}"] [s="{msg-size} (Long)"] [d="{msg-date} (Long)"] [l="{folder-id}"] [cid="{conversation-id}"]
                   [f="{msg-flags}"] [t="{msg-tags}"] [tn="{msg-tag-names}"] [rev="{revision} (Integer)"]
                   [md="{msg-date-metadata-changed} (Long)"] [ms="{change-sequence} (Integer)"]> ## MessageHitInfo
                (<hp part="{part}" /> ## Part)*
                <fr>{fragment} (String)</fr>
                (<e ... /> ## See /c/e [ ## EmailInfo])*
                <su>{subject} (String)</su>
                <mid>{messageIdHeader} (String)</mid>
                <irt>{inReplyTo} (String)</irt>
                <inv type="{appt-or-task}"> ## InviteInfo
                    (<tz id="{timezone-id}" stdoff="{timezone-std-offset} (Integer)"
                             dayoff="{timezone-daylight-offset} (Integer)" [stdname="..."] [dayname="..."]> ## CalTZInfo
                        <standard [week="{tzonset-week} (Integer)"] [wkday="{tzonset-day-of-week} (Integer)"]
                                      mon="{tzonset-month} (Integer)" [mday="{tzonset-day-of-month} (Integer)"]
                                      hour="{tzonset-hour} (Integer)" min="{tzonset-minute} (Integer)"
                                      sec="{tzonset-second} (Integer)" /> ## TzOnsetInfo
                        <daylight ... /> ## See /m/inv/tz/standard [ ## TzOnsetInfo]
                      </tz>)*
                    <comp [method="{invite-comp-method}"] [compNum="{invite-comp-num} (Integer)"] [rsvp="{rsvp} (0|1)"]
                              [priority="{invite-comp-priority-0-9}"] [name="{invite-comp-name}"]
                              [loc="{invite-comp-location}"] [noBlob="{no-blob-data} (0|1)"] [fba="{freebusy-actual}"]
                              [fb="{freebusy-status}"] [transp="{transparency}"] [isOrg="{is-organizer} (0|1)"]
                              [x_uid="{x-uid}"] [uid="{uid-for-create}"] [seq="{sequence-num} (Integer)"]
                              [d="{invite-comp-date} (Long)"] [calItemId="{mail-item-id-of-appointment}"]
                              [apptId="{deprecated-appt-id}"] [ciFolder="{cal-item-folder}"] [status="{invite-comp-status}"]
                              [class="{invite-comp-class}"] [url="{invite-comp-url}"] [ex="{is-exception} (0|1)"]
                              [ridZ="{utc-recurrence-id}"] [allDay="{is-all-day} (0|1)"] [draft="{is-draft} (0|1)"]
                              [neverSent="{attendees-never-notified} (0|1)"] [changes="{comma-sep-changed-data}"]> ## InviteComponent
                        (<category>{categories} (String)</category>)*
                        (<comment>{comments} (String)</comment>)*
                        (<contact>{contacts} (String)</contact>)*
                        <geo [lat="{longitude}"] [lon="{longitude}"] /> ## GeoInfo
                        (<at [a="{email-address}"] [url="{url}"] [d="{friendly-name}"] [sentBy="{sent-by}"] [dir="{dir}"]
                                 [lang="{language}"] [cutype="{calendar-user-type}"] [role="{role}"]
                                 [ptst="{participation-status}"] [rsvp="{rsvp} (0|1)"] [member="{member}"]
                                 [delTo="{delegated-to}"] [delFrom="{delegated-from}"]> ## CalendarAttendee
                            (<xparam name="{xparam-name}" value="{xparam-value}" /> ## XParam)*
                          </at>)*
                        (<alarm action="{alarm-action}"> ## AlarmInfo
                            <trigger> ## AlarmTriggerInfo
                                <abs d="{YYYYMMDDThhmmssZ}" /> ## DateAttr
                                <rel [neg="{duration-negative} (0|1)"] [w="{duration-weeks} (Integer)"]
                                         [d="{duration-days} (Integer)"] [h="{duration-hours} (Integer)"]
                                         [m="{duration-minutes} (Integer)"] [s="{duration-seconds} (Integer)"]
                                         [related="{alarm-related}"] [count="{alarm-repeat-count} (Integer)"] /> ## DurationInfo
                             </trigger>
                            <repeat ... /> ## See /m/inv/comp/alarm/trigger/rel [ ## DurationInfo]
                            <desc>{description} (String)</desc>
                            <attach [uri="{alarm-attach-uri}"] [ct="{alarm-attach-content-type}"]>{binaryB64Data}</attach> ## CalendarAttach
                            <summary>{summary} (String)</summary>
                            (<at ... > ... </at> ## See /m/inv/comp/at [ ## CalendarAttendee])*
                            (<xprop name="{xprop-name}" value="{xprop-value}"> ## XProp
                                (<xparam name="{xparam-name}" value="{xparam-value}" /> ## See /m/inv/comp/at/xparam [ ## XParam])*
                              </xprop>)*
                          </alarm>)*
                        (<xprop name="{xprop-name}" value="{xprop-value}"> ... </xprop> ## See /m/inv/comp/alarm/xprop [ ## XProp])*
                        <fr>{fragment} (String)</fr>
                        <desc>{description} (String)</desc>
                        <descHtml>{htmlDescription} (String)</descHtml>
                        <or [a="{email-address}"] [url="{url}"] [d="{friendly-name}"] [sentBy="{sent-by}"] [dir="{dir}"]
                                [lang="{language}"]> ## CalOrganizer
                            (<xparam name="{xparam-name}" value="{xparam-value}" /> ## See /m/inv/comp/at/xparam [ ## XParam])*
                         </or>
                        <recur> ## RecurrenceInfo
                            List of any of: {
                                <add> ## AddRecurrenceInfo
                                    List of any of: {
                                        <add> ... </add> ## See /m/inv/comp/recur/add [ ## AddRecurrenceInfo] # [inside itself]
                                        <exclude> ## ExcludeRecurrenceInfo
                                            List of any of: {
                                                <add> ... </add> ## See /m/inv/comp/recur/add [ ## AddRecurrenceInfo] # [inside itself]
                                                <exclude> ... </exclude> ## See /m/inv/comp/recur/add/exclude [ ## ExcludeRecurrenceInfo] # [inside itself]
                                                <except rangeType="{range-type} (int)" recurId="{YYMMDD[THHMMSS[Z]]}"
                                                            [tz="{timezone-name}"] [ridZ="{YYMMDDTHHMMSSZ}"]> ## ExceptionRuleInfo
                                                    <add> ... </add> ## See /m/inv/comp/recur [ ## RecurrenceInfo] # [inside itself]
                                                    <exclude> ... </exclude> ## See /m/inv/comp/recur [ ## RecurrenceInfo] # [inside itself]
                                                 </except>
                                                <cancel rangeType="{range-type} (int)" recurId="{YYMMDD[THHMMSS[Z]]}"
                                                            [tz="{timezone-name}"] [ridZ="{YYMMDDTHHMMSSZ}"] /> ## CancelRuleInfo
                                                <dates [tz="{TZID}"]> ## SingleDates
                                                    (<dtval> ## DtVal
                                                        <s [d="{YYYYMMDD['T'HHMMSS[Z]]}"] [tz="{timezone-identifier}"]
                                                               [u="{utc-time} (Long)"] /> ## DtTimeInfo
                                                        <e ... /> ## See /m/inv/comp/recur/add/exclude/dates/dtval/s [ ## DtTimeInfo]
                                                        <dur ... /> ## See /m/inv/comp/alarm/trigger/rel [ ## DurationInfo]
                                                      </dtval>)*
                                                 </dates>
                                                <rule freq="{freq}"> ## SimpleRepeatingRule
                                                    <until d="{YYYYMMDD[ThhmmssZ]}" /> ## DateTimeStringAttr
                                                    <count num="{num} (int)" /> ## NumAttr
                                                    <interval ival="{rule-interval} (int)" /> ## IntervalRule
                                                    <bysecond seclist="{second-list}" /> ## BySecondRule
                                                    <byminute minlist="{minute-list}" /> ## ByMinuteRule
                                                    <byhour hrlist="{hour-list}" /> ## ByHourRule
                                                    <byday> ## ByDayRule
                                                        (<wkday day="{weekday}"
                                                                    [ordwk="{ord-wk-[[+]|-]num} (Integer)"] /> ## WkDay)*
                                                     </byday>
                                                    <bymonthday modaylist="{modaylist}" /> ## ByMonthDayRule
                                                    <byyearday yrdaylist="{byyearday-yrdaylist}" /> ## ByYearDayRule
                                                    <byweekno wklist="{byweekno-wklist}" /> ## ByWeekNoRule
                                                    <bymonth molist="{month-list}" /> ## ByMonthRule
                                                    <bysetpos poslist="{bysetpos-list}" /> ## BySetPosRule
                                                    <wkst day="{weekday}" /> ## WkstRule
                                                    (<rule-x-name [name="{xname-name}"] [value="{xname-value}"] /> ## XNameRule)*
                                                 </rule>
                                            }
                                         </exclude>
                                        <except ... > ... </except> ## See /m/inv/comp/recur/add/exclude/except [ ## ExceptionRuleInfo]
                                        <cancel ... /> ## See /m/inv/comp/recur/add/exclude/cancel [ ## CancelRuleInfo]
                                        <dates [tz="{TZID}"]> ... </dates> ## See /m/inv/comp/recur/add/exclude/dates [ ## SingleDates]
                                        <rule freq="{freq}"> ... </rule> ## See /m/inv/comp/recur/add/exclude/rule [ ## SimpleRepeatingRule]
                                    }
                                 </add>
                                <exclude> ... </exclude> ## See /m/inv/comp/recur/add/exclude [ ## ExcludeRecurrenceInfo]
                                <except ... > ... </except> ## See /m/inv/comp/recur/add/exclude/except [ ## ExceptionRuleInfo]
                                <cancel ... /> ## See /m/inv/comp/recur/add/exclude/cancel [ ## CancelRuleInfo]
                                <dates [tz="{TZID}"]> ... </dates> ## See /m/inv/comp/recur/add/exclude/dates [ ## SingleDates]
                                <rule freq="{freq}"> ... </rule> ## See /m/inv/comp/recur/add/exclude/rule [ ## SimpleRepeatingRule]
                            }
                         </recur>
                        <exceptId d="{DATETIME-YYYYMMDD['T'HHMMSS[Z]]}" [tz="{timezone-identifier}"]
                                      [rangeType="{range-type} (Integer)"] /> ## ExceptionRecurIdInfo
                        <s ... /> ## See /m/inv/comp/recur/add/exclude/dates/dtval/s [ ## DtTimeInfo]
                        <e ... /> ## See /m/inv/comp/recur/add/exclude/dates/dtval/s [ ## DtTimeInfo]
                        <dur ... /> ## See /m/inv/comp/alarm/trigger/rel [ ## DurationInfo]
                     </comp>
                    <replies>
                        (<reply seq="{sequence-num} (int)" d="{dtstamp} (long)" at="{attendee}" [sentBy="{sent-by}"]
                                    [ptst="{participation-status}"] rangeType="{range-type} (int)"
                                    recurId="{YYMMDD[THHMMSS[Z]]}" [tz="{timezone-name}"] [ridZ="{YYMMDDTHHMMSSZ}"] /> ## CalendarReply)*
                    </replies>
                 </inv>
                (<header n="{key}">{value}</header> ## See /c/meta/a [ ## KeyValuePair])*
                List of any of: {
                    <mp part="{mime-part-name}" ct="{content-type}" [s="{size-in-bytes} (Integer)"]
                            [cd="{content-disp}"] [filename="{filename}"] [ci="{content-id}"] [cl="{content-location}"]
                            [body="{is-body} (0|1)"] [truncated="{truncated-content} (0|1)"]
                            requiresSmartLinkConversion="(Boolean)"> ## PartInfo
                        <content>{content} (String)</content>
                        (<mp> ... </mp> ## See /m/mp [ ## PartInfo] # [inside itself])*
                     </mp>
                    <shr [truncated="{truncated-flag} (0|1)"]> ## ShareNotification
                        <content>{content} (String)</content>
                     </shr>
                    <dlSubs [truncated="{truncated-flag} (0|1)"]> ## DLSubscriptionNotification
                        <content>{content} (String)</content>
                     </dlSubs>
                }
                (<meta [section="{section}"]> ... </meta> ## See /c/meta [ ## MailCustomMetadata])*
             </m>
            <chat [sf="{sort-field-value}"] [cm="{message-matched-query} (0|1)"] [id="{msg-id}"]
                      [i4uid="{imap-uid} (Integer)"] [cif="{X-Zimbra-Calendar-Intended-For}"] [origid="{orig-id}"]
                      [rt="{reply-type}"] [idnt="{identity-id}"] [forAcct="{draft-acct-id}"]
                      [autoSendTime="{auto-send-time} (Long)"] [sd="{date-header} (Long)"] [rd="{resent-date} (Long)"]
                      [part="{part}"] [s="{msg-size} (Long)"] [d="{msg-date} (Long)"] [l="{folder-id}"]
                      [cid="{conversation-id}"] [f="{msg-flags}"] [t="{msg-tags}"] [tn="{msg-tag-names}"]
                      [rev="{revision} (Integer)"] [md="{msg-date-metadata-changed} (Long)"]
                      [ms="{change-sequence} (Integer)"]> ## ChatHitInfo
                (<hp part="{part}" /> ## See /m/hp [ ## Part])*
                <fr>{fragment} (String)</fr>
                (<e ... /> ## See /c/e [ ## EmailInfo])*
                <su>{subject} (String)</su>
                <mid>{messageIdHeader} (String)</mid>
                <irt>{inReplyTo} (String)</irt>
                <inv type="{appt-or-task}"> ... </inv> ## See /m/inv [ ## InviteInfo]
                (<header n="{key}">{value}</header> ## See /c/meta/a [ ## KeyValuePair])*
                List of any of: {
                    <mp ... > ... </mp> ## See /m/mp [ ## PartInfo]
                    <shr [truncated="{truncated-flag} (0|1)"]> ... </shr> ## See /m/shr [ ## ShareNotification]
                    <dlSubs [truncated="{truncated-flag} (0|1)"]> ... </dlSubs> ## See /m/dlSubs [ ## DLSubscriptionNotification]
                }
                (<meta [section="{section}"]> ... </meta> ## See /c/meta [ ## MailCustomMetadata])*
             </chat>
            <mp [id="{message-id}"] [sf="{sort-field-value}"] [s="{size} (Long)"] [d="{date} (Long)"]
                    [cid="{conv-id} (Integer)"] [mid="{message-item-id} (Integer)"] [ct="{content-type}"] [name="{filename}"]
                    [part="{mime-part-name}"]> ## MessagePartHitInfo
                <e ... /> ## See /c/e [ ## EmailInfo]
                <su>{subject} (String)</su>
             </mp>
            <cn [sf="{contact-sort-field}"] [exp="{can-expand} (0|1)"] id="{contact-id}" [i4uid="{imap-uid} (Integer)"]
                    [l="{contact-folder-id}"] [f="{contact-flags}"] [t="{contact-tags}"] [tn="{contact-tag-names}"]
                    [md="{contact-modified-date-secs} (Long)"] [ms="{contact-modified-seq} (Integer)"]
                    [d="{contact-date-millis} (Long)"] [rev="{saved-sequence-number} (Integer)"]
                    [fileAsStr="{contact-file-as}"] [email="{contact-email}"] [email2="{contact-email2}"]
                    [email3="{contact-email3}"] [type="{contact-type}"] [dlist="{contact-dlist}"]
                    [ref="{contact-gal-entry-ref}"] [tooManyMembers="{contact-too-many-members} (0|1)"]> ## ContactInfo
                (<meta [section="{section}"]> ... </meta> ## See /c/meta [ ## MailCustomMetadata])*
                (<a [part="{contact-part-id}"] [ct="{contact-content-type}"] [s="{contact-size} (Integer)"]
                        [filename="{contact-content-filename}"] n="{key}" /> ## ContactAttr)*
                (<m type="{member-type}" value="{member-value}"> ## ContactGroupMember
                    <cn> ... </cn> ## See /cn [ ## ContactInfo] # [inside itself]
                  </m>)*
                <memberOf>{memberOf} (String)</memberOf>
             </cn>
            <appt [sf="{sort-field-value}"] [d="{date} (long)"] [cm="{content-matched} (0|1)"]
                      [nextAlarm="{next-alarm-millis} (Long)"] x_uid="..." uid="{icalendar-uid}" [f="{flags}"] [t="{tags}"]
                      [tn="{tag-names}"] [l="{folder-id}"] [s="{size} (Long)"] [md="{change-date} (Long)"]
                      [ms="{modified-sequence} (Integer)"] [rev="{revision} (Integer)"] [id="{id}"] [dur="{duration} (Long)"]
                      [ptst="{participation-status}"] [ridZ="{utc-recurrence-id-YYYYMMDD[ThhmmssZ]}"]
                      [tzo="{tz-offset} (Long)"] [fba="{actual-freebusy-status}"] [recur="{is-recurring} (0|1)"]
                      [hasEx="{has-exceptions} (0|1)"] [priority="{priority}"] [fb="{intended-freebusy}"]
                      [transp="{transparency-O|T}"] [name="{name}"] [loc="{location}"]
                      [otherAtt="{has-other-attendees} (0|1)"] [alarm="{has-alarm} (0|1)"]
                      [isOrg="{default-am-i-organizer-flag} (0|1)"] [invId="{default-invite-mail-item-id}"]
                      [compNum="{default-invite-component-number} (Integer)"] [status="{status-TENT|CONF|CANC}"]
                      [class="{class}"] [allDay="{all-day} (0|1)"] [draft="{is-draft} (0|1)"]
                      [neverSent="{never-sent} (0|1)"] [tzoDue="{due-tz-offset} (Integer)"]> ## AppointmentHitInfo
                <or ... > ... </or> ## See /m/inv/comp/or [ ## CalOrganizer]
                (<category>{categories} (String)</category>)*
                <geo [lat="{longitude}"] [lon="{longitude}"] /> ## See /m/inv/comp/geo [ ## GeoInfo]
                <fr>{fragment} (String)</fr>
                (<inst [s="{start-time} (Long)"] [ex="{is-exception} (0|1)"] [dur="{duration} (Long)"]
                           [ptst="{participation-status}"] [ridZ="{utc-recurrence-id-YYYYMMDD[ThhmmssZ]}"]
                           [tzo="{tz-offset} (Long)"] [fba="{actual-freebusy-status}"] [recur="{is-recurring} (0|1)"]
                           [hasEx="{has-exceptions} (0|1)"] [priority="{priority}"] [fb="{intended-freebusy}"]
                           [transp="{transparency-O|T}"] [name="{name}"] [loc="{location}"]
                           [otherAtt="{has-other-attendees} (0|1)"] [alarm="{has-alarm} (0|1)"]
                           [isOrg="{default-am-i-organizer-flag} (0|1)"] [invId="{default-invite-mail-item-id}"]
                           [compNum="{default-invite-component-number} (Integer)"] [status="{status-TENT|CONF|CANC}"]
                           [class="{class}"] [allDay="{all-day} (0|1)"] [draft="{is-draft} (0|1)"]
                           [neverSent="{never-sent} (0|1)"] [tzoDue="{due-tz-offset} (Integer)"]> ## InstanceDataInfo
                    <or ... > ... </or> ## See /m/inv/comp/or [ ## CalOrganizer]
                    (<category>{categories} (String)</category>)*
                    <geo [lat="{longitude}"] [lon="{longitude}"] /> ## See /m/inv/comp/geo [ ## GeoInfo]
                    <fr>{fragment} (String)</fr>
                  </inst>)*
                <alarmData [nextAlarm="{next-alarm} (Long)"] [alarmInstStart="{instance-start-time} (Long)"]
                               [invId="{invite-mail-item-id} (Integer)"] [compNum="{component-num} (Integer)"]
                               [name="{meeting-subject}"] [loc="{meeting-location}"]> ## AlarmDataInfo
                    <alarm action="{alarm-action}"> ... </alarm> ## See /m/inv/comp/alarm [ ## AlarmInfo]
                 </alarmData>
                (<inv type="{type-appt|task}" seq="{sequence-number} (Integer)"
                          id="{invite-original-mail-item-id} (Integer)" compNum="{component-number} (Integer)"
                          [recurId="{YYMMDD[THHMMSS[Z]]}"]> ## Invitation
                    (<tz ... > ... </tz> ## See /m/inv/tz [ ## CalTZInfo])*
                    <comp ... > ... </comp> ## See /m/inv/comp [ ## InviteComponent]
                    List of any of: {
                        <mp ... > ... </mp> ## See /m/mp [ ## PartInfo]
                        <shr [truncated="{truncated-flag} (0|1)"]> ... </shr> ## See /m/shr [ ## ShareNotification]
                        <dlSubs [truncated="{truncated-flag} (0|1)"]> ... </dlSubs> ## See /m/dlSubs [ ## DLSubscriptionNotification]
                    }
                  </inv>)*
                <replies>
                    (<reply at="{attendee-who-replied}" [sentBy="{sent-by}"] [ptst="{participation-status}"]
                                seq="{sequence} (int)" d="{reply-timestamp} (int)" rangeType="{range-type} (int)"
                                recurId="{YYMMDD[THHMMSS[Z]]}" [tz="{timezone-name}"] [ridZ="{YYMMDDTHHMMSSZ}"] /> ## CalReply)*
                </replies>
             </appt>
        }
        <info>
            List of any of: {
                <suggest>{suggestedQueryString}</suggest> ## SuggestedQueryString
                <wildcard str="{wildcard-str}" expanded="{wildcard-expanded} (0|1)"
                              numExpanded="{wildcard-num-expanded} (int)" /> ## WildcardExpansionQueryInfo
            }
        </info>
    </SearchResponse>

elements and attributes you can define within a <SearchResponse> element:

XPath Required / Optional Description
@sortBy Optional (0 or 1) Type: String
What to sort by. Default is "dateDesc"
Possible values:
none|dateAsc|dateDesc|subjAsc|subjDesc|nameAsc|nameDesc|rcptAsc|rcptDesc|attachAsc|attachDesc| flagAsc|flagDesc|priorityAsc|priorityDesc|idAsc|idDesc|readAsc|readDesc
If sort-by is "none" then cursors MUST NOT be used, and some searches are impossible (searches that require intersection of complex sub-ops). Server will throw an IllegalArgumentException if the search is invalid. ADDITIONAL SORT MODES FOR TASKS: valid only if types="task" (and task alone):
taskDueAsc|taskDueDesc|taskStatusAsc|taskStatusDesc|taskPercCompletedAsc|taskPercCompletedDesc
@offset Optional (0 or 1) Type: Integer
Offset - an integer specifying the 0-based offset into the results list returned as the first result for this search operation.
@more Optional (0 or 1) Type: 0|1
Set if there are more search results remaining.
@total Optional (0 or 1) Type: Long
All messages
/hit Optional (0 or 1)
/hit@id Optional (0 or 1) Type: String
ID
/hit@sf Optional (0 or 1) Type: String
Sort field value
/c Optional (0 or 1)
/c@sf Optional (0 or 1) Type: String
Sort field value
/c@id Optional (0 or 1) Type: String
Conversation ID
/c@n Optional (0 or 1) Type: Integer
Number of messages in conversation without IMAP \Deleted flag set
/c@u Optional (0 or 1) Type: Integer
Number of unread messages in conversation
/c@total Optional (0 or 1) Type: Integer
Total number of messages in conversation including those with the IMAP \Deleted flag set
/c@f Optional (0 or 1) Type: String
Same flags as on <m> ("sarwfdxnu!?"), aggregated from all the conversation's messages
/c@t Optional (0 or 1) Type: String
Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
/c@tn Optional (0 or 1) Type: String
Comma-separated list of tag names
/c@d Optional (0 or 1) Type: Long
Date (secs since epoch) of most recent message in the converstation
/c@elided Optional (0 or 1) Type: 0|1
If elided is set, some participants are missing before the first returned <e> element
/c@md Optional (0 or 1) Type: Long
Modified date in seconds
/c@ms Optional (0 or 1) Type: Integer
Modified sequence
/c/m Optional (0 or more) Hits
/c/m@id Required (only 1) Type: String
Message ID
/c/m@s Optional (0 or 1) Type: Long
Size
/c/m@l Optional (0 or 1) Type: String
Folder ID
/c/m@f Optional (0 or 1) Type: String
flags
/c/m@autoSendTime Optional (0 or 1) Type: Long
Can optionally set autoSendTime to specify the time at which the draft should be automatically sent by the server
/c/m@d Optional (0 or 1) Type: Long
date
/c/meta Optional (0 or more) Custom metadata
/c/meta@section Optional (0 or 1) Type: String
Section.
Normally present. If absent this indicates that CustomMetadata info is present but there are no sections to report on.
/c/meta/a Optional (0 or more) Type: {value}
Key value pairs
Description for element text content:Value
/c/meta/a@n Required (only 1) Type: String
Key
/c/su Optional (0 or 1) Type: {subject} (String)
Subject of conversation
/c/fr Optional (0 or 1) Type: {fragment} (String)
First few bytes of the message (probably between 40 and 100 bytes)
/c/e Optional (0 or more) Email information for conversation participants if available (elided will be set if information for some participants is missing)
/c/e@a Optional (0 or 1) Type: String
the user@domain part of an email address
/c/e@d Optional (0 or 1) Type: String
Display name. If we have personal name, first word in "word1 word2" format, or last word in "word1, word2" format. If no personal name, take string before "@" in email-address.
/c/e@p Optional (0 or 1) Type: String
The comment/name part of an address
/c/e@t Optional (0 or 1) Type: String
Address type.
{address-type} = (f)rom, (t)o, (c)c, (b)cc, (r)eply-to, (s)ender, read-receipt (n)otification, (rf) resent-from

Type is only sent when an individual message is returned. In the list of conversations, all the email addresseses returned for a conversation are a subset of the participants. In the list of messages in a converstation, the email addressses are the senders.

Note that "rf" addresses can only be returned on a message; when sending a message, "rf" is ignored
/c/e@isGroup Optional (0 or 1) Type: 0|1
Set if the email address is a group
/c/e@exp Optional (0 or 1) Type: 0|1
Flags whether can expand group members
1 (true) authed user can (has permission to) expand members in this group
0 (false) authed user does not have permission to expand group members
Note: Present only when {email-addr-is-group} is set.
/m Optional (0 or 1)
/m@sf Optional (0 or 1) Type: String
Sort field value
/m@cm Optional (0 or 1) Type: 0|1
If the message matched the specified query string
/m@id Optional (0 or 1) Type: String
Message ID
/m@i4uid Optional (0 or 1) Type: Integer
IMAP UID
/m@cif Optional (0 or 1) Type: String
X-Zimbra-Calendar-Intended-For header
/m@origid Optional (0 or 1) Type: String
Message id of the message being replied to/forwarded (outbound messages only)
/m@rt Optional (0 or 1) Type: String
Reply type - r|w
/m@idnt Optional (0 or 1) Type: String
If set, this specifies the identity being used to compose the message
/m@forAcct Optional (0 or 1) Type: String
Draft account ID
/m@autoSendTime Optional (0 or 1) Type: Long
Can optionally set this to specify the time at which the draft should be automatically sent by the server
/m@sd Optional (0 or 1) Type: Long
Date header
/m@rd Optional (0 or 1) Type: Long
Resent date
/m@part Optional (0 or 1) Type: String
Part
/m@s Optional (0 or 1) Type: Long
Size in bytes
/m@d Optional (0 or 1) Type: Long
Date Seconds since the epoch, from the date header in the message
/m@l Optional (0 or 1) Type: String
Folder ID
/m@cid Optional (0 or 1) Type: String
Converstation ID. only present if <m> is not enclosed within a <c> element
/m@f Optional (0 or 1) Type: String
Flags. (u)nread, (f)lagged, has (a)ttachment, (r)eplied, (s)ent by me, for(w)arded, calendar in(v)ite, (d)raft, IMAP-\Deleted (x), (n)otification sent, urgent (!), low-priority (?), priority (+)
/m@t Optional (0 or 1) Type: String
Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
/m@tn Optional (0 or 1) Type: String
Comma separated list of tag names
/m@rev Optional (0 or 1) Type: Integer
Revision
/m@md Optional (0 or 1) Type: Long
Date metadata changed
/m@ms Optional (0 or 1) Type: Integer
Change sequence
/m/hp Optional (0 or more) Hit Parts -- indicators that the named parts matched the search string
/m/hp@part Required (only 1) Type: String
Part
/m/fr Optional (0 or 1) Type: {fragment} (String)
First few bytes of the message (probably between 40 and 100 bytes)
/m/e Optional (0 or more) Email addresses
See /c/e for more details.
/m/su Optional (0 or 1) Type: {subject} (String)
Subject
/m/mid Optional (0 or 1) Type: {messageIdHeader} (String)
Message ID
/m/irt Optional (0 or 1) Type: {inReplyTo} (String)
Message-ID header for message being replied to
/m/inv Optional (0 or 1) Parsed out iCalendar invite
/m/inv@type Required (only 1) Type: String
Invite type - appt|task
/m/inv/tz Optional (0 or more) Timezones
/m/inv/tz@id Required (only 1) Type: String
Timezone ID. If this is the only detail present then this should be an existing server-known timezone's ID Otherwise, it must be present, although it will be ignored by the server
/m/inv/tz@stdoff Required (only 1) Type: Integer
Standard Time's offset in minutes from UTC; local = UTC + offset
/m/inv/tz@dayoff Required (only 1) Type: Integer
Daylight Saving Time's offset in minutes from UTC; present only if DST is used
/m/inv/tz@stdname Optional (0 or 1) Type: String
Standard Time component's timezone name
/m/inv/tz@dayname Optional (0 or 1) Type: String
Daylight Saving Time component's timezone name
/m/inv/tz/standard Optional (0 or 1) Time/rule for transitioning from daylight time to standard time. Either specify week/wkday combo, or mday.
/m/inv/tz/standard@week Optional (0 or 1) Type: Integer
Week number; 1=first, 2=second, 3=third, 4=fourth, -1=last
/m/inv/tz/standard@wkday Optional (0 or 1) Type: Integer
Day of week; 1=Sunday, 2=Monday, etc.
/m/inv/tz/standard@mon Required (only 1) Type: Integer
Month; 1=January, 2=February, etc.
/m/inv/tz/standard@mday Optional (0 or 1) Type: Integer
Day of month (1..31)
/m/inv/tz/standard@hour Required (only 1) Type: Integer
Transition hour (0..23)
/m/inv/tz/standard@min Required (only 1) Type: Integer
Transition minute (0..59)
/m/inv/tz/standard@sec Required (only 1) Type: Integer
Transition second; 0..59, usually 0
/m/inv/tz/daylight Optional (0 or 1) Time/rule for transitioning from standard time to daylight time
See /m/inv/tz/standard for more details.
/m/inv/comp Optional (0 or 1) Invite components
/m/inv/comp@method Optional (0 or 1) Type: String
Method
/m/inv/comp@compNum Optional (0 or 1) Type: Integer
Component number of the invite
/m/inv/comp@rsvp Optional (0 or 1) Type: 0|1
RSVP flag. Set if response requested, unset if no response requested
/m/inv/comp@priority Optional (0 or 1) Type: String
Priority (0 - 9; default = 0)
/m/inv/comp@name Optional (0 or 1) Type: String
NAME
/m/inv/comp@loc Optional (0 or 1) Type: String
Location
/m/inv/comp@noBlob Optional (0 or 1) Type: 0|1
Set if invite has no blob data, i.e. all data is in db metadata
/m/inv/comp@fba Optional (0 or 1) Type: String
The "actual" free-busy status of this invite (ie what the client should display). This is synthesized taking into account our Attendee's PartStat, the Opacity of the appointment, its Status, etc...
Valid values - F|B|T|U. i.e. Free, Busy (default), busy-Tentative, OutOfOffice (busy-unavailable)
/m/inv/comp@fb Optional (0 or 1) Type: String
FreeBusy setting F|B|T|U
i.e. Free, Busy (default), busy-Tentative, OutOfOffice (busy-unavailable)
/m/inv/comp@transp Optional (0 or 1) Type: String
Transparency - O|T. i.e. Opaque or Transparent
/m/inv/comp@isOrg Optional (0 or 1) Type: 0|1
Am I the organizer? [default 0 (false)]
/m/inv/comp@x_uid Optional (0 or 1) Type: String
x_uid
/m/inv/comp@uid Optional (0 or 1) Type: String
UID to use when creating appointment. Optional: client can request the UID to use
/m/inv/comp@seq Optional (0 or 1) Type: Integer
Sequence number (default = 0)
/m/inv/comp@d Optional (0 or 1) Type: Long
Date - used for zdsync
/m/inv/comp@calItemId Optional (0 or 1) Type: String
Mail item ID of appointment
/m/inv/comp@apptId Optional (0 or 1) Type: String
Appointment ID (deprecated)
/m/inv/comp@ciFolder Optional (0 or 1) Type: String
Folder of appointment
/m/inv/comp@status Optional (0 or 1) Type: String
Status - TENT|CONF|CANC|NEED|COMP|INPR|WAITING|DEFERRED
i.e. TENTative, CONFirmed, CANCelled, COMPleted, INPRogress, WAITING, DEFERRED
where waiting and Deferred are custom values not found in the iCalendar spec.
/m/inv/comp@class Optional (0 or 1) Type: String
Class = PUB|PRI|CON. i.e. PUBlic (default), PRIvate, CONfidential
/m/inv/comp@url Optional (0 or 1) Type: String
URL
/m/inv/comp@ex Optional (0 or 1) Type: 0|1
Set if this is invite is an exception
/m/inv/comp@ridZ Optional (0 or 1) Type: String
Recurrence-id string in UTC timezone
/m/inv/comp@allDay Optional (0 or 1) Type: 0|1
Set if is an all day appointment
/m/inv/comp@draft Optional (0 or 1) Type: 0|1
Set if invite has changes that haven't been sent to attendees; for organizer only
/m/inv/comp@neverSent Optional (0 or 1) Type: 0|1
Set if attendees were never notified of this invite; for organizer only
/m/inv/comp@changes Optional (0 or 1) Type: String
Comma-separated list of changed data in an updated invite.
Possible values are "subject", "location", "time" (start time, end time, or duration), and "recurrence".
/m/inv/comp/category Optional (0 or more) Type: {categories} (String)
Categories - for iCalendar CATEGORY properties
/m/inv/comp/comment Optional (0 or more) Type: {comments} (String)
Comments - for iCalendar COMMENT properties
/m/inv/comp/contact Optional (0 or more) Type: {contacts} (String)
Contacts - for iCalendar CONTACT properties
/m/inv/comp/geo Optional (0 or 1) for iCalendar GEO property
/m/inv/comp/geo@lat Optional (0 or 1) Type: String
Longitude (float value)
/m/inv/comp/geo@lon Optional (0 or 1) Type: String
Longitude (float value)
/m/inv/comp/at Optional (0 or more) Attendees
/m/inv/comp/at@a Optional (0 or 1) Type: String
Email address (without "MAILTO:")
/m/inv/comp/at@url Optional (0 or 1) Type: String
URL - has same value as {email-address}.
Maintained for backwards compatibility with ZCS 4.5
/m/inv/comp/at@d Optional (0 or 1) Type: String
Friendly name - "CN" in iCalendar
/m/inv/comp/at@sentBy Optional (0 or 1) Type: String
iCalendar SENT-BY
/m/inv/comp/at@dir Optional (0 or 1) Type: String
iCalendar DIR - Reference to a directory entry associated with the calendar user. the property.
/m/inv/comp/at@lang Optional (0 or 1) Type: String
iCalendar LANGUAGE - As defined in RFC5646 * (e.g. "en-US")
/m/inv/comp/at@cutype Optional (0 or 1) Type: String
iCalendar CUTYPE (Calendar user type)
/m/inv/comp/at@role Optional (0 or 1) Type: String
iCalendar ROLE
/m/inv/comp/at@ptst Optional (0 or 1) Type: String
iCalendar PTST (Participation status)
Valid values: NE|AC|TE|DE|DG|CO|IN|WE|DF
Meanings:
"NE"eds-action, "TE"ntative, "AC"cept, "DE"clined, "DG" (delegated), "CO"mpleted (todo), "IN"-process (todo), "WA"iting (custom value only for todo), "DF" (deferred; custom value only for todo)
/m/inv/comp/at@rsvp Optional (0 or 1) Type: 0|1
iCalendar RSVP
/m/inv/comp/at@member Optional (0 or 1) Type: String
iCalendar MEMBER - The group or list membership of the calendar user
/m/inv/comp/at@delTo Optional (0 or 1) Type: String
iCalendar DELEGATED-TO
/m/inv/comp/at@delFrom Optional (0 or 1) Type: String
iCalendar DELEGATED-FROM
/m/inv/comp/at/xparam Optional (0 or more) Non-standard parameters (XPARAMs)
/m/inv/comp/at/xparam@name Required (only 1) Type: String
XPARAM Name
/m/inv/comp/at/xparam@value Required (only 1) Type: String
XPARAM value
/m/inv/comp/alarm Optional (0 or more) Alarm information
/m/inv/comp/alarm@action Required (only 1) Type: String
Alarm action
Possible values:
DISPLAY|AUDIO|EMAIL|PROCEDURE|X_YAHOO_CALENDAR_ACTION_IM|X_YAHOO_CALENDAR_ACTION_MOBILE
/m/inv/comp/alarm/trigger Optional (0 or 1) Alarm trigger information
/m/inv/comp/alarm/trigger/abs Optional (0 or 1) Absolute trigger information
/m/inv/comp/alarm/trigger/abs@d Required (only 1) Type: String
Date in format : YYYYMMDDThhmmssZ
/m/inv/comp/alarm/trigger/rel Optional (0 or 1) Relative trigger information
/m/inv/comp/alarm/trigger/rel@neg Optional (0 or 1) Type: 0|1
Set if the duration is negative.
/m/inv/comp/alarm/trigger/rel@w Optional (0 or 1) Type: Integer
Weeks component of the duration
Special note: if WEEKS are specified, NO OTHER OFFSET MAY BE SPECIFIED (weeks must be alone, per RFC2445)
/m/inv/comp/alarm/trigger/rel@d Optional (0 or 1) Type: Integer
Days component of the duration
/m/inv/comp/alarm/trigger/rel@h Optional (0 or 1) Type: Integer
Hours component of the duration
/m/inv/comp/alarm/trigger/rel@m Optional (0 or 1) Type: Integer
Minutes component of the duration
/m/inv/comp/alarm/trigger/rel@s Optional (0 or 1) Type: Integer
Seconds component of the duration
/m/inv/comp/alarm/trigger/rel@related Optional (0 or 1) Type: String
Specifies whether the alarm is related to the start of end.
Valid values are : START|END
/m/inv/comp/alarm/trigger/rel@count Optional (0 or 1) Type: Integer
Alarm repeat count
/m/inv/comp/alarm/repeat Optional (0 or 1) Alarm repeat information
See /m/inv/comp/alarm/trigger/rel for more details.
/m/inv/comp/alarm/desc Optional (0 or 1) Type: {description} (String)
Alarm description
action=DISPLAY Reminder text to display
action=EMAIL|X_YAHOO_CALENDAR_ACTION_IM|X_YAHOO_CALENDAR_ACTION_MOBILE EMail body
action=PROCEDURE Description text
/m/inv/comp/alarm/attach Optional (0 or 1) Type: {binaryB64Data}
Information on attachment
Description for element text content:Base64 encoded binary alarrm attach data
/m/inv/comp/alarm/attach@uri Optional (0 or 1) Type: String
URI
/m/inv/comp/alarm/attach@ct Optional (0 or 1) Type: String
Content Type for {base64-encoded-binary-alarm-attach-data}
/m/inv/comp/alarm/summary Optional (0 or 1) Type: {summary} (String)
Alarm summary
/m/inv/comp/alarm/at Optional (0 or more) Attendee information
See /m/inv/comp/at for more details.
/m/inv/comp/alarm/xprop Optional (0 or more) Non-standard properties (see RFC2445 section 4.8.8.1)
e.g.
iCalendar:
     X-FOO-HELLO;X-FOO-WORLD=world:hello
 
SOAP:
     <xprop name="X-FOO-HELLO" value="hello">
         <xparam name="X-FOO-WORLD" value="world"/>
     </xprop>
 
/m/inv/comp/alarm/xprop@name Required (only 1) Type: String
XPROP name
/m/inv/comp/alarm/xprop@value Required (only 1) Type: String
XPROP value
/m/inv/comp/alarm/xprop/xparam Optional (0 or more) XPARAMs
See /m/inv/comp/at/xparam for more details.
/m/inv/comp/xprop Optional (0 or more) iCalender XPROP properties
See /m/inv/comp/alarm/xprop for more details.
/m/inv/comp/fr Optional (0 or 1) Type: {fragment} (String)
First few bytes of the message (probably between 40 and 100 bytes)
/m/inv/comp/desc Optional (0 or 1) Type: {description} (String)
Present if noBlob is set and invite has a plain text description
/m/inv/comp/descHtml Optional (0 or 1) Type: {htmlDescription} (String)
Present if noBlob is set and invite has an HTML description
/m/inv/comp/or Optional (0 or 1) Organizer
/m/inv/comp/or@a Optional (0 or 1) Type: String
Email address (without "MAILTO:")
/m/inv/comp/or@url Optional (0 or 1) Type: String
URL - has same value as {email-address}.
Maintained for backwards compatibility with ZCS 4.5
/m/inv/comp/or@d Optional (0 or 1) Type: String
Friendly name - "CN" in iCalendar
/m/inv/comp/or@sentBy Optional (0 or 1) Type: String
iCalendar SENT-BY
/m/inv/comp/or@dir Optional (0 or 1) Type: String
iCalendar DIR - Reference to a directory entry associated with the calendar user.
/m/inv/comp/or@lang Optional (0 or 1) Type: String
iCalendar LANGUAGE - As defined in RFC5646 * (e.g. "en-US")
/m/inv/comp/or/xparam Optional (0 or more) Non-standard parameters (XPARAMs)
See /m/inv/comp/at/xparam for more details.
/m/inv/comp/recur Optional (0 or 1) Recurrence information
/m/inv/comp/recur/add Optional (0 or 1)
/m/inv/comp/recur/add/add Optional (0 or 1) See /m/inv/comp/recur/add for more details.
/m/inv/comp/recur/add/exclude Optional (0 or 1)
/m/inv/comp/recur/add/exclude/add Optional (0 or 1) See /m/inv/comp/recur/add for more details.
/m/inv/comp/recur/add/exclude/exclude Optional (0 or 1) See /m/inv/comp/recur/add/exclude for more details.
/m/inv/comp/recur/add/exclude/except Optional (0 or 1)
/m/inv/comp/recur/add/exclude/except@rangeType Required (only 1) Type: int
Recurrence range type
/m/inv/comp/recur/add/exclude/except@recurId Required (only 1) Type: String
Recurrence ID in format : YYMMDD[THHMMSS[Z]]
/m/inv/comp/recur/add/exclude/except@tz Optional (0 or 1) Type: String
Timezone name
/m/inv/comp/recur/add/exclude/except@ridZ Optional (0 or 1) Type: String
Recurrence-id in UTC time zone; used in non-all-day appointments only
Format: YYMMDDTHHMMSSZ
/m/inv/comp/recur/add/exclude/except/add Optional (0 or 1) Dates or rules which ADD instances. ADDs are evaluated before EXCLUDEs
See /m/inv/comp/recur for more details.
/m/inv/comp/recur/add/exclude/except/exclude Optional (0 or 1) Dates or rules which EXCLUDE instances
See /m/inv/comp/recur for more details.
/m/inv/comp/recur/add/exclude/cancel Optional (0 or 1)
/m/inv/comp/recur/add/exclude/cancel@rangeType Required (only 1) Type: int
Recurrence range type
/m/inv/comp/recur/add/exclude/cancel@recurId Required (only 1) Type: String
Recurrence ID in format : YYMMDD[THHMMSS[Z]]
/m/inv/comp/recur/add/exclude/cancel@tz Optional (0 or 1) Type: String
Timezone name
/m/inv/comp/recur/add/exclude/cancel@ridZ Optional (0 or 1) Type: String
Recurrence-id in UTC time zone; used in non-all-day appointments only
Format: YYMMDDTHHMMSSZ
/m/inv/comp/recur/add/exclude/dates Optional (0 or 1)
/m/inv/comp/recur/add/exclude/dates@tz Optional (0 or 1) Type: String
TZID
/m/inv/comp/recur/add/exclude/dates/dtval Optional (0 or more) Information on start date/time and end date/time or duration
/m/inv/comp/recur/add/exclude/dates/dtval/s Optional (0 or 1) Start DATE-TIME
/m/inv/comp/recur/add/exclude/dates/dtval/s@d Optional (0 or 1) Type: String
Date and/or time. Format is : YYYYMMDD['T'HHMMSS[Z]]
where:
     YYYY - 4 digit year
     MM   - 2 digit month
     DD   - 2 digit day
 Optionally:
     'T' the literal char "T" then
     HH - 2 digit hour (00-23)
     MM - 2 digit minute (00-59)
     SS - 2 digit second (00-59)
     ...and finally an optional "Z" meaning that the time is UTC,
     otherwise the tz="TIMEZONE" param MUST be specified with the DATETIME
     e.g:
         20050612  June 12, 2005
         20050315T18302305Z  March 15, 2005 6:30:23.05 PM UTC
 
/m/inv/comp/recur/add/exclude/dates/dtval/s@tz Optional (0 or 1) Type: String
Java timezone identifier
/m/inv/comp/recur/add/exclude/dates/dtval/s@u Optional (0 or 1) Type: Long
UTC time as milliseconds since the epoch. Set if non-all-day
/m/inv/comp/recur/add/exclude/dates/dtval/e Optional (0 or 1) Start DATE-TIME
See /m/inv/comp/recur/add/exclude/dates/dtval/s for more details.
/m/inv/comp/recur/add/exclude/dates/dtval/dur Optional (0 or 1) Duration information
See /m/inv/comp/alarm/trigger/rel for more details.
/m/inv/comp/recur/add/exclude/rule Optional (0 or 1)
/m/inv/comp/recur/add/exclude/rule@freq Required (only 1) Type: String
Frequency - SEC,MIN,HOU,DAI,WEE,MON,YEA
/m/inv/comp/recur/add/exclude/rule/until Optional (0 or 1) UNTIL date specification
/m/inv/comp/recur/add/exclude/rule/until@d Required (only 1) Type: String
Date in format : YYYYMMDD[ThhmmssZ]
/m/inv/comp/recur/add/exclude/rule/count Optional (0 or 1) Count of instances to generate
/m/inv/comp/recur/add/exclude/rule/count@num Required (only 1) Type: int
Number
/m/inv/comp/recur/add/exclude/rule/interval Optional (0 or 1) Interval specification
/m/inv/comp/recur/add/exclude/rule/interval@ival Required (only 1) Type: int
Rule interval count - a positive integer
/m/inv/comp/recur/add/exclude/rule/bysecond Optional (0 or 1) BYSECOND rule
/m/inv/comp/recur/add/exclude/rule/bysecond@seclist Required (only 1) Type: String
Comma separated list of seconds where second is a number between 0 and 59
/m/inv/comp/recur/add/exclude/rule/byminute Optional (0 or 1) BYMINUTE rule
/m/inv/comp/recur/add/exclude/rule/byminute@minlist Required (only 1) Type: String
Comma separated list of minutes where minute is a number between 0 and 59
/m/inv/comp/recur/add/exclude/rule/byhour Optional (0 or 1) BYHOUR rule
/m/inv/comp/recur/add/exclude/rule/byhour@hrlist Required (only 1) Type: String
Comma separated list of hours where hour is a number between 0 and 23
/m/inv/comp/recur/add/exclude/rule/byday Optional (0 or 1) BYDAY rule
/m/inv/comp/recur/add/exclude/rule/byday/wkday Optional (0 or more) By day weekday rule specification
/m/inv/comp/recur/add/exclude/rule/byday/wkday@day Required (only 1) Type: String
Weekday - SU|MO|TU|WE|TH|FR|SA
/m/inv/comp/recur/add/exclude/rule/byday/wkday@ordwk Optional (0 or 1) Type: Integer
Week number. [[+]|-]num num: 1 to 53
/m/inv/comp/recur/add/exclude/rule/bymonthday Optional (0 or 1) BYMONTHDAY rule
/m/inv/comp/recur/add/exclude/rule/bymonthday@modaylist Required (only 1) Type: String
Comma separated list of day numbers from either the start (positive) or the end (negative) of the month - format : [[+]|-]num[,...] where num between 1 to 31
e.g. modaylist="1,+2,-7"
means first day of the month, plus the 2nd day of the month, plus the 7th from last day of the month.
/m/inv/comp/recur/add/exclude/rule/byyearday Optional (0 or 1) BYYEARDAY rule
/m/inv/comp/recur/add/exclude/rule/byyearday@yrdaylist Required (only 1) Type: String
BYYEARDAY yearday list. Format : [[+]|-]num[,...]" where num is between 1 and 366
e.g. <byyearday yrdaylist="1,+2,-1"/> means January 1st, January 2nd, and December 31st.
/m/inv/comp/recur/add/exclude/rule/byweekno Optional (0 or 1) BYWEEKNO rule
/m/inv/comp/recur/add/exclude/rule/byweekno@wklist Required (only 1) Type: String
BYWEEKNO Week list. Format : [[+]|-]num[,...] where num is between 1 and 53
e.g. <byweekno wklist="1,+2,-1"/> means first week, 2nd week, and last week of the year.
/m/inv/comp/recur/add/exclude/rule/bymonth Optional (0 or 1) BYMONTH rule
/m/inv/comp/recur/add/exclude/rule/bymonth@molist Required (only 1) Type: String
Comma separated list of months where month is a number between 1 and 12
/m/inv/comp/recur/add/exclude/rule/bysetpos Optional (0 or 1) BYSETPOS rule
/m/inv/comp/recur/add/exclude/rule/bysetpos@poslist Required (only 1) Type: String
Format [[+]|-]num[,...] where num is from 1 to 366
<bysetpos> MUST only be used in conjunction with another <byXXX> element.
/m/inv/comp/recur/add/exclude/rule/wkst Optional (0 or 1) Week start day - SU,MO,TU,WE,TH,FR,SA
/m/inv/comp/recur/add/exclude/rule/wkst@day Required (only 1) Type: String
Weekday - SU|MO|TU|WE|TH|FR|SA
/m/inv/comp/recur/add/exclude/rule/rule-x-name Optional (0 or more) X Name rules
/m/inv/comp/recur/add/exclude/rule/rule-x-name@name Optional (0 or 1) Type: String
XNAME Name
/m/inv/comp/recur/add/exclude/rule/rule-x-name@value Optional (0 or 1) Type: String
XNAME Value
/m/inv/comp/recur/add/except Optional (0 or 1) See /m/inv/comp/recur/add/exclude/except for more details.
/m/inv/comp/recur/add/cancel Optional (0 or 1) See /m/inv/comp/recur/add/exclude/cancel for more details.
/m/inv/comp/recur/add/dates Optional (0 or 1) See /m/inv/comp/recur/add/exclude/dates for more details.
/m/inv/comp/recur/add/rule Optional (0 or 1) See /m/inv/comp/recur/add/exclude/rule for more details.
/m/inv/comp/recur/exclude Optional (0 or 1) See /m/inv/comp/recur/add/exclude for more details.
/m/inv/comp/recur/except Optional (0 or 1) See /m/inv/comp/recur/add/exclude/except for more details.
/m/inv/comp/recur/cancel Optional (0 or 1) See /m/inv/comp/recur/add/exclude/cancel for more details.
/m/inv/comp/recur/dates Optional (0 or 1) See /m/inv/comp/recur/add/exclude/dates for more details.
/m/inv/comp/recur/rule Optional (0 or 1) See /m/inv/comp/recur/add/exclude/rule for more details.
/m/inv/comp/exceptId Optional (0 or 1) RECURRENCE-ID, if this is an exception
/m/inv/comp/exceptId@d Required (only 1) Type: String
Date and/or time. Format is : YYYYMMDD['T'HHMMSS[Z]]
where:
     YYYY - 4 digit year
     MM   - 2 digit month
     DD   - 2 digit day
 Optionally:
     'T' the literal char "T" then 
     HH - 2 digit hour (00-23)
     MM - 2 digit minute (00-59)
     SS - 2 digit second (00-59)
     ...and finally an optional "Z" meaning that the time is UTC,
     otherwise the tz="TIMEZONE" param MUST be specified with the DATETIME
     e.g:
         20050612  June 12, 2005
         20050315T18302305Z  March 15, 2005 6:30:23.05 PM UTC
 
/m/inv/comp/exceptId@tz Optional (0 or 1) Type: String
Java timezone identifier
/m/inv/comp/exceptId@rangeType Optional (0 or 1) Type: Integer
Range type - 1 means NONE, 2 means THISANDFUTURE, 3 means THISANDPRIOR
/m/inv/comp/s Optional (0 or 1) Start date-time (required)
See /m/inv/comp/recur/add/exclude/dates/dtval/s for more details.
/m/inv/comp/e Optional (0 or 1) End date-time
See /m/inv/comp/recur/add/exclude/dates/dtval/s for more details.
/m/inv/comp/dur Optional (0 or 1) Duration
See /m/inv/comp/alarm/trigger/rel for more details.
/m/inv/replies Required (only 1)
/m/inv/replies/reply Optional (0 or more)
/m/inv/replies/reply@seq Required (only 1) Type: int
Sequence number
/m/inv/replies/reply@d Required (only 1) Type: long
DTSTAMP date in milliseconds
/m/inv/replies/reply@at Required (only 1) Type: String
Attendee address
/m/inv/replies/reply@sentBy Optional (0 or 1) Type: String
iCalendar SENT-BY
/m/inv/replies/reply@ptst Optional (0 or 1) Type: String
iCalendar PTST (Participation status)
Valid values: NE|AC|TE|DE|DG|CO|IN|WE|DF
Meanings:
"NE"eds-action, "TE"ntative, "AC"cept, "DE"clined, "DG" (delegated), "CO"mpleted (todo), "IN"-process (todo), "WA"iting (custom value only for todo), "DF" (deferred; custom value only for todo)
/m/inv/replies/reply@rangeType Required (only 1) Type: int
Recurrence range type
/m/inv/replies/reply@recurId Required (only 1) Type: String
Recurrence ID in format : YYMMDD[THHMMSS[Z]]
/m/inv/replies/reply@tz Optional (0 or 1) Type: String
Timezone name
/m/inv/replies/reply@ridZ Optional (0 or 1) Type: String
Recurrence-id in UTC time zone; used in non-all-day appointments only
Format: YYMMDDTHHMMSSZ
/m/header Optional (0 or more) Type: {value}
Headers
Description for element text content:Value
See /c/meta/a for more details.
/m/mp Optional (0 or 1)
/m/mp@part Required (only 1) Type: String
MIME part name. "" means top-level part, 1 first part, 1.1 first part of a multipart inside of 1.
/m/mp@ct Required (only 1) Type: String
MIME Content-Type. The mime type is the content of the element.
/m/mp@s Optional (0 or 1) Type: Integer
Size in bytes
/m/mp@cd Optional (0 or 1) Type: String
MIME Content-Disposition
/m/mp@filename Optional (0 or 1) Type: String
Filename attribute from the Content-Disposition param list
/m/mp@ci Optional (0 or 1) Type: String
MIME Content-ID (for display of embedded images)
/m/mp@cl Optional (0 or 1) Type: String
MIME/Microsoft Content-Location (for display of embedded images)
/m/mp@body Optional (0 or 1) Type: 0|1
Set if this part is considered to be the "body" of the message for display purposes.
/m/mp@truncated Optional (0 or 1) Type: 0|1
Set if the content for the part is truncated
/m/mp@requiresSmartLinkConversion Required (only 1) Type: Boolean
/m/mp/content Optional (0 or 1) Type: {content} (String)
The content of the part, if requested
/m/mp/mp Optional (0 or more) Mime parts
See /m/mp for more details.
/m/shr Optional (0 or 1)
/m/shr@truncated Optional (0 or 1) Type: 0|1
Truncated flag
/m/shr/content Optional (0 or 1) Type: {content} (String)
Content
/m/dlSubs Optional (0 or 1)
/m/dlSubs@truncated Optional (0 or 1) Type: 0|1
Truncated flag
/m/dlSubs/content Optional (0 or 1) Type: {content} (String)
Content
/m/meta Optional (0 or more) Custom metadata information
See /c/meta for more details.
/chat Optional (0 or 1)
/chat@sf Optional (0 or 1) Type: String
Sort field value
/chat@cm Optional (0 or 1) Type: 0|1
If the message matched the specified query string
/chat@id Optional (0 or 1) Type: String
Message ID
/chat@i4uid Optional (0 or 1) Type: Integer
IMAP UID
/chat@cif Optional (0 or 1) Type: String
X-Zimbra-Calendar-Intended-For header
/chat@origid Optional (0 or 1) Type: String
Message id of the message being replied to/forwarded (outbound messages only)
/chat@rt Optional (0 or 1) Type: String
Reply type - r|w
/chat@idnt Optional (0 or 1) Type: String
If set, this specifies the identity being used to compose the message
/chat@forAcct Optional (0 or 1) Type: String
Draft account ID
/chat@autoSendTime Optional (0 or 1) Type: Long
Can optionally set this to specify the time at which the draft should be automatically sent by the server
/chat@sd Optional (0 or 1) Type: Long
Date header
/chat@rd Optional (0 or 1) Type: Long
Resent date
/chat@part Optional (0 or 1) Type: String
Part
/chat@s Optional (0 or 1) Type: Long
Size in bytes
/chat@d Optional (0 or 1) Type: Long
Date Seconds since the epoch, from the date header in the message
/chat@l Optional (0 or 1) Type: String
Folder ID
/chat@cid Optional (0 or 1) Type: String
Converstation ID. only present if <m> is not enclosed within a <c> element
/chat@f Optional (0 or 1) Type: String
Flags. (u)nread, (f)lagged, has (a)ttachment, (r)eplied, (s)ent by me, for(w)arded, calendar in(v)ite, (d)raft, IMAP-\Deleted (x), (n)otification sent, urgent (!), low-priority (?), priority (+)
/chat@t Optional (0 or 1) Type: String
Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
/chat@tn Optional (0 or 1) Type: String
Comma separated list of tag names
/chat@rev Optional (0 or 1) Type: Integer
Revision
/chat@md Optional (0 or 1) Type: Long
Date metadata changed
/chat@ms Optional (0 or 1) Type: Integer
Change sequence
/chat/hp Optional (0 or more) Hit Parts -- indicators that the named parts matched the search string
See /m/hp for more details.
/chat/fr Optional (0 or 1) Type: {fragment} (String)
First few bytes of the message (probably between 40 and 100 bytes)
/chat/e Optional (0 or more) Email addresses
See /c/e for more details.
/chat/su Optional (0 or 1) Type: {subject} (String)
Subject
/chat/mid Optional (0 or 1) Type: {messageIdHeader} (String)
Message ID
/chat/irt Optional (0 or 1) Type: {inReplyTo} (String)
Message-ID header for message being replied to
/chat/inv Optional (0 or 1) Parsed out iCalendar invite
See /m/inv for more details.
/chat/header Optional (0 or more) Type: {value}
Headers
Description for element text content:Value
See /c/meta/a for more details.
/chat/mp Optional (0 or 1) See /m/mp for more details.
/chat/shr Optional (0 or 1) See /m/shr for more details.
/chat/dlSubs Optional (0 or 1) See /m/dlSubs for more details.
/chat/meta Optional (0 or more) Custom metadata information
See /c/meta for more details.
/mp Optional (0 or 1)
/mp@id Optional (0 or 1) Type: String
Message ID
/mp@sf Optional (0 or 1) Type: String
Sort field value
/mp@s Optional (0 or 1) Type: Long
Size in bytes
/mp@d Optional (0 or 1) Type: Long
Secs since epoch, from date header in message
/mp@cid Optional (0 or 1) Type: Integer
Converstation id. only present if <m> is not enclosed within a <c> element
/mp@mid Optional (0 or 1) Type: Integer
Message item ID
/mp@ct Optional (0 or 1) Type: String
Content type
/mp@name Optional (0 or 1) Type: String
Filename
/mp@part Optional (0 or 1) Type: String
MIME part name
/mp/e Optional (0 or 1) Email address information
See /c/e for more details.
/mp/su Optional (0 or 1) Type: {subject} (String)
Subject
/cn Optional (0 or 1)
/cn@sf Optional (0 or 1) Type: String
Sort field value
/cn@exp Optional (0 or 1) Type: 0|1
Set if the user can (has right to) expand group members. Returned only if needExp is set in the request and only on group entries (type=group in attrs on a <cn>).
/cn@id Required (only 1) Type: String
Unique contact ID
/cn@i4uid Optional (0 or 1) Type: Integer
IMAP UID
/cn@l Optional (0 or 1) Type: String
Folder ID. When creating a contact, this is the ID of the folder to create the contact in
/cn@f Optional (0 or 1) Type: String
Flags. {flags} = (f)lagged, has (a)ttachment
/cn@t Optional (0 or 1) Type: String
Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
/cn@tn Optional (0 or 1) Type: String
Comma-separated list of tag names
/cn@md Optional (0 or 1) Type: Long
Modified date in seconds
/cn@ms Optional (0 or 1) Type: Integer
Modified sequence
/cn@d Optional (0 or 1) Type: Long
Date in milliseconds
/cn@rev Optional (0 or 1) Type: Integer
Saved sequence number
/cn@fileAsStr Optional (0 or 1) Type: String
Current "file as" string for display/sorting purposes; cannot be used to set the file-as value
/cn@email Optional (0 or 1) Type: String
Contact email address
/cn@email2 Optional (0 or 1) Type: String
Contact email address 2
/cn@email3 Optional (0 or 1) Type: String
Contact email address 3
/cn@type Optional (0 or 1) Type: String
Contact type
/cn@dlist Optional (0 or 1) Type: String
Contact dlist
/cn@ref Optional (0 or 1) Type: String
GAL entry reference
/cn@tooManyMembers Optional (0 or 1) Type: 0|1
If number of members on a GAL group is greater than the specified max, do not return any members for the entry. Instead, set "tooManyMembers.
/cn/meta Optional (0 or more) Custom metadata information
See /c/meta for more details.
/cn/a Optional (0 or more) Attributes
/cn/a@part Optional (0 or 1) Type: String
Part ID.
Can only specify a {contact-part-id} when modifying an existent contact
/cn/a@ct Optional (0 or 1) Type: String
Content type
/cn/a@s Optional (0 or 1) Type: Integer
Size
/cn/a@filename Optional (0 or 1) Type: String
Content filename
/cn/a@n Required (only 1) Type: String
Key
/cn/m Optional (0 or more) Contact group members
/cn/m@type Required (only 1) Type: String
Member type
C reference to another contact
G reference to a GAL entry
I inlined member (member name and email address is embeded in the contact group)
/cn/m@value Required (only 1) Type: String
Member value
type="C" Item ID of another contact. If the referenced contact is in a shared folder, the item ID must be qualified by zimbraId of the owner. e.g. {zimbraId}:{itemId}
type="G" GAL entry reference (returned in SearchGalResponse)
type="I" name and email address in the form of: "{name}" <{email}>
/cn/m/cn Optional (0 or 1) Contact information for dereferenced member.
See /cn for more details.
/cn/memberOf Optional (0 or 1) Type: {memberOf} (String)
Comma separated list of IDs of contact groups this contact is a member of.
Only provided if requested
/appt Optional (0 or 1)
/appt@sf Optional (0 or 1) Type: String
Sort field value
/appt@d Optional (0 or 1) Type: long
Date
/appt@cm Optional (0 or 1) Type: 0|1
Set if the message matched the specified query string
/appt@nextAlarm Optional (0 or 1) Type: Long
Time in millis to show the alarm
/appt@x_uid Required (only 1) Type: String
/appt@uid Required (only 1) Type: String
iCalendar UID
/appt@f Optional (0 or 1) Type: String
Flags
/appt@t Optional (0 or 1) Type: String
Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
/appt@tn Optional (0 or 1) Type: String
Comma-separated list of tag names
/appt@l Optional (0 or 1) Type: String
Folder ID
/appt@s Optional (0 or 1) Type: Long
Size
/appt@md Optional (0 or 1) Type: Long
Modified date in seconds
/appt@ms Optional (0 or 1) Type: Integer
Modified sequence
/appt@rev Optional (0 or 1) Type: Integer
Revision
/appt@id Optional (0 or 1) Type: String
ID
/appt@dur Optional (0 or 1) Type: Long
Duration
/appt@ptst Optional (0 or 1) Type: String
Your iCalendar PTST (Participation status)
Valid values: NE|AC|TE|DE|DG|CO|IN|WE|DF
Meanings:
"NE"eds-action, "TE"ntative, "AC"cept, "DE"clined, "DG" (delegated), "CO"mpleted (todo), "IN"-process (todo), "WA"iting (custom value only for todo), "DF" (deferred; custom value only for todo)
/appt@ridZ Optional (0 or 1) Type: String
RECURRENCE-ID in "Z" (UTC) timezone, if this is an exception.
Format : YYYYMMDD[ThhmmssZ]
/appt@tzo Optional (0 or 1) Type: Long
Offset from GMT in milliseconds for start time in the time zone of the instance; this is useful because the instance time zone may not be the same as the time zone of the requesting client; when rendering an all-day appointment, the client must shift the appointment by the difference between the instance time zone and its local time zone to determine the correct date to render the all-day block
/appt@fba Optional (0 or 1) Type: String
Actual free-busy status: Free, Busy, busy-Tentative, busy-Unavailable (a.k.a. OutOfOffice)
While free-busy status is simply a property of an event that is set during creation/update, "actual" free-busy status is the true free-busy state that depends on appt/invite free-busy, event scheduling status (confirmed vs. tentative vs. cancel), and more importantly, the attendee's participation status. For example, actual free-busy is busy-Tentative for an event with Busy free-busy value until the attendee has acted on the invite.
/appt@recur Optional (0 or 1) Type: 0|1
If set, this is a recurring appointment
/appt@hasEx Optional (0 or 1) Type: 0|1
If set, this is a recurring appointment with exceptions
/appt@priority Optional (0 or 1) Type: String
Priority
/appt@fb Optional (0 or 1) Type: String
Intended Free/Busy
/appt@transp Optional (0 or 1) Type: String
Transparency - O|T
/appt@name Optional (0 or 1) Type: String
Name
/appt@loc Optional (0 or 1) Type: String
Location
/appt@otherAtt Optional (0 or 1) Type: 0|1
If set, this appointment has other attendees
/appt@alarm Optional (0 or 1) Type: 0|1
Set if has alarm
/appt@isOrg Optional (0 or 1) Type: 0|1
Default invite "am I organizer" flag
/appt@invId Optional (0 or 1) Type: String
Default invite mail item ID
/appt@compNum Optional (0 or 1) Type: Integer
Default invite component number
/appt@status Optional (0 or 1) Type: String
Status - TENT|CONF|CANC
/appt@class Optional (0 or 1) Type: String
Class
/appt@allDay Optional (0 or 1) Type: 0|1
If set, this is an "all day" appointment
/appt@draft Optional (0 or 1) Type: 0|1
Set if invite has changes that haven't been sent to attendees; for organizer only
/appt@neverSent Optional (0 or 1) Type: 0|1
Set if attendees have never been notified for this invite; for organizer only, used in SetAppointmentRequest only
/appt@tzoDue Optional (0 or 1) Type: Integer
Similar to the "tzo" attribute but for "dueDate". "tzoDue" can be different from "tzo" if start date and due date lie on different sides of a daylight savings transition
/appt/or Optional (0 or 1) Organizer
See /m/inv/comp/or for more details.
/appt/category Optional (0 or more) Type: {categories} (String)
Categories
/appt/geo Optional (0 or 1) Information for iCalendar GEO property
See /m/inv/comp/geo for more details.
/appt/fr Optional (0 or 1) Type: {fragment} (String)
First few bytes of the message (probably between 40 and 100 bytes)
/appt/inst Optional (0 or more) Data for instances
/appt/inst@s Optional (0 or 1) Type: Long
Start time
/appt/inst@ex Optional (0 or 1) Type: 0|1
Set if is an exception
/appt/inst@dur Optional (0 or 1) Type: Long
Duration
/appt/inst@ptst Optional (0 or 1) Type: String
Your iCalendar PTST (Participation status)
Valid values: NE|AC|TE|DE|DG|CO|IN|WE|DF
Meanings:
"NE"eds-action, "TE"ntative, "AC"cept, "DE"clined, "DG" (delegated), "CO"mpleted (todo), "IN"-process (todo), "WA"iting (custom value only for todo), "DF" (deferred; custom value only for todo)
/appt/inst@ridZ Optional (0 or 1) Type: String
RECURRENCE-ID in "Z" (UTC) timezone, if this is an exception.
Format : YYYYMMDD[ThhmmssZ]
/appt/inst@tzo Optional (0 or 1) Type: Long
Offset from GMT in milliseconds for start time in the time zone of the instance; this is useful because the instance time zone may not be the same as the time zone of the requesting client; when rendering an all-day appointment, the client must shift the appointment by the difference between the instance time zone and its local time zone to determine the correct date to render the all-day block
/appt/inst@fba Optional (0 or 1) Type: String
Actual free-busy status: Free, Busy, busy-Tentative, busy-Unavailable (a.k.a. OutOfOffice)
While free-busy status is simply a property of an event that is set during creation/update, "actual" free-busy status is the true free-busy state that depends on appt/invite free-busy, event scheduling status (confirmed vs. tentative vs. cancel), and more importantly, the attendee's participation status. For example, actual free-busy is busy-Tentative for an event with Busy free-busy value until the attendee has acted on the invite.
/appt/inst@recur Optional (0 or 1) Type: 0|1
If set, this is a recurring appointment
/appt/inst@hasEx Optional (0 or 1) Type: 0|1
If set, this is a recurring appointment with exceptions
/appt/inst@priority Optional (0 or 1) Type: String
Priority
/appt/inst@fb Optional (0 or 1) Type: String
Intended Free/Busy
/appt/inst@transp Optional (0 or 1) Type: String
Transparency - O|T
/appt/inst@name Optional (0 or 1) Type: String
Name
/appt/inst@loc Optional (0 or 1) Type: String
Location
/appt/inst@otherAtt Optional (0 or 1) Type: 0|1
If set, this appointment has other attendees
/appt/inst@alarm Optional (0 or 1) Type: 0|1
Set if has alarm
/appt/inst@isOrg Optional (0 or 1) Type: 0|1
Default invite "am I organizer" flag
/appt/inst@invId Optional (0 or 1) Type: String
Default invite mail item ID
/appt/inst@compNum Optional (0 or 1) Type: Integer
Default invite component number
/appt/inst@status Optional (0 or 1) Type: String
Status - TENT|CONF|CANC
/appt/inst@class Optional (0 or 1) Type: String
Class
/appt/inst@allDay Optional (0 or 1) Type: 0|1
If set, this is an "all day" appointment
/appt/inst@draft Optional (0 or 1) Type: 0|1
Set if invite has changes that haven't been sent to attendees; for organizer only
/appt/inst@neverSent Optional (0 or 1) Type: 0|1
Set if attendees have never been notified for this invite; for organizer only, used in SetAppointmentRequest only
/appt/inst@tzoDue Optional (0 or 1) Type: Integer
Similar to the "tzo" attribute but for "dueDate". "tzoDue" can be different from "tzo" if start date and due date lie on different sides of a daylight savings transition
/appt/inst/or Optional (0 or 1) Organizer
See /m/inv/comp/or for more details.
/appt/inst/category Optional (0 or more) Type: {categories} (String)
Categories
/appt/inst/geo Optional (0 or 1) Information for iCalendar GEO property
See /m/inv/comp/geo for more details.
/appt/inst/fr Optional (0 or 1) Type: {fragment} (String)
First few bytes of the message (probably between 40 and 100 bytes)
/appt/alarmData Optional (0 or 1) Alarm information
/appt/alarmData@nextAlarm Optional (0 or 1) Type: Long
Time in millis to show the alarm
/appt/alarmData@alarmInstStart Optional (0 or 1) Type: Long
Start time of the meeting instance the alarm is reminding about
/appt/alarmData@invId Optional (0 or 1) Type: Integer
Mail Item ID of the invite message with detailed information
/appt/alarmData@compNum Optional (0 or 1) Type: Integer
Component number
/appt/alarmData@name Optional (0 or 1) Type: String
Meeting subject
/appt/alarmData@loc Optional (0 or 1) Type: String
Meeting location
/appt/alarmData/alarm Optional (0 or 1) Details of the alarm
See /m/inv/comp/alarm for more details.
/appt/inv Optional (0 or more) Invites
/appt/inv@type Required (only 1) Type: String
Calendar item type - appt|task
/appt/inv@seq Required (only 1) Type: Integer
Sequence number
/appt/inv@id Required (only 1) Type: Integer
Original mail item ID for invite
/appt/inv@compNum Required (only 1) Type: Integer
Component number
/appt/inv@recurId Optional (0 or 1) Type: String
Recurrence ID in format : YYMMDD[THHMMSS[Z]]
/appt/inv/tz Optional (0 or more) Timezones
See /m/inv/tz for more details.
/appt/inv/comp Optional (0 or 1) Invite component
See /m/inv/comp for more details.
/appt/inv/mp Optional (0 or 1) See /m/mp for more details.
/appt/inv/shr Optional (0 or 1) See /m/shr for more details.
/appt/inv/dlSubs Optional (0 or 1) See /m/dlSubs for more details.
/appt/replies Required (only 1)
/appt/replies/reply Optional (0 or more)
/appt/replies/reply@at Required (only 1) Type: String
Address of attendee who replied
/appt/replies/reply@sentBy Optional (0 or 1) Type: String
SENT-BY
/appt/replies/reply@ptst Optional (0 or 1) Type: String
iCalendar PTST (Participation status)
Valid values: NE|AC|TE|DE|DG|CO|IN|WE|DF
Meanings:
"NE"eds-action, "TE"ntative, "AC"cept, "DE"clined, "DG" (delegated), "CO"mpleted (todo), "IN"-process (todo), "WA"iting (custom value only for todo), "DF" (deferred; custom value only for todo)
/appt/replies/reply@seq Required (only 1) Type: int
Sequence
/appt/replies/reply@d Required (only 1) Type: int
Timestamp of reply
/appt/replies/reply@rangeType Required (only 1) Type: int
Recurrence range type
/appt/replies/reply@recurId Required (only 1) Type: String
Recurrence ID in format : YYMMDD[THHMMSS[Z]]
/appt/replies/reply@tz Optional (0 or 1) Type: String
Timezone name
/appt/replies/reply@ridZ Optional (0 or 1) Type: String
Recurrence-id in UTC time zone; used in non-all-day appointments only
Format: YYMMDDTHHMMSSZ
/info Required (only 1)
/info/suggest Optional (0 or 1) Type: {suggestedQueryString}
Description for element text content:Suggested query string
/info/wildcard Optional (0 or 1)
/info/wildcard@str Required (only 1) Type: String
Wildcard expansion string
/info/wildcard@expanded Required (only 1) Type: 0|1
If value is 1 (true), then the wildcard was expanded and the matches are included in the search. If value is 0 (false) then the wildcard was not specific enough and therefore no wildcard matches are included (exact-match *is* included in results).
/info/wildcard@numExpanded Required (only 1) Type: int
Number expanded