Service: zimbraAccount

Command: AutoCompleteGal
Namespace: urn:zimbraAccount
Description: Perform an autocomplete for a name against the Global Address List

The number of entries in the response is limited by Account/COS attribute zimbraContactAutoCompleteMaxResults with default value of 20.

Properties:
Authorization token required true
Admin Authorization token required false

AutoCompleteGalRequest

    <AutoCompleteGalRequest [needExp="{need-can-expand} (0|1)"] name="..." [type="(all | account | resource | group)"]
                               [galAcctId="{gal-account-id}"] [limit="{limit} (Integer)"] /> ## AutoCompleteGalRequest

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

XPath Required / Optional Description
@needExp Optional (0 or 1) Type: 0|1
flag whether the {exp} flag is needed in the response for group entries.
default is 0 (false)
@name Required (only 1) Type: String
The name to test for autocompletion
@type Optional (0 or 1) Type: all | account | resource | group
type of addresses to auto-complete on
  • "account" for regular user accounts, aliases and distribution lists
  • "resource" for calendar resources
  • "group" for groups
  • "all" for combination of all types
if omitted, defaults to "account"
@galAcctId Optional (0 or 1) Type: String
GAL Account ID
@limit Optional (0 or 1) Type: Integer
An integer specifying the maximum number of results to return

AutoCompleteGalResponse

    <AutoCompleteGalResponse [more="{more-flag} (0|1)"] [tokenizeKey="{tokenize-key-op} (0|1)"]
                                [paginationSupported="(0|1)"]> ## AutoCompleteGalResponse
        (<cn [sf="{contact-sort-field-value}"] [exp="(0|1)"] id="{contact-id}" [l="{contact-folder}"]
                 [f="{contact-flags}"] [t="..."] [tn="{contact-tag-names}"] [md="{contact-change-date} (Long)"]
                 [ms="{modified-seq-id} (Integer)"] [d="{contact-date} (Long)"] [rev="{contact-revision-id} (Integer)"]
                 [fileAsStr="{contact-fileAs}"] [email="{contact-email-1}"] [email2="{contact-email-2}"]
                 [email3="{contact-email-3}"] [type="{contact-type}"] [dlist="..."] [ref="{contact-ref}"]
                 [tooManyMembers="{contact-group-too-many-members} (0|1)"] [isOwner="{isOwner} (0|1)"]
                 [isMember="{isMember} (0|1)"]> ## ContactInfo
            (<meta [section="{metadata-section-key}"]> ## AccountCustomMetadata
                (<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="{contact-group-member-type}" value="{contact-group-member-value}"> ## ContactGroupMember
                <cn> ... </cn> ## See /cn [ ## ContactInfo] # [inside itself]
              </m>)*
          </cn>)*
    </AutoCompleteGalResponse>

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

XPath Required / Optional Description
@more Optional (0 or 1) Type: 0|1
Set to 1 if the results were truncated
@tokenizeKey Optional (0 or 1) Type: 0|1
Either "and" or "or" (if present)
  • 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.
@paginationSupported Optional (0 or 1) Type: 0|1
Flag if pagination is supported
/cn Optional (0 or more) Contacts matching the autocomplete request
/cn@sf Optional (0 or 1) Type: String
Sort field value
/cn@exp Optional (0 or 1) Type: 0|1
/cn@id Required (only 1) Type: String
Contact ID
/cn@l Optional (0 or 1) Type: String
Folder
/cn@f Optional (0 or 1) Type: String
Flags
/cn@t Optional (0 or 1) Type: String
Tags (deprecated)
/cn@tn Optional (0 or 1) Type: String
Tag names
/cn@md Optional (0 or 1) Type: Long
Change date
/cn@ms Optional (0 or 1) Type: Integer
Modified sequence ID
/cn@d Optional (0 or 1) Type: Long
Contact date
/cn@rev Optional (0 or 1) Type: Integer
Revision ID
/cn@fileAsStr Optional (0 or 1) Type: String
FileAs string for contact
/cn@email Optional (0 or 1) Type: String
Email address 1
/cn@email2 Optional (0 or 1) Type: String
Email address 2
/cn@email3 Optional (0 or 1) Type: String
Email address 3
/cn@type Optional (0 or 1) Type: String
Contact type
Default value is "contact". If is present and set to "group", then the contact is a personal distribution list.
/cn@dlist Optional (0 or 1) Type: String
dlist - retained for backwards compatibility
/cn@ref Optional (0 or 1) Type: String
Reference
/cn@tooManyMembers Optional (0 or 1) Type: 0|1
Flag whether there were too many members.
If the number of members on a GAL group is greater than the specified max, no members are returned and this flag is set to 1 (true) instead.
/cn@isOwner Optional (0 or 1) Type: 0|1
For group entries, flags whether user is the owner of a group (type=group in attrs on a <cn>).
/cn@isMember Optional (0 or 1) Type: 0|1
For group entries, flags whether user is a member of a group (type=group in attrs on a <cn>).
/cn/meta Optional (0 or more) Custom metadata
/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}
Attributes specified as 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) Contact 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
Contact group member type
/cn/m@value Required (only 1) Type: String
Contact group member value
/cn/m/cn Optional (0 or 1) Contact
See /cn for more details.