Service: zimbraMail

Command: SearchConv
Namespace: urn:zimbraMail
Description: Search a conversation
Properties:
Authorization token required true
Admin Authorization token required false

SearchConvRequest

    <SearchConvRequest cid="{conversation-id}" [nest="{nest-messages-inside-conv} (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)"]> ## SearchConvRequest
        <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
    </SearchConvRequest>

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

XPath Required / Optional Description
@cid Required (only 1) Type: String
The ID of the conversation to search within. REQUIRED.
@nest Optional (0 or 1) Type: 0|1
If set then the response will contain a top level <c element representing the conversation with child <m> elements representing messages in the conversation.
If unset, no <c> element is included - <m> elements will be top level elements.
@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

SearchConvResponse

    <SearchConvResponse [sortBy="{sort-by}"] [offset="{offset} (Integer)"] [more="{more-flag} (0|1)"]> ## SearchConvResponse
        <c [id="{conv-id}"] [n="{num-msgs} (Integer)"] [total="{all-msgs} (Integer)"] [f="{conversation-flags}"]
               [t="{tags}"] [tn="{tag-names}"]> ## NestedSearchConversation
            (<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 [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)*
                <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 /c/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 /c/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 /c/m/inv/comp/at [ ## CalendarAttendee])*
                            (<xprop name="{xprop-name}" value="{xprop-value}"> ## XProp
                                (<xparam name="{xparam-name}" value="{xparam-value}" /> ## See /c/m/inv/comp/at/xparam [ ## XParam])*
                              </xprop>)*
                          </alarm>)*
                        (<xprop name="{xprop-name}" value="{xprop-value}"> ... </xprop> ## See /c/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 /c/m/inv/comp/at/xparam [ ## XParam])*
                         </or>
                        <recur> ## RecurrenceInfo
                            List of any of: {
                                <add> ## AddRecurrenceInfo
                                    List of any of: {
                                        <add> ... </add> ## See /c/m/inv/comp/recur/add [ ## AddRecurrenceInfo] # [inside itself]
                                        <exclude> ## ExcludeRecurrenceInfo
                                            List of any of: {
                                                <add> ... </add> ## See /c/m/inv/comp/recur/add [ ## AddRecurrenceInfo] # [inside itself]
                                                <exclude> ... </exclude> ## See /c/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 /c/m/inv/comp/recur [ ## RecurrenceInfo] # [inside itself]
                                                    <exclude> ... </exclude> ## See /c/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 /c/m/inv/comp/recur/add/exclude/dates/dtval/s [ ## DtTimeInfo]
                                                        <dur ... /> ## See /c/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 /c/m/inv/comp/recur/add/exclude/except [ ## ExceptionRuleInfo]
                                        <cancel ... /> ## See /c/m/inv/comp/recur/add/exclude/cancel [ ## CancelRuleInfo]
                                        <dates [tz="{TZID}"]> ... </dates> ## See /c/m/inv/comp/recur/add/exclude/dates [ ## SingleDates]
                                        <rule freq="{freq}"> ... </rule> ## See /c/m/inv/comp/recur/add/exclude/rule [ ## SimpleRepeatingRule]
                                    }
                                 </add>
                                <exclude> ... </exclude> ## See /c/m/inv/comp/recur/add/exclude [ ## ExcludeRecurrenceInfo]
                                <except ... > ... </except> ## See /c/m/inv/comp/recur/add/exclude/except [ ## ExceptionRuleInfo]
                                <cancel ... /> ## See /c/m/inv/comp/recur/add/exclude/cancel [ ## CancelRuleInfo]
                                <dates [tz="{TZID}"]> ... </dates> ## See /c/m/inv/comp/recur/add/exclude/dates [ ## SingleDates]
                                <rule freq="{freq}"> ... </rule> ## See /c/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 /c/m/inv/comp/recur/add/exclude/dates/dtval/s [ ## DtTimeInfo]
                        <e ... /> ## See /c/m/inv/comp/recur/add/exclude/dates/dtval/s [ ## DtTimeInfo]
                        <dur ... /> ## See /c/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> ## 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 /c/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}"]> ## MailCustomMetadata
                    (<a n="{key}">{value}</a> ## See /c/m/header [ ## KeyValuePair])*
                  </meta>)*
              </m>)*
            <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>
         </c>
        (<m ... > ... </m> ## See /c/m [ ## MessageHitInfo])*
        <info>
            List of any of: {
                <suggest>{suggestedQueryString}</suggest> ## See /c/info/suggest [ ## SuggestedQueryString]
                <wildcard ... /> ## See /c/info/wildcard [ ## WildcardExpansionQueryInfo]
            }
        </info>
    </SearchConvResponse>

elements and attributes you can define within a <SearchConvResponse> 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.
/c Optional (0 or 1) Nested Search Conversation (Only returned if request had "nest" attribute set)
/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@total Optional (0 or 1) Type: Integer
Total number of messages in conversation
/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/m Optional (0 or more) Message hits
/c/m@sf Optional (0 or 1) Type: String
Sort field value
/c/m@cm Optional (0 or 1) Type: 0|1
If the message matched the specified query string
/c/m@id Optional (0 or 1) Type: String
Message ID
/c/m@i4uid Optional (0 or 1) Type: Integer
IMAP UID
/c/m@cif Optional (0 or 1) Type: String
X-Zimbra-Calendar-Intended-For header
/c/m@origid Optional (0 or 1) Type: String
Message id of the message being replied to/forwarded (outbound messages only)
/c/m@rt Optional (0 or 1) Type: String
Reply type - r|w
/c/m@idnt Optional (0 or 1) Type: String
If set, this specifies the identity being used to compose the message
/c/m@forAcct Optional (0 or 1) Type: String
Draft account ID
/c/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
/c/m@sd Optional (0 or 1) Type: Long
Date header
/c/m@rd Optional (0 or 1) Type: Long
Resent date
/c/m@part Optional (0 or 1) Type: String
Part
/c/m@s Optional (0 or 1) Type: Long
Size in bytes
/c/m@d Optional (0 or 1) Type: Long
Date Seconds since the epoch, from the date header in the message
/c/m@l Optional (0 or 1) Type: String
Folder ID
/c/m@cid Optional (0 or 1) Type: String
Converstation ID. only present if <m> is not enclosed within a <c> element
/c/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 (+)
/c/m@t Optional (0 or 1) Type: String
Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
/c/m@tn Optional (0 or 1) Type: String
Comma separated list of tag names
/c/m@rev Optional (0 or 1) Type: Integer
Revision
/c/m@md Optional (0 or 1) Type: Long
Date metadata changed
/c/m@ms Optional (0 or 1) Type: Integer
Change sequence
/c/m/hp Optional (0 or more) Hit Parts -- indicators that the named parts matched the search string
/c/m/hp@part Required (only 1) Type: String
Part
/c/m/fr Optional (0 or 1) Type: {fragment} (String)
First few bytes of the message (probably between 40 and 100 bytes)
/c/m/e Optional (0 or more) Email addresses
/c/m/e@a Optional (0 or 1) Type: String
the user@domain part of an email address
/c/m/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/m/e@p Optional (0 or 1) Type: String
The comment/name part of an address
/c/m/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/m/e@isGroup Optional (0 or 1) Type: 0|1
Set if the email address is a group
/c/m/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.
/c/m/su Optional (0 or 1) Type: {subject} (String)
Subject
/c/m/mid Optional (0 or 1) Type: {messageIdHeader} (String)
Message ID
/c/m/irt Optional (0 or 1) Type: {inReplyTo} (String)
Message-ID header for message being replied to
/c/m/inv Optional (0 or 1) Parsed out iCalendar invite
/c/m/inv@type Required (only 1) Type: String
Invite type - appt|task
/c/m/inv/tz Optional (0 or more) Timezones
/c/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
/c/m/inv/tz@stdoff Required (only 1) Type: Integer
Standard Time's offset in minutes from UTC; local = UTC + offset
/c/m/inv/tz@dayoff Required (only 1) Type: Integer
Daylight Saving Time's offset in minutes from UTC; present only if DST is used
/c/m/inv/tz@stdname Optional (0 or 1) Type: String
Standard Time component's timezone name
/c/m/inv/tz@dayname Optional (0 or 1) Type: String
Daylight Saving Time component's timezone name
/c/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.
/c/m/inv/tz/standard@week Optional (0 or 1) Type: Integer
Week number; 1=first, 2=second, 3=third, 4=fourth, -1=last
/c/m/inv/tz/standard@wkday Optional (0 or 1) Type: Integer
Day of week; 1=Sunday, 2=Monday, etc.
/c/m/inv/tz/standard@mon Required (only 1) Type: Integer
Month; 1=January, 2=February, etc.
/c/m/inv/tz/standard@mday Optional (0 or 1) Type: Integer
Day of month (1..31)
/c/m/inv/tz/standard@hour Required (only 1) Type: Integer
Transition hour (0..23)
/c/m/inv/tz/standard@min Required (only 1) Type: Integer
Transition minute (0..59)
/c/m/inv/tz/standard@sec Required (only 1) Type: Integer
Transition second; 0..59, usually 0
/c/m/inv/tz/daylight Optional (0 or 1) Time/rule for transitioning from standard time to daylight time
See /c/m/inv/tz/standard for more details.
/c/m/inv/comp Optional (0 or 1) Invite components
/c/m/inv/comp@method Optional (0 or 1) Type: String
Method
/c/m/inv/comp@compNum Optional (0 or 1) Type: Integer
Component number of the invite
/c/m/inv/comp@rsvp Optional (0 or 1) Type: 0|1
RSVP flag. Set if response requested, unset if no response requested
/c/m/inv/comp@priority Optional (0 or 1) Type: String
Priority (0 - 9; default = 0)
/c/m/inv/comp@name Optional (0 or 1) Type: String
NAME
/c/m/inv/comp@loc Optional (0 or 1) Type: String
Location
/c/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
/c/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)
/c/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)
/c/m/inv/comp@transp Optional (0 or 1) Type: String
Transparency - O|T. i.e. Opaque or Transparent
/c/m/inv/comp@isOrg Optional (0 or 1) Type: 0|1
Am I the organizer? [default 0 (false)]
/c/m/inv/comp@x_uid Optional (0 or 1) Type: String
x_uid
/c/m/inv/comp@uid Optional (0 or 1) Type: String
UID to use when creating appointment. Optional: client can request the UID to use
/c/m/inv/comp@seq Optional (0 or 1) Type: Integer
Sequence number (default = 0)
/c/m/inv/comp@d Optional (0 or 1) Type: Long
Date - used for zdsync
/c/m/inv/comp@calItemId Optional (0 or 1) Type: String
Mail item ID of appointment
/c/m/inv/comp@apptId Optional (0 or 1) Type: String
Appointment ID (deprecated)
/c/m/inv/comp@ciFolder Optional (0 or 1) Type: String
Folder of appointment
/c/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.
/c/m/inv/comp@class Optional (0 or 1) Type: String
Class = PUB|PRI|CON. i.e. PUBlic (default), PRIvate, CONfidential
/c/m/inv/comp@url Optional (0 or 1) Type: String
URL
/c/m/inv/comp@ex Optional (0 or 1) Type: 0|1
Set if this is invite is an exception
/c/m/inv/comp@ridZ Optional (0 or 1) Type: String
Recurrence-id string in UTC timezone
/c/m/inv/comp@allDay Optional (0 or 1) Type: 0|1
Set if is an all day appointment
/c/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
/c/m/inv/comp@neverSent Optional (0 or 1) Type: 0|1
Set if attendees were never notified of this invite; for organizer only
/c/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".
/c/m/inv/comp/category Optional (0 or more) Type: {categories} (String)
Categories - for iCalendar CATEGORY properties
/c/m/inv/comp/comment Optional (0 or more) Type: {comments} (String)
Comments - for iCalendar COMMENT properties
/c/m/inv/comp/contact Optional (0 or more) Type: {contacts} (String)
Contacts - for iCalendar CONTACT properties
/c/m/inv/comp/geo Optional (0 or 1) for iCalendar GEO property
/c/m/inv/comp/geo@lat Optional (0 or 1) Type: String
Longitude (float value)
/c/m/inv/comp/geo@lon Optional (0 or 1) Type: String
Longitude (float value)
/c/m/inv/comp/at Optional (0 or more) Attendees
/c/m/inv/comp/at@a Optional (0 or 1) Type: String
Email address (without "MAILTO:")
/c/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
/c/m/inv/comp/at@d Optional (0 or 1) Type: String
Friendly name - "CN" in iCalendar
/c/m/inv/comp/at@sentBy Optional (0 or 1) Type: String
iCalendar SENT-BY
/c/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.
/c/m/inv/comp/at@lang Optional (0 or 1) Type: String
iCalendar LANGUAGE - As defined in RFC5646 * (e.g. "en-US")
/c/m/inv/comp/at@cutype Optional (0 or 1) Type: String
iCalendar CUTYPE (Calendar user type)
/c/m/inv/comp/at@role Optional (0 or 1) Type: String
iCalendar ROLE
/c/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)
/c/m/inv/comp/at@rsvp Optional (0 or 1) Type: 0|1
iCalendar RSVP
/c/m/inv/comp/at@member Optional (0 or 1) Type: String
iCalendar MEMBER - The group or list membership of the calendar user
/c/m/inv/comp/at@delTo Optional (0 or 1) Type: String
iCalendar DELEGATED-TO
/c/m/inv/comp/at@delFrom Optional (0 or 1) Type: String
iCalendar DELEGATED-FROM
/c/m/inv/comp/at/xparam Optional (0 or more) Non-standard parameters (XPARAMs)
/c/m/inv/comp/at/xparam@name Required (only 1) Type: String
XPARAM Name
/c/m/inv/comp/at/xparam@value Required (only 1) Type: String
XPARAM value
/c/m/inv/comp/alarm Optional (0 or more) Alarm information
/c/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
/c/m/inv/comp/alarm/trigger Optional (0 or 1) Alarm trigger information
/c/m/inv/comp/alarm/trigger/abs Optional (0 or 1) Absolute trigger information
/c/m/inv/comp/alarm/trigger/abs@d Required (only 1) Type: String
Date in format : YYYYMMDDThhmmssZ
/c/m/inv/comp/alarm/trigger/rel Optional (0 or 1) Relative trigger information
/c/m/inv/comp/alarm/trigger/rel@neg Optional (0 or 1) Type: 0|1
Set if the duration is negative.
/c/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)
/c/m/inv/comp/alarm/trigger/rel@d Optional (0 or 1) Type: Integer
Days component of the duration
/c/m/inv/comp/alarm/trigger/rel@h Optional (0 or 1) Type: Integer
Hours component of the duration
/c/m/inv/comp/alarm/trigger/rel@m Optional (0 or 1) Type: Integer
Minutes component of the duration
/c/m/inv/comp/alarm/trigger/rel@s Optional (0 or 1) Type: Integer
Seconds component of the duration
/c/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
/c/m/inv/comp/alarm/trigger/rel@count Optional (0 or 1) Type: Integer
Alarm repeat count
/c/m/inv/comp/alarm/repeat Optional (0 or 1) Alarm repeat information
See /c/m/inv/comp/alarm/trigger/rel for more details.
/c/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
/c/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
/c/m/inv/comp/alarm/attach@uri Optional (0 or 1) Type: String
URI
/c/m/inv/comp/alarm/attach@ct Optional (0 or 1) Type: String
Content Type for {base64-encoded-binary-alarm-attach-data}
/c/m/inv/comp/alarm/summary Optional (0 or 1) Type: {summary} (String)
Alarm summary
/c/m/inv/comp/alarm/at Optional (0 or more) Attendee information
See /c/m/inv/comp/at for more details.
/c/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>
 
/c/m/inv/comp/alarm/xprop@name Required (only 1) Type: String
XPROP name
/c/m/inv/comp/alarm/xprop@value Required (only 1) Type: String
XPROP value
/c/m/inv/comp/alarm/xprop/xparam Optional (0 or more) XPARAMs
See /c/m/inv/comp/at/xparam for more details.
/c/m/inv/comp/xprop Optional (0 or more) iCalender XPROP properties
See /c/m/inv/comp/alarm/xprop for more details.
/c/m/inv/comp/fr Optional (0 or 1) Type: {fragment} (String)
First few bytes of the message (probably between 40 and 100 bytes)
/c/m/inv/comp/desc Optional (0 or 1) Type: {description} (String)
Present if noBlob is set and invite has a plain text description
/c/m/inv/comp/descHtml Optional (0 or 1) Type: {htmlDescription} (String)
Present if noBlob is set and invite has an HTML description
/c/m/inv/comp/or Optional (0 or 1) Organizer
/c/m/inv/comp/or@a Optional (0 or 1) Type: String
Email address (without "MAILTO:")
/c/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
/c/m/inv/comp/or@d Optional (0 or 1) Type: String
Friendly name - "CN" in iCalendar
/c/m/inv/comp/or@sentBy Optional (0 or 1) Type: String
iCalendar SENT-BY
/c/m/inv/comp/or@dir Optional (0 or 1) Type: String
iCalendar DIR - Reference to a directory entry associated with the calendar user.
/c/m/inv/comp/or@lang Optional (0 or 1) Type: String
iCalendar LANGUAGE - As defined in RFC5646 * (e.g. "en-US")
/c/m/inv/comp/or/xparam Optional (0 or more) Non-standard parameters (XPARAMs)
See /c/m/inv/comp/at/xparam for more details.
/c/m/inv/comp/recur Optional (0 or 1) Recurrence information
/c/m/inv/comp/recur/add Optional (0 or 1)
/c/m/inv/comp/recur/add/add Optional (0 or 1) See /c/m/inv/comp/recur/add for more details.
/c/m/inv/comp/recur/add/exclude Optional (0 or 1)
/c/m/inv/comp/recur/add/exclude/add Optional (0 or 1) See /c/m/inv/comp/recur/add for more details.
/c/m/inv/comp/recur/add/exclude/exclude Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude for more details.
/c/m/inv/comp/recur/add/exclude/except Optional (0 or 1)
/c/m/inv/comp/recur/add/exclude/except@rangeType Required (only 1) Type: int
Recurrence range type
/c/m/inv/comp/recur/add/exclude/except@recurId Required (only 1) Type: String
Recurrence ID in format : YYMMDD[THHMMSS[Z]]
/c/m/inv/comp/recur/add/exclude/except@tz Optional (0 or 1) Type: String
Timezone name
/c/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
/c/m/inv/comp/recur/add/exclude/except/add Optional (0 or 1) Dates or rules which ADD instances. ADDs are evaluated before EXCLUDEs
See /c/m/inv/comp/recur for more details.
/c/m/inv/comp/recur/add/exclude/except/exclude Optional (0 or 1) Dates or rules which EXCLUDE instances
See /c/m/inv/comp/recur for more details.
/c/m/inv/comp/recur/add/exclude/cancel Optional (0 or 1)
/c/m/inv/comp/recur/add/exclude/cancel@rangeType Required (only 1) Type: int
Recurrence range type
/c/m/inv/comp/recur/add/exclude/cancel@recurId Required (only 1) Type: String
Recurrence ID in format : YYMMDD[THHMMSS[Z]]
/c/m/inv/comp/recur/add/exclude/cancel@tz Optional (0 or 1) Type: String
Timezone name
/c/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
/c/m/inv/comp/recur/add/exclude/dates Optional (0 or 1)
/c/m/inv/comp/recur/add/exclude/dates@tz Optional (0 or 1) Type: String
TZID
/c/m/inv/comp/recur/add/exclude/dates/dtval Optional (0 or more) Information on start date/time and end date/time or duration
/c/m/inv/comp/recur/add/exclude/dates/dtval/s Optional (0 or 1) Start DATE-TIME
/c/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
 
/c/m/inv/comp/recur/add/exclude/dates/dtval/s@tz Optional (0 or 1) Type: String
Java timezone identifier
/c/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
/c/m/inv/comp/recur/add/exclude/dates/dtval/e Optional (0 or 1) Start DATE-TIME
See /c/m/inv/comp/recur/add/exclude/dates/dtval/s for more details.
/c/m/inv/comp/recur/add/exclude/dates/dtval/dur Optional (0 or 1) Duration information
See /c/m/inv/comp/alarm/trigger/rel for more details.
/c/m/inv/comp/recur/add/exclude/rule Optional (0 or 1)
/c/m/inv/comp/recur/add/exclude/rule@freq Required (only 1) Type: String
Frequency - SEC,MIN,HOU,DAI,WEE,MON,YEA
/c/m/inv/comp/recur/add/exclude/rule/until Optional (0 or 1) UNTIL date specification
/c/m/inv/comp/recur/add/exclude/rule/until@d Required (only 1) Type: String
Date in format : YYYYMMDD[ThhmmssZ]
/c/m/inv/comp/recur/add/exclude/rule/count Optional (0 or 1) Count of instances to generate
/c/m/inv/comp/recur/add/exclude/rule/count@num Required (only 1) Type: int
Number
/c/m/inv/comp/recur/add/exclude/rule/interval Optional (0 or 1) Interval specification
/c/m/inv/comp/recur/add/exclude/rule/interval@ival Required (only 1) Type: int
Rule interval count - a positive integer
/c/m/inv/comp/recur/add/exclude/rule/bysecond Optional (0 or 1) BYSECOND rule
/c/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
/c/m/inv/comp/recur/add/exclude/rule/byminute Optional (0 or 1) BYMINUTE rule
/c/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
/c/m/inv/comp/recur/add/exclude/rule/byhour Optional (0 or 1) BYHOUR rule
/c/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
/c/m/inv/comp/recur/add/exclude/rule/byday Optional (0 or 1) BYDAY rule
/c/m/inv/comp/recur/add/exclude/rule/byday/wkday Optional (0 or more) By day weekday rule specification
/c/m/inv/comp/recur/add/exclude/rule/byday/wkday@day Required (only 1) Type: String
Weekday - SU|MO|TU|WE|TH|FR|SA
/c/m/inv/comp/recur/add/exclude/rule/byday/wkday@ordwk Optional (0 or 1) Type: Integer
Week number. [[+]|-]num num: 1 to 53
/c/m/inv/comp/recur/add/exclude/rule/bymonthday Optional (0 or 1) BYMONTHDAY rule
/c/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.
/c/m/inv/comp/recur/add/exclude/rule/byyearday Optional (0 or 1) BYYEARDAY rule
/c/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.
/c/m/inv/comp/recur/add/exclude/rule/byweekno Optional (0 or 1) BYWEEKNO rule
/c/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.
/c/m/inv/comp/recur/add/exclude/rule/bymonth Optional (0 or 1) BYMONTH rule
/c/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
/c/m/inv/comp/recur/add/exclude/rule/bysetpos Optional (0 or 1) BYSETPOS rule
/c/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.
/c/m/inv/comp/recur/add/exclude/rule/wkst Optional (0 or 1) Week start day - SU,MO,TU,WE,TH,FR,SA
/c/m/inv/comp/recur/add/exclude/rule/wkst@day Required (only 1) Type: String
Weekday - SU|MO|TU|WE|TH|FR|SA
/c/m/inv/comp/recur/add/exclude/rule/rule-x-name Optional (0 or more) X Name rules
/c/m/inv/comp/recur/add/exclude/rule/rule-x-name@name Optional (0 or 1) Type: String
XNAME Name
/c/m/inv/comp/recur/add/exclude/rule/rule-x-name@value Optional (0 or 1) Type: String
XNAME Value
/c/m/inv/comp/recur/add/except Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude/except for more details.
/c/m/inv/comp/recur/add/cancel Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude/cancel for more details.
/c/m/inv/comp/recur/add/dates Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude/dates for more details.
/c/m/inv/comp/recur/add/rule Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude/rule for more details.
/c/m/inv/comp/recur/exclude Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude for more details.
/c/m/inv/comp/recur/except Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude/except for more details.
/c/m/inv/comp/recur/cancel Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude/cancel for more details.
/c/m/inv/comp/recur/dates Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude/dates for more details.
/c/m/inv/comp/recur/rule Optional (0 or 1) See /c/m/inv/comp/recur/add/exclude/rule for more details.
/c/m/inv/comp/exceptId Optional (0 or 1) RECURRENCE-ID, if this is an exception
/c/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
 
/c/m/inv/comp/exceptId@tz Optional (0 or 1) Type: String
Java timezone identifier
/c/m/inv/comp/exceptId@rangeType Optional (0 or 1) Type: Integer
Range type - 1 means NONE, 2 means THISANDFUTURE, 3 means THISANDPRIOR
/c/m/inv/comp/s Optional (0 or 1) Start date-time (required)
See /c/m/inv/comp/recur/add/exclude/dates/dtval/s for more details.
/c/m/inv/comp/e Optional (0 or 1) End date-time
See /c/m/inv/comp/recur/add/exclude/dates/dtval/s for more details.
/c/m/inv/comp/dur Optional (0 or 1) Duration
See /c/m/inv/comp/alarm/trigger/rel for more details.
/c/m/inv/replies Required (only 1)
/c/m/inv/replies/reply Optional (0 or more)
/c/m/inv/replies/reply@seq Required (only 1) Type: int
Sequence number
/c/m/inv/replies/reply@d Required (only 1) Type: long
DTSTAMP date in milliseconds
/c/m/inv/replies/reply@at Required (only 1) Type: String
Attendee address
/c/m/inv/replies/reply@sentBy Optional (0 or 1) Type: String
iCalendar SENT-BY
/c/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)
/c/m/inv/replies/reply@rangeType Required (only 1) Type: int
Recurrence range type
/c/m/inv/replies/reply@recurId Required (only 1) Type: String
Recurrence ID in format : YYMMDD[THHMMSS[Z]]
/c/m/inv/replies/reply@tz Optional (0 or 1) Type: String
Timezone name
/c/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
/c/m/header Optional (0 or more) Type: {value}
Headers
Description for element text content:Value
/c/m/header@n Required (only 1) Type: String
Key
/c/m/mp Optional (0 or 1)
/c/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.
/c/m/mp@ct Required (only 1) Type: String
MIME Content-Type. The mime type is the content of the element.
/c/m/mp@s Optional (0 or 1) Type: Integer
Size in bytes
/c/m/mp@cd Optional (0 or 1) Type: String
MIME Content-Disposition
/c/m/mp@filename Optional (0 or 1) Type: String
Filename attribute from the Content-Disposition param list
/c/m/mp@ci Optional (0 or 1) Type: String
MIME Content-ID (for display of embedded images)
/c/m/mp@cl Optional (0 or 1) Type: String
MIME/Microsoft Content-Location (for display of embedded images)
/c/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.
/c/m/mp@truncated Optional (0 or 1) Type: 0|1
Set if the content for the part is truncated
/c/m/mp@requiresSmartLinkConversion Required (only 1) Type: Boolean
/c/m/mp/content Optional (0 or 1) Type: {content} (String)
The content of the part, if requested
/c/m/mp/mp Optional (0 or more) Mime parts
See /c/m/mp for more details.
/c/m/shr Optional (0 or 1)
/c/m/shr@truncated Optional (0 or 1) Type: 0|1
Truncated flag
/c/m/shr/content Optional (0 or 1) Type: {content} (String)
Content
/c/m/dlSubs Optional (0 or 1)
/c/m/dlSubs@truncated Optional (0 or 1) Type: 0|1
Truncated flag
/c/m/dlSubs/content Optional (0 or 1) Type: {content} (String)
Content
/c/m/meta Optional (0 or more) Custom metadata information
/c/m/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/m/meta/a Optional (0 or more) Type: {value}
Key value pairs
Description for element text content:Value
See /c/m/header for more details.
/c/info Required (only 1)
/c/info/suggest Optional (0 or 1) Type: {suggestedQueryString}
Description for element text content:Suggested query string
/c/info/wildcard Optional (0 or 1)
/c/info/wildcard@str Required (only 1) Type: String
Wildcard expansion string
/c/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).
/c/info/wildcard@numExpanded Required (only 1) Type: int
Number expanded
/m Optional (0 or more) Search hits
See /c/m for more details.
/info Required (only 1)
/info/suggest Optional (0 or 1) Type: {suggestedQueryString}
Description for element text content:Suggested query string
See /c/info/suggest for more details.
/info/wildcard Optional (0 or 1) See /c/info/wildcard for more details.