Namespace: "urn:zimbraAdmin"
SearchGal SOAP Command

Search Global Address Book (GAL)
Notes: admin verison of mail equiv. Used for testing via zmprov.

Authorization token required true
Admin Authorization token required true

SearchGalRequest

    <SearchGalRequest domain="..." [name="..."] [limit="(Integer)"]
                         [type="{type-of-addresses-to-search} (all|account|resource|group)"] [galAcctId="{gal-account-id}"] /> ## SearchGalRequest

The following table describes elements and attributes you can define within a <SearchGalRequest> element:

XPath Required / Optional Description
@domain Required (only 1) Type:String
Domain name
@name Optional (0 or 1) Type:String
Name
@limit Optional (0 or 1) Type:Integer
The maximum number of entries to return (0 is default and means all)
@type Optional (0 or 1) Type:all|account|resource|group
Type of addresses to search.
@galAcctId Optional (0 or 1) Type:String
GAL account ID

SearchGalResponse

    <SearchGalResponse [sortBy="{sort-by}"] [offset="(Integer)"] [more="{more-flag} (0|1)"]
                          [tokenizeKey="{tokenize-key-op} (0|1)"]> ## SearchGalResponse
        (<cn [sf="{contact-sort-field}"] [exp="{can-expand} (0|1)"] id="{contact-id}" [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="{metadata-section-key}"]> ## AdminCustomMetadata
                (<a n="{key}">{value}</a> ## KeyValuePair)*
              </meta>)*
            (<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>)*
          </cn>)*
    </SearchGalResponse>

The following table describes elements and attributes you can define within a <SearchGalResponse> element:

XPath Required / Optional Description
@sortBy Optional (0 or 1) Type:String
Name of attribute sorted on.
@offset Optional (0 or 1) Type:Integer
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 the results are truncated
@tokenizeKey Optional (0 or 1) Type:0|1
Valid values: and|or
  • Not present if the search key was not tokenized.
  • Some clients backtrack on GAL results assuming the results of a more specific key is the subset of a more generic key, and it checks cached results instead of issuing another SOAP request to the server. If search key was tokenized and expanded with AND or OR, this cannot be assumed.
/cn Optional (0 or more) Matching contacts
/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@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 - DEPRECATED - use {contact-tag-names} instead.
/cn@tn Optional (0 or 1) Type:String
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
/cn/meta@section Optional (0 or 1) Type:String
Metadata section key.
Must be no more than 36 characters long and must be in the format of {namespace}:{section-name}. Currently the only valid namespace is "zwc".

Normally present but sometimes an empty element is created to show that custom metadata info is present but there are no sections to report on.
/cn/meta/a Optional (0 or more) Type:{value}
Key Value pairs
Description for element text content:Value
/cn/meta/a@n Required (only 1) Type:String
Key
/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.