zimbra_wsdl 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2507 @@
1
+ -----------------------------
2
+ urn:zimbraAdmin
3
+ -----------------------------
4
+
5
+ Attributes for all commands can have multiple values:
6
+
7
+ <a n="name1">{value}</a>
8
+ <a n="name2">{value}</a>
9
+ <a n="name1">{value}</a>
10
+
11
+ Note that name1 appears twice.
12
+
13
+ When updating multiple attributes, you need to specify all the old values at the same time you specify new ones.
14
+
15
+ ----------------------------
16
+ <AuthRequest xmlns="urn:zimbraAdmin">
17
+ [<name>...</name>]
18
+ [<account by="name|id|foreignPrincipal">...</account>]
19
+ <password>...</password>
20
+ </AuthRequest>
21
+
22
+ Only one of <name> or <account> can/must be specified.
23
+
24
+ <AuthResponse>
25
+ <authToken>...</authToken>
26
+ <lifetime>...</lifetime>
27
+ </AuthResponse>
28
+
29
+ Note: Only works with admin/domain-admin accounts
30
+
31
+ Access: domain admin sufficient
32
+
33
+ ----------------------------
34
+ <DelegateAuthRequest xmlns="urn:zimbraAdmin" [duration="{duration}"]>
35
+ <account by="id|name">...</account>
36
+ </DelegateAuthRequest>
37
+
38
+ <DelegateAuthResponse>
39
+ <authToken>...</authToken>
40
+ <lifetime>...</lifetime>
41
+ </DelegateAuthResponse>
42
+
43
+ Used to request a new auth token that is valid for the specified account. The id of the auth token will be the id of the target account,
44
+ and the requesting admin's id will be stored in the auth token for auditing purposes.
45
+
46
+ {duration} = lifetime in seconds of the newly-created authtoken. defaults to 1 hour. Can't be longer then zimbraAuthTokenLifetime.
47
+
48
+ ----------------------------
49
+
50
+ <CreateAccountRequest>
51
+ <name>...</name>
52
+ <password>...</password>*
53
+ <a n="attr-name">...</a>+
54
+ </CreateAccountRequest>
55
+
56
+ <CreateAccountResponse>
57
+ <account name="{name}" id="{id}">
58
+ <a n="...">...</a>+
59
+ </account>
60
+ </CreateAccountResponse>
61
+
62
+ Notes:
63
+
64
+ accounts without passwords can't be logged into
65
+
66
+ name must include domain (uid@name), and domain specified in name must exist
67
+
68
+ default value for zimbraAccountStatus is "active"
69
+
70
+ Access: domain admin sufficient
71
+
72
+ -----------------------------
73
+
74
+ <GetAccountRequest [applyCos="{apply-cos}"] [attrs="{req-attrs}"]>
75
+ <account by="id|name|foreignPrincipal">...</account>
76
+ </GetAccountRequest>
77
+
78
+ <GetAccountResponse>
79
+ <account name="{name}" id="{id}">
80
+ <a n="...">...</a>+
81
+ </account>
82
+ </GetAccountResponse>
83
+
84
+ {apply-cos} = 0|1 (1 is default)
85
+
86
+ if {apply-cos} is 1, then COS rules apply and unset attrs on an account will get their value from the COS.
87
+
88
+ if {apply-cos} is 0, then only attributes directly set on the account will be returned
89
+
90
+ {req-attrs} = comma-seperated list of attrs to return
91
+
92
+ Access: domain admin sufficient
93
+
94
+ note: this request is by default proxied to the account's home server
95
+
96
+ -----------------------------
97
+
98
+ <GetAccountInfoRequest>
99
+ <account by="id|name">...</account>
100
+ </GetAccountInfoRequest>
101
+
102
+ <GetAccountInfoResponse>
103
+ <name>{account-name}</name>
104
+ <a n="{name}">{value}</a>+
105
+ <soapURL>{mail-url}</soapURL>+
106
+ <adminSoapURL>{mail-url}</adminSoapURL>
107
+ </GetInfoResponse>
108
+
109
+ {account-name} = email address (user@domain)
110
+
111
+ {attrs} = account attrs. Currently only two attrs are returned:
112
+
113
+ zimbraId - the unique UUID of the zimbra account
114
+ zimbraMailHost - the server on which this user's mail resides
115
+
116
+ {mail-url} = URL to talk to for soap service for this account. i.e:
117
+
118
+ http://server:7070/service/soap/
119
+
120
+ Multiple URLs can be returned if both http and https (SSL) are enabled. If only one of the two is enabled,
121
+ the only one URL will be returned.
122
+
123
+ Access: domain admin sufficient
124
+
125
+ -----------------------------
126
+
127
+ <GetAccountMembershipRequest>
128
+ <account by="id|name|foreignPrincipal">...</account>
129
+ </GetAccountMembershipRequest>
130
+
131
+ <GetAccountMembershipResponse>
132
+ <dl name="{name}" id="{id}" via="{via-dl-name}">
133
+ <a n="zimbraIsAdminGroup">...</a>+
134
+ </dl>+
135
+ </GetAccountMembershipResponse>
136
+
137
+ {via-dl-name} = is present if the account is a member of the returned list because they are either a direct
138
+ or indirect member of another list that is a member of the returned list. For example,
139
+ if a user is a member of engineering@domain.com, and engineering@domain.com is a member of all@domain.com,
140
+ then <dl name="all@domain.com" ... via="engineering@domain.com"/> would be returned.
141
+
142
+
143
+ -----------------------------
144
+
145
+ <GetAllAdminAccountsRequest [applyCos="{apply-cos}"]/>
146
+
147
+ <GetAllAdminAccountsResponse>
148
+ <account name="{name}" id="{id}">
149
+ <a n="...">...</a>+
150
+ </account>
151
+ </GetAllAdminAccountsResponse>
152
+
153
+ -----------------------------
154
+
155
+ <ModifyAccountRequest>
156
+ <id>{value-of-zimbraId}</id>
157
+ <a n="...">...</a>+
158
+ </ModifyAccountRequest>
159
+
160
+ <ModifyAccountResponse>
161
+ <account name="{name}" id="{id}">
162
+ <a n="...">...</a>+
163
+ </account>
164
+ </ModifyAccountResponse>
165
+
166
+ Notes:
167
+
168
+ an empty attribute value removes the specified attr
169
+
170
+ Access: domain admin sufficient. limited set of attributes that can be updated by a domain admin.
171
+
172
+ note: this request is by default proxied to the account's home server
173
+
174
+ -----------------------------
175
+
176
+ <RenameAccountRequest>
177
+ <id>{value-of-zimbraId}</id>
178
+ <newName>{new-account-name}</newName>
179
+ </RenameAccountRequest>
180
+
181
+ <RenameAccountResponse>
182
+ <account name="{name}" id="{id}">
183
+ <a n="...">...</a>+
184
+ </account>
185
+ </RenameAccountResponse>
186
+
187
+ Access: domain admin sufficient
188
+
189
+ note: this request is by default proxied to the account's home server
190
+
191
+ -----------------------------
192
+
193
+ <DeleteAccountRequest>
194
+ <id>{value-of-zimbraId}</id>
195
+ </DeleteAccountRequest>
196
+
197
+ <DeleteAccountResponse/>
198
+
199
+ Deletes the account with the given id. If the request is sent
200
+ to the server on which the mailbox resides, the mailbox is
201
+ deleted as well.
202
+
203
+ Access: domain admin sufficient
204
+
205
+ note: this request is by default proxied to the account's home server
206
+
207
+ -----------------------------
208
+
209
+ <SetPasswordRequest>
210
+ <id>{value-of-zimbraId}</id>
211
+ <newPassword>...</newPassword>
212
+ </SetPasswordRequest>
213
+
214
+ <SetPasswordResponse>
215
+ [<message>...</message>]
216
+ </SetPasswordResponse>
217
+
218
+ Access: domain admin sufficient
219
+
220
+ <message> : If the password had violated any policy, it is returned in the
221
+ <message> element, and the password is still set successfully.
222
+
223
+ note: this request is by default proxied to the account's home server
224
+
225
+ -----------------------------
226
+
227
+ <CheckPasswordStrengthRequest>
228
+ <id>{value-of-zimbraId}</id>
229
+ <password>...</password>
230
+ </CheckPasswordStrengthRequest>
231
+
232
+ <CheckPasswordStrengthResponse/>
233
+
234
+ Access: domain admin sufficient
235
+
236
+ note: this request is by default proxied to the account's home server
237
+
238
+ -----------------------------
239
+
240
+ <AddAccountAliasRequest>
241
+ <id>{value-of-zimbraId}</id>
242
+ <alias>...</alias>
243
+ </AddAccountAliasRequest>
244
+
245
+ <AddAccountAliasResponse/>
246
+
247
+ Access: domain admin sufficient
248
+
249
+ note: this request is by default proxied to the account's home server
250
+
251
+ -----------------------------
252
+
253
+ <RemoveAccountAliasRequest>
254
+ <id>{value-of-zimbraId}</id>
255
+ <alias>...</alias>
256
+ </RemoveAccountAliasRequest>
257
+
258
+ <RemoveAccountAliasResponse/>
259
+
260
+ Access: domain admin sufficient
261
+
262
+ note: this request is by default proxied to the account's home server
263
+
264
+ -----------------------------
265
+ NOTE: SearchAccountsRequest is deprecated. See SearchDirectoryRequest.
266
+
267
+ <SearchAccountsRequest [limit="..."] [offset="..."] [domain="{domain-name}"] [applyCos="{apply-cos}"]
268
+ [attrs="a1,a2,a3"] [sortBy="{sort-by}"] [sortAscending="{sort-ascending}"] [types="{type}"]>
269
+ <query>...</query>
270
+ </SearchAccountsRequest>
271
+
272
+ <SearchAccountsResponse more="{more-flag}" [searchTotal="{search-total}"]>
273
+ <account name="{name}" id="{id} isExternal="1|0"">
274
+ <a n="...">...</a>+
275
+ </account>
276
+ <alias name="{name}" id="{id}">
277
+ <a n="...">...</a>+
278
+ </alias>
279
+ <dl name="{name}" id="{id}">
280
+ <a n="...">...</a>+
281
+ </dl>
282
+ </SearchAccountsResponse>
283
+
284
+ Notes:
285
+ SearchAccountsRequest
286
+ <query> - query string should be an LDAP-style filter string (RFC 2254)
287
+ limit - the number of accounts to return (0 is default and means all)
288
+ offset - the starting offset (0, 25, etc)
289
+ domain - the domain name to limit the search to
290
+ applyCos - whether or not (0/1) to apply the COS policy to account. specify 0 if only
291
+ requesting attrs that aren't inherited from COS
292
+ applyConfig - whether or not (0/1) to apply the global config attrs to domain. specify 0 if only
293
+ requesting attrs that aren't inherited from global config
294
+ attrs - comma-seperated list of attrs to return ("displayName", "zimbraId", "zimbraAccountStatus")
295
+ sortBy - name of attribute to sort on. default is the account name.
296
+ sortAscending - whether to sort in ascending order (0/1), 1 is default
297
+ more-flag = true if more accounts left to return
298
+ search-total = total number of accounts that matched search (not affected by limit/offset)
299
+ types = comma-separated list of types to return. legal values are:
300
+ accounts|distributionlists|aliases|resources|domains
301
+ (default is accounts)
302
+
303
+ SearchAccountsResponse
304
+ isExternal: whether the account's zimbraMailTranport points to the designated protocol(lmtp) and server(home server of the account).
305
+
306
+ Access: domain admin sufficient (a domain admin can't specify "domains" as a type)
307
+
308
+ -----------------------------
309
+
310
+ <AutoCompleteGalRequest domain="{domain}" [type="{type}"] limit="limit-returned">
311
+ <name>...</name>
312
+ </AutoCompleteGalRequest>
313
+
314
+ <AutoCompleteGalResponse more="{more}" [tokenizeKey="{tokenize-key-op}"]>
315
+ <cn>...</cn>*
316
+ </AutoCompleteGalResponse>
317
+
318
+ {limit} = an integer specifying the maximum number of results to return
319
+
320
+ {type} = type of addresses to auto-complete on
321
+ "account" for regular user accounts, aliases and distribution lists
322
+ "resource" for calendar resources
323
+ "all" for combination of both types
324
+ if omitted, defaults to "accounts"
325
+
326
+ {more-flag} = 1 if the results were truncated.
327
+
328
+ {tokenize-key-op} = and|or
329
+ - Not present if the search key was not tokenized.
330
+ - Some clients backtrack on GAL results assuming the results of a more
331
+ specific key is the subset of a more generic key, and it checks cached
332
+ results instead of issuing another SOAP request to the server.
333
+ If search key was tokenized and expanded with AND or OR, this cannot
334
+ be assumed.
335
+
336
+ Notes: admin verison of mail equiv. Used for testing via zmprov.
337
+
338
+ -----------------------------
339
+ <SearchGalRequest [type="{type}"] [limit="..."]>
340
+ <name>...</name>
341
+ </SearchGalRequest>
342
+
343
+ <SearchGalResponse more="{more}" [tokenizeKey="{tokenize-key-op}"]>
344
+ <cn>...</cn>*
345
+ </SearchGalResponse>
346
+
347
+ {more-flag} = 1 if the results were truncated.
348
+
349
+ {tokenize-key-op} = and|or
350
+ - Not present if the search key was not tokenized.
351
+ - Some clients backtrack on GAL results assuming the results of a more
352
+ specific key is the subset of a more generic key, and it checks cached
353
+ results instead of issuing another SOAP request to the server.
354
+ If search key was tokenized and expanded with AND or OR, this cannot
355
+ be assumed.
356
+
357
+ {type} = type of addresses to search
358
+ "account" for regular user accounts, aliases and distribution lists
359
+ "resource" for calendar resources
360
+ "all" for combination of both types
361
+ if omitted, defaults to "all"
362
+
363
+ Notes: admin verison of mail equiv. Used for testing via zmprov.
364
+
365
+ -----------------------------
366
+
367
+ <SearchDirectoryRequest [limit="..."] [offset="..."] [domain="{domain-name}"] [applyCos="{apply-cos}"] [maxResults="..."]
368
+ [attrs="a1,a2,a3"] [sortBy="{sort-by}"] [sortAscending="{sort-ascending}"] [types="{type}"]>
369
+ <query>...</query>
370
+ </SearchDirectoryRequest>
371
+
372
+ <SearchDirectoryResponse more="{more-flag}" [searchTotal="{search-total}"]>
373
+ <account name="{name}" id="{id}" isExternal="1|0">
374
+ <a n="...">...</a>+
375
+ </account>*
376
+ <alias name="{name}" id="{id} type="account|distributionlist|resource" targetName={target-name}">
377
+ <a n="...">...</a>+
378
+ </alias>*
379
+ <dl name="{name}" id="{id}>
380
+ <a n="...">...</a>+
381
+ </dl>*
382
+ <domain name="{name}" id="{id}">
383
+ <a n="...">...</a>+
384
+ </domain>*
385
+ <cos name="{name}" id="{id}">
386
+ <a n="...">...</a>+
387
+ </cos>*
388
+ </SearchDirectoryResponse>
389
+
390
+ Notes:
391
+ SearchDirectoryRequest
392
+ <query> - query string should be an LDAP-style filter string (RFC 2254)
393
+ maxResults = maximum results that the backend will attempt to fetch from the directory before
394
+ returning a account.TOO_MANY_SEARCH_RESULTS error.
395
+
396
+ limit - the number of accounts to return per page (0 is default and means all)
397
+ offset - the starting offset (0, 25, etc)
398
+ domain - the domain name to limit the search to (do not use if searching for domains)
399
+ applyCos - whether or not (0/1) to apply the COS policy to account. specify 0 if only
400
+ requesting attrs that aren't inherited from COS
401
+ attrs - comma-seperated list of attrs to return ("displayName", "zimbraId", "zimbraAccountStatus")
402
+ sortBy - name of attribute to sort on. default is the account name.
403
+ sortAscending - whether to sort in ascending order (0/1), 1 is default
404
+ more-flag = true if more accounts left to return
405
+ search-total = total number of accounts that matched search (not affected by limit/offset)
406
+ types = comma-separated list of types to return. legal values are:
407
+ accounts|distributionlists|aliases|resources|domains|coses
408
+ (default is accounts)
409
+
410
+ SearchDirectoryResponse
411
+ isExternal: whether the account's zimbraMailTranport points to the designated protocol(lmtp) and server(home server of the account).
412
+
413
+ Access: domain admin sufficient (though a domain admin can't specify "domains" as a type)
414
+
415
+ -----------------------------
416
+
417
+ <GetQuotaUsageRequest [limit="..."] [offset="..."] [domain="{limit-to-domain}"]
418
+ [sortBy="{sort-by}"] [sortAscending="{sort-ascending}"] [refresh="1"]>
419
+ </GetQuotaUsageRequest>
420
+
421
+ <GetQuotaUsageResponse more="{more-flag}" [searchTotal="{search-total}"]>
422
+ <account name="{name}" id="{id}" used="{quota-used}" limit="{quota-limit}"/>+
423
+ </GetQuotaUsageResponse>
424
+
425
+ Notes:
426
+ GetQuotaUsageRequest
427
+ limit - the number of accounts to return (0 is default and means all)
428
+ offset - the starting offset (0, 25, etc)
429
+ domain - the domain name to limit the search to
430
+ sortBy - valid values: "percentUsed", "totalUsed", "quotaLimit"
431
+ sortAscending - whether to sort in ascending order (0/1), 0 is default, so highest quotas are returned first
432
+ refresh - whether to always recalculate the data even when cached values are available. 0 is default.
433
+ more-flag = true if more accounts left to return
434
+ search-total = total number of accounts that matched search (not affected by limit/offset)
435
+ used = used quota in bytes, or 0 if no quota used
436
+ limit = quota limit in bytes, or 0 if unlimited
437
+
438
+ The target server should be specified in the soap header (see soap.txt, <targetServer>).
439
+
440
+ When sorting by "quotaLimit", 0 is treated as the highest value possible.
441
+
442
+ -----------------------------
443
+
444
+ <GetAllMailboxesRequest [limit="..."] [offset="..."]>
445
+ </GetAllMailboxesRequest>
446
+
447
+ <GetAllMailboxesResponse>
448
+ <mbox id="..." groupid="..." accountid="..." indexvolumeid="..." itemidcheckpoint="..." contactcount="..." sizecheckpoint="..."
449
+ changecheckpoint="..." trackingsync="..." trackingimap="..." lastbackupat="..." lastsoapaccess="..." newmessages="..." idxdeferredcount="..."/>+
450
+ </GetAllMailboxesResponse>
451
+
452
+ Notes:
453
+ Returns all data from the mailbox table (in db.sql), except for the "comment" column.
454
+ limit - the number of mailboxes to return (0 is default and means all)
455
+ offset - the starting offset (0, 25, etc)
456
+
457
+ -----------------------------
458
+
459
+ <GetMailboxStatsRequest/>
460
+
461
+ <GetMailboxStatsResponse>
462
+ <stats numMboxes="..." totalSize="..."/>
463
+ </GetMailboxStatsResponse>
464
+
465
+ Notes:
466
+ numMboxes: total number of mailboxes
467
+ totalSize: total size of all mailboxes
468
+
469
+ -----------------------------
470
+
471
+ <GetAllAccountsRequest>
472
+ [<domain by="id|name">...</domain>]
473
+ [<server by="id|name">...</server>]
474
+ <GetAllAccountsRequest/>
475
+
476
+ <GetAllAccountsResponse>
477
+ <account name="{name}" id="{id}">
478
+ <a n="...">...</a>+
479
+ </account>
480
+ </GetAllAccountsResponse>
481
+
482
+ Access: domain admin sufficient
483
+
484
+ -----------------------------
485
+
486
+ <CreateDomainRequest>
487
+ <name>...</name>
488
+ <a n="...">...</a>+
489
+ </CreateDomainRequest>
490
+
491
+ <CreateDomainResponse>
492
+ <domain name="{name}" id="{id}">
493
+ <a n="...">...</a>+
494
+ </domain>
495
+ </CreateDomainResponse>
496
+
497
+ Notes:
498
+
499
+ extra attrs:
500
+
501
+ description
502
+ zimbraNotes
503
+
504
+ -----------------------------
505
+
506
+ <GetDomainRequest [applyConfig="{apply-config}"] [attrs="{req-attrs}"]>
507
+ <domain by="id|name|virtualHostname">...</domain>
508
+ </GetDomainRequest>
509
+
510
+ <GetDomainResponse>
511
+ <domain name="{name}" id="{id}">
512
+ <a n="...">...</a>+
513
+ </domain>
514
+ </GetDomainResponse>
515
+
516
+ {apply-config} = 0|1 (1 is default)
517
+
518
+ if {apply-config} is 1, then certain unset attrs on a domain will get their value from the global config.
519
+
520
+ if {apply-config} is 0, then only attributes directly set on the domain will be returned
521
+
522
+ {req-attrs} = comma-seperated list of attrs to return
523
+
524
+ -----------------------------
525
+
526
+ <GetDomainInfoRequest [applyConfig="{apply-config}"]>
527
+ <domain by="id|name|virtualHostname">...</domain>
528
+ </GetDomainInfoRequest>
529
+
530
+ <GetDomainInfoResponse>
531
+ <domain name="..." id="...">
532
+ <a n="...">...</a>+
533
+ </domain>
534
+ </GetDomainInfoResponse>
535
+
536
+ This call does *not* require an auth token. It returuns attributes that are pertinent to domain settings
537
+ for cases when the user is not authenticated. For example, URL to direct the user to upon loggin out or when
538
+ auth token is expired.
539
+
540
+ If the domain doesn't exist, this call returns an empty body:
541
+
542
+ <GetDomainInfoResponse/>
543
+
544
+
545
+ {apply-config} = 0|1 (1 is default)
546
+
547
+ if {apply-config} is 1, then certain unset attrs on a domain will get their value from the global config.
548
+
549
+ if {apply-config} is 0, then only attributes directly set on the domain will be returned
550
+
551
+ -----------------------------
552
+
553
+ <GetAllDomainsRequest [applyConfig="{apply-config}"]/>
554
+
555
+ <GetAllDomainsResponse>
556
+ <domain name="{name}" id="{id}">
557
+ <a n="...">...</a>+
558
+ </domain>+
559
+ </GetAllDomainsResponse>
560
+
561
+ -----------------------------
562
+
563
+ <ModifyDomainRequest>
564
+ <id>{value-of-zimbraId}</id>
565
+ <a n="...">...</a>+
566
+ </ModifyDomainRequest>
567
+
568
+ <ModifyDomainResponse>
569
+ <domain name="{name}" id="{id}">
570
+ <a n="...">...</a>+
571
+ </domain>
572
+ </ModifyDomainResponse>
573
+
574
+ Notes:
575
+
576
+ an empty attribute value removes the specified attr
577
+
578
+ -----------------------------
579
+
580
+ <DeleteDomainRequest>
581
+ <id>{value-of-zimbraId}</id>
582
+ </DeleteDomainRequest>
583
+
584
+ <DeleteDomainResponse/>
585
+
586
+ -----------------------------
587
+ <CreateCosRequest>
588
+ <name>...</name>
589
+ <a n="...">...</a>+
590
+ </CreateCosRequest>
591
+
592
+ <CreateCosResponse>
593
+ <cos name="{name}" id="{id}">
594
+ <a n="...">...</a>+
595
+ </cos>
596
+ </CreateCosResponse>
597
+
598
+ Notes:
599
+
600
+ extra attrs:
601
+
602
+ description
603
+ zimbraNotes
604
+
605
+ -----------------------------
606
+ <CopyCosRequest>
607
+ <name>{dest-cos-name}</name>
608
+ <cos by="id|name">{src-cos-id-or-name}</cos>
609
+ </CopyCosRequest>
610
+
611
+ <CopyCosResponse>
612
+ <cos name="{name}" id="{id}">
613
+ <a n="...">...</a>+
614
+ </cos>
615
+ </CopyCosResponse>
616
+
617
+ -----------------------------
618
+ <GetCosRequest [attrs="{req-attrs}"]>
619
+ <cos by="id|name">...</cos>
620
+ </GetCosRequest>
621
+
622
+ <GetCosResponse>
623
+ <cos name="{name}" id="{id}">
624
+ <a [c="{cos-attr}"] n="...">...</a>+
625
+ </cos>
626
+ </GetCosResponse>
627
+
628
+ {req-attrs} = comma-seperated list of attrs to return
629
+
630
+ {cos-attr} = 0 (default) means the attrs applies to any account's that belong to the cos
631
+ 1 means the attr applies only to the cos object itself
632
+
633
+ -----------------------------
634
+
635
+ <GetAllCosRequest/>
636
+
637
+ <GetAllCosResponse>
638
+ <cos name="{name}" id="{id}">
639
+ <a [c="{cos-attr}"] n="...">...</a>+
640
+ </cos>+
641
+ </GetAllCosResponse>
642
+
643
+ -----------------------------
644
+
645
+ <ModifyCosRequest>
646
+ <id>{value-of-zimbraId}</id>
647
+ <a n="...">...</a>+
648
+ </ModifyCosRequest>
649
+
650
+ <ModifyCosResponse>
651
+ <cos name="{name}" id="{id}">
652
+ <a [c="{cos-attr}"] n="...">...</a>+
653
+ </cos>+
654
+ </ModifyCosResponse>
655
+
656
+ Notes:
657
+
658
+ an empty attribute value removes the specified attr
659
+
660
+ -----------------------------
661
+
662
+ <RenameCosRequest>
663
+ <id>{value-of-zimbraId}</id>
664
+ <newName>{new-cos-name}</newName>
665
+ </RenameCosRequest>
666
+
667
+ <RenameCosResponse>
668
+ <cos name="{name}" id="{id}">
669
+ <a n="...">...</a>+
670
+ </cos>
671
+ </RenameCosResponse>
672
+
673
+ -----------------------------
674
+
675
+ <DeleteCosRequest>
676
+ <id>{value-of-zimbraId}</id>
677
+ </DeleteCosRequest>
678
+
679
+ <DeleteCosResponse/>
680
+
681
+ Notes:
682
+
683
+ an empty attribute value removes the specified attr
684
+
685
+ -----------------------------
686
+ <CreateServerRequest>
687
+ <name>...</name>
688
+ <a n="...">...</a>+
689
+ </CreateServerRequest>
690
+
691
+ <CreateServerResponse>
692
+ <server name="{name}" id="{id}">
693
+ <a n="...">...</a>+
694
+ </server>
695
+ </CreateServerResponse>
696
+
697
+ Notes:
698
+
699
+ extra attrs:
700
+
701
+ description
702
+ zimbraNotes
703
+
704
+ -----------------------------
705
+
706
+ <GetServerRequest [applyConfig="{apply-config}"] [attrs="{req-attrs}"]>
707
+ <server by="id|name|serviceHostname">...</server>
708
+ </GetServerRequest>
709
+
710
+ <GetServerResponse>
711
+ <server name="{name}" id="{id}">
712
+ <a n="...">...</a>+
713
+ </server>
714
+ </GetServerResponse>
715
+
716
+ {apply-config} = 0|1 (1 is default)
717
+
718
+ by "serviceHostname" will return the server that has zimbraServiceHostname set to the specified value.
719
+
720
+ if {apply-config} is 1, then certain unset attrs on a server will get their value from the global config.
721
+
722
+ if {apply-config} is 0, then only attributes directly set on the server will be returned
723
+
724
+ {req-attrs} = comma-seperated list of attrs to return
725
+
726
+ -----------------------------
727
+
728
+ You can get all servers defined in the system or you can get all
729
+ servers that have a particular service enabled (eg, mta, antispam,
730
+ spell).
731
+
732
+ <GetAllServersRequest [service="service-name"] [applyConfig="{apply-config}"]/>
733
+
734
+ <GetAllServersResponse>
735
+ <server name="{name}" id="{id}">
736
+ <a n="...">...</a>+
737
+ </server>+
738
+ </GetAllServerResponse>
739
+
740
+ -----------------------------
741
+
742
+ <ModifyServerRequest>
743
+ <id>{value-of-zimbraId}</id>
744
+ <a n="...">...</a>+
745
+ </ModifyServerRequest>
746
+
747
+ <ModifyServerResponse>
748
+ <server name="{name}" id="{id}">
749
+ <a n="...">...</a>+
750
+ </server>
751
+ </ModifyServerResponse>]
752
+
753
+ Note: an empty attribute value removes the specified attr
754
+
755
+ note: this request is by default proxied to the referenced server
756
+
757
+ -----------------------------
758
+
759
+ <DeleteServerRequest>
760
+ <id>{value-of-zimbraId}</id>
761
+ </DeleteServerRequest>
762
+
763
+ <DeleteServerResponse/>
764
+
765
+ Note: an empty attribute value removes the specified attr
766
+
767
+ note: this request is by default proxied to the referenced server
768
+
769
+ -----------------------------
770
+
771
+ <GetConfigRequest>
772
+ <a n="....">
773
+ </GetServerRequest>
774
+
775
+ <GetConfigResponse>
776
+ <a n="...">...</a>+
777
+ </GetConfigResponse>
778
+
779
+ -----------------------------
780
+ <GetAllConfigRequest/>
781
+
782
+ <GetAllConfigResponse>
783
+ <a n="...">...</a>+
784
+ </GetAllConfigResponse>
785
+
786
+ -----------------------------
787
+ <ModifyConfigRequest>
788
+ <a n="...">...</a>+
789
+ </ModifyConfigRequest>
790
+
791
+ <ModifyConfigResponse/>
792
+
793
+ Notes:
794
+
795
+ an empty attribute value removes the specified attr
796
+
797
+ -----------------------------
798
+ <GetServerStatsRequest>
799
+ <stat name="{stat-name}"/>*
800
+ </GetServerStatsRequest>
801
+
802
+ <GetServerStatsResponse>
803
+ <stat name="{stat-name}" description="{text}">{stat-value}</stat>+
804
+ </GetServerStatsResponse>
805
+
806
+ Returns server monitoring stats. These are the same stats that are logged
807
+ to mailboxd.csv. If no <stat> element is specified, all server stats
808
+ are returned. If the stat name is invalid, returns a SOAP fault.
809
+
810
+ -----------------------------
811
+ <GetLoggerStatsRequest>
812
+ <hostname hn="..."/>?
813
+ <stats name="..." [limit=true]/><values><stat name="counter1"/><stat name="counterN"/></values>?</stats>?
814
+ <stats name="...">1</stats>?
815
+ <startTime time="ts"/>?
816
+ <endTime time="ts"/>?
817
+ </GetLoggerStatsRequest>
818
+
819
+ <GetLoggerStatsResponse>
820
+ <!-- first case, list of reporting hostnames -->
821
+ <hostname hn="..."/>+
822
+
823
+ <!-- second case, list of stat groupings for a given host-->
824
+ <hostname hn="...">
825
+ <stats name="..."/>+
826
+ </hostname>
827
+
828
+ <!-- third case, list of columns for a given host and grouping -->
829
+ <hostname hn="...">
830
+ <stats name="...">
831
+ <values>
832
+ <stat name="..."/>+
833
+ </values>
834
+ </stats>
835
+ </hostname>
836
+
837
+ <!-- fourth case, actual stat results -->
838
+ <hostname hn="...">
839
+ <stats name="...">
840
+ <values t="...">+
841
+ <stat name="..." value="X"/>+
842
+ </values>
843
+ </stats>
844
+ </hostname>
845
+
846
+ </GetLoggerStatsResponse>
847
+
848
+ Query to retrieve Logger statistics in ZCS 6.0.
849
+
850
+ Use cases:
851
+
852
+ 1 - no elements specified
853
+ - result: a listing of reporting host names
854
+ 2 - hostname specified
855
+ - result: a listing of stat groups for the specified host
856
+ 3 - hostname and stats specified, text content of stats non-empty
857
+ - result: a listing of columns for the given host and group
858
+ 4 - hostname and stats specified, text content empty, startTime/endTime optional
859
+ - result: all of the statistics for the given host/group are returned, if start
860
+ and end are specified, limit/expand the timerange to the given setting.
861
+ if limit=true is specified, attempt to reduce result set to under 500 records
862
+
863
+ -----------------------------
864
+ <GetServiceStatusRequest/>
865
+
866
+ <GetServiceStatusResponse>
867
+ <timezone id="{timezone-id}" displayName="{timezone-display-name}"></timezone>
868
+ <status server="..." service="..." t="{date-time}">{value}</status>*
869
+ </GetServiceStatusResponse>
870
+
871
+ {timezone-id} timezone id, e.g "America/Los_Angeles"
872
+ {timezone-display-name} timezone display anme, e.g. "Pacific Standard Time"
873
+ {date-time} format is number of seconds in 1970, utc time.
874
+
875
+ -----------------------------
876
+
877
+ <PurgeMessagesRequest>
878
+ [<mbox id="{account-id}"/>]
879
+ </PurgeMessagesRequest>
880
+
881
+ purges aged messages out of trash, spam, and entire mailbox
882
+ (if <mbox> element is omitted, purges all mailboxes on server)
883
+
884
+ -----------------------------
885
+
886
+ <RecalculateMailboxCountsRequest>
887
+ <mbox id="{account-id}"/>
888
+ </RecalculateMailboxCountsRequest>
889
+
890
+ <RecalculateMailboxCountsResponse>
891
+ <mbox id="{account-id}" used="{quota-used}"/>
892
+ </RecalculateMailboxCountsResponse>
893
+
894
+ forces immediate recalculation of total mailbox quota usage and all folder unread and size counts
895
+
896
+ Access: domain admin sufficient
897
+
898
+ note: this request is by default proxied to the account's home server
899
+
900
+ -----------------------------
901
+
902
+ <ReIndexRequest action="start|status|cancel">
903
+ <mbox id="{account-id}" [types={types} | ids={ids}]/>
904
+ </ReIndexRequest>
905
+
906
+ <ReIndexResponse status="started|running|cancelled|idle">
907
+ [<progress numSucceeded="SUCCEEDED" numFailed="FAILED" numRemaining="REMAINING">]
908
+ </ReIndexResponse>
909
+
910
+ -types -ids are optional, however at most ONE may be specified:
911
+ {ids] = comma-separated list of IDs to re-index.
912
+ {types} = comma-separated list. Legal values are:
913
+ conversation|message|contact|appointment|task|note|wiki|document
914
+
915
+ action start - start reindexing
916
+ status started - success
917
+ status running - reindexing is already running
918
+ action status - show reindexing progress
919
+ status running - returns progress information
920
+ status idle - reindexing is not running
921
+ action cancel - cancel reindexing
922
+ status cancelled - success and returns progress information
923
+ status idle - reindexing is not running
924
+
925
+ Access: domain admin sufficient
926
+
927
+ note: this request is by default proxied to the account's home server
928
+
929
+ ---------------------------
930
+
931
+ <DeleteMailboxRequest>
932
+ <mbox id="{account-id}"/>
933
+ </DeleteMailboxRequest>
934
+
935
+ the request includes the account ID (uuid) of the target mailbox
936
+ on success, the response includes the mailbox ID (numeric) of the deleted mailbox
937
+ the <mbox> element is left out of the response if no mailbox existed for that account
938
+
939
+ <DeleteMailboxResponse>
940
+ [<mbox mbxid="{mailbox-id}"/>]
941
+ </DeleteMailboxResponse>
942
+
943
+ Access: domain admin sufficient
944
+
945
+ note: this request is by default proxied to the account's home server
946
+
947
+ -----------------------------
948
+ <GetMailboxRequest>
949
+ <mbox id="{account-id}"/>
950
+ </GetMailboxRequest>
951
+
952
+ <GetMailboxResponse>
953
+ <mbox mbxid="{mailbox-id}" s="{size-in-bytes}"/>
954
+ </GetMailboxResponse>
955
+
956
+ Access: domain admin sufficient
957
+
958
+ note: this request is by default proxied to the account's home server
959
+
960
+ -----------------------------
961
+
962
+ Runs the server-side unit test suite.
963
+
964
+ If <test>'s are specified, then run the requested tests (instead of
965
+ the standard test suite). Otherwise the standard test suite is run.
966
+
967
+ <RunUnitTestsRequest>
968
+ [<test>classname super junit.framework.Test</test>]*
969
+ </RunUnitTestsRequest>
970
+
971
+ <RunUnitTestsResponse numExecuted="{n}" numFailed="{n}">
972
+ { Summary of test execution times and success/failure status }
973
+ </RunUnitTestsResponse>
974
+
975
+ -----------------------------
976
+ All the Check* SOAP calls potentially return the following two things:
977
+
978
+ <code>{code}</code>
979
+ <message>{message}</message>
980
+
981
+ where:
982
+
983
+ code is one of the following Strings:
984
+
985
+ code description
986
+ ------- -----------
987
+ check.OK everything went ok
988
+ check.UNKNOWN_HOST unable to resolve a hostname
989
+ check.CONNECTION_REFUSED connection to a port was refused
990
+ check.SSL_HANDSHAKE_FAILURE SSL connect problem, most likely untrusted certificate
991
+ check.COMMUNICATION_FAILURE generic communication failure
992
+ check.AUTH_FAILED authentication failed. invalid credentials (bad dn/password)
993
+ check.AUTH_NOT_SUPPORTED authentication flavor not supported. LDAP server probably
994
+ configured to not allow passwords
995
+ check.NAME_NOT_FOUND unable to resolve an LDAP name. most likely invalid search base
996
+ check.INVALID_SEARCH_FILTER invalid ldap search filter
997
+ check.FAILURE generic failure
998
+
999
+ message is the detailed Java stack trace, used mainly for diagnosotics where the code
1000
+ isn't specific enough. Not user-friendly, but still useful for debugging problems.
1001
+
1002
+ Any SOAP faults returned indicate a problem with the request itself, not the thing being
1003
+ checked.
1004
+
1005
+ ----------------------------------------
1006
+
1007
+ <CheckHostnameResolveRequest>
1008
+ <hostname>...</hostname>
1009
+ </CheckHostnameResolveRequest>
1010
+
1011
+ <CheckHostnameResolveResponse>
1012
+ <code>...</code>
1013
+ <message>...</message>*
1014
+ </CheckHostnameResolveResponse>
1015
+
1016
+ ------------------------------------------------------------
1017
+
1018
+ <CheckGalConfigRequest>
1019
+ <a n='zimbraGalMode'>ldap</a>
1020
+
1021
+ <a n='zimbraGalLdapURL'>...</a>
1022
+ <a n='zimbraGalLdapSearchBase'>...</a>
1023
+ <a n='zimbraGalLdapFilter'>...</a>
1024
+ <a n='zimbraGalLdapAuthMech'>...</a>
1025
+ <a n='zimbraGalLdapBindDn'>...</a>*
1026
+ <a n='zimbraGalLdapBindPassword'>...</a>*
1027
+ <a n='zimbraGalLdapKerberos5Principal'>...</a>*
1028
+ <a n='zimbraGalLdapKerberos5Keytab'>...</a>*
1029
+
1030
+ <a n='zimbraGalSyncLdapURL'>...</a>
1031
+ <a n='zimbraGalSyncLdapSearchBase'>...</a>
1032
+ <a n='zimbraGalSyncLdapFilter'>...</a>
1033
+ <a n='zimbraGalSyncLdapAuthMech'>...</a>
1034
+ <a n='zimbraGalSyncLdapBindDn'>...</a>*
1035
+ <a n='zimbraGalSyncLdapBindPassword'>...</a>*
1036
+ <a n='zimbraGalSyncLdapKerberos5Principal'>...</a>*
1037
+ <a n='zimbraGalSyncLdapKerberos5Keytab'>...</a>*
1038
+
1039
+ <a n='zimbraGalAutoCompleteLdapFilter'>...</a>
1040
+
1041
+ <a n='zimbraGalTokenizeAutoCompleteKey'>...</a>
1042
+ <a n='zimbraGalTokenizeSearchKey'>...</a>
1043
+
1044
+ <query limit="...">...</query>*
1045
+ <action>{GAL-action}</action>*
1046
+ </CheckGalConfigRequest>
1047
+
1048
+ <CheckGalConfigResponse>
1049
+ <code>...</code>
1050
+ <message>...</message>*
1051
+ <cn>...</cn>*
1052
+ </CheckGalConfigResponse>
1053
+
1054
+ notes:
1055
+ - zimbraGalMode must be set to ldap, even if you eventually want to set it to "both".
1056
+ - <action> is optional. GAL-action can be autocomplete|search|sync. Default is search.
1057
+ - <query> is ignored if <action> is "sync".
1058
+ - AuthMech can be none|simple|kerberos5.
1059
+ - Default is simple if both BindDn/BindPassword are provided.
1060
+ - Default is none if not both BindDn/BindPassword are provided.
1061
+ - BindDn/BindPassword are required if AuthMech is "simple".
1062
+ - Kerberos5Principal/Kerberos5Keytab are required only if AuthMech is "kerberos5".
1063
+ - zimbraGalSyncLdapXXX attributes are for GAL sync. They are ignored if <action> is not sync.
1064
+ For GAL sync, if a zimbraGalSyncLdapXXX attribute is not set, server will fallback to the corresponding zimbraGalLdapXXX attribute.
1065
+
1066
+ ------------------------------------------------------------
1067
+
1068
+ <CheckAuthConfigRequest>
1069
+ <a n='zimbraAuthMech'>ldap</a>
1070
+ <a n='zimbraAuthLdapURL'>...</a>
1071
+ <a n='zimbraAuthLdapBindDn'>...</a>
1072
+ <a n='zimbraAuthLdapSearchFilter'>...</a>
1073
+ <a n='zimbraAuthLdapSearchBase'>...</a>
1074
+ <a n='zimbraAuthLdapSearchBindDn'>...</a>
1075
+ <a n='zimbraAuthLdapSearchBindPassword'>...</a>
1076
+ <name>...</name>
1077
+ <password>...</password>
1078
+ </CheckAuthConfigRequest>
1079
+
1080
+ <CheckAuthConfigResponse>
1081
+ <code>...</code>
1082
+ <message>...</message>*
1083
+ <bindDn>{dn-computed-from-supplied-binddn-and-name}</bindDn>
1084
+ </CheckAuthConfigResponse>
1085
+
1086
+ notes:
1087
+ - zimbraAuthMech must be set to ldap/ad. There is no reason to check zimbra.
1088
+ - zimbraAuthLdapURL must be set
1089
+ - either zimbraAuthLdapBindDn or zimbraAuthLdapSearchFilter must be set
1090
+
1091
+ The following are optional, and only looked at if zimbraAuthLdapSearchFilter is set:
1092
+ - zimbraAuthLdapSearchBase is optional and defaults to ""
1093
+ - zimbraAuthLdapSearchBind{Dn,Password} are both optional
1094
+
1095
+ -----------------------------------
1096
+
1097
+ <CreateVolumeRequest>
1098
+ <volume type="..." name="..." rootpath="..."
1099
+ compressBlobs="..." compressionThreshold="..."/>
1100
+ </CreateVolumeRequest>
1101
+
1102
+ <CreateVolumeResponse>
1103
+ <volume id="{id}"/>
1104
+ </CreateVolumeResponse>
1105
+
1106
+ Notes:
1107
+
1108
+ id: ID of volume
1109
+ type: type of volume;
1110
+ 1 = primary message volume
1111
+ 2 = secondary message volume
1112
+ 10 = index volume
1113
+ name: name or description of volume
1114
+ rootPath: absolute path to root of volume, e.g. /opt/zimbra/store
1115
+ compressBlobs: boolean value that specifies whether blobs in this
1116
+ volume are compressed
1117
+ compressionThreshold: long value that specifies the maximum uncompressed
1118
+ file size, in bytes, of blobs that will not be compressed
1119
+ (in other words blobs larger than this threshold are compressed)
1120
+ isCurrent: 1 if the volume is current, 0 if not
1121
+
1122
+ -----------------------------
1123
+
1124
+ <GetVolumeRequest id="{id}"/>
1125
+
1126
+ <GetVolumeResponse>
1127
+ <volume id="{id}" type="..." name="..." rootpath="..."
1128
+ compressBlobs="..." compressionThreshold="..."
1129
+ isCurrent="0|1"/>
1130
+ </GetVolumeResponse>
1131
+
1132
+ -----------------------------
1133
+
1134
+ <GetAllVolumesRequest/>
1135
+
1136
+ <GetAllVolumesResponse>
1137
+ <volume .../>+ <!-- each volume element is same as in GetVolumeResponse -->
1138
+ </GetAllVolumeResponse>
1139
+
1140
+ -----------------------------
1141
+
1142
+ <ModifyVolumeRequest id="{id}">
1143
+ <volume [type="..."] [name="..."] [rootpath="..."]
1144
+ [compressBlobs="..."] [compressionThreshold="..."]/>
1145
+ </ModifyVolumeRequest>
1146
+
1147
+ <ModifyVolumeResponse/>
1148
+
1149
+ -----------------------------
1150
+
1151
+ <DeleteVolumeRequest id="{id}"/>
1152
+
1153
+ <DeleteVolumeResponse/>
1154
+
1155
+ -----------------------------
1156
+
1157
+ <GetCurrentVolumesRequest/>
1158
+
1159
+ <GetCurrentVolumesResponse>
1160
+ <volume type="1" id="{id}"/>
1161
+ [<volume type="2" id="{id}"/>] <!-- optional -->
1162
+ <volume type="10" id="{id}"/>
1163
+ </GetCurrentVolumesResponse>
1164
+
1165
+ -----------------------------
1166
+
1167
+ <SetCurrentVolumeRequest type="{type}" id="{id}"/>
1168
+
1169
+ <SetCurrentVolumeResponse/>
1170
+
1171
+ Notes:
1172
+
1173
+ type: 1 (primary message), 2 (secondary message) or 10 (index)
1174
+ Each SetCurrentVolumeRequest can set only one current volume type.
1175
+
1176
+ -----------------------------
1177
+
1178
+ <CheckBlobConsistencyRequest [checkSize="0|1"]/>
1179
+ <volume id="..." />*
1180
+ <mbox id="..." />*
1181
+ </CheckBlobConsistencyRequest>
1182
+
1183
+ <CheckBlobConsistencyResponse>
1184
+ <mbox id="...">
1185
+ <missingBlobs>
1186
+ <item id="{id}" rev="{n}" volumeId="{id}" blobPath="{path}" s="{data-size}" />*
1187
+ </missingBlobs>
1188
+ <unexpectedBlobs>
1189
+ <blob volumeId="{id}" path="{path}" fileSize="{size} />*
1190
+ </unexpectedBlobs>
1191
+ <incorrectSize>
1192
+ <item id="{id}" rev="{n}" volumeId="{id}" s="{size}">*
1193
+ <blob fileSize="{size}" s="{data-size}" path="{path}" />
1194
+ </item>
1195
+ </incorrectSize>
1196
+ <incorrectRevision>
1197
+ <item id="{id}" rev="{n}" volumeId="{id}" s="{size}">*
1198
+ <blob fileSize="{size}" path="{path}" rev="{n}" />
1199
+ </item>
1200
+ </incorrectRevision>
1201
+ </mbox>*
1202
+ </CheckBlobConsistencyResponse>
1203
+
1204
+ Checks for items that have no blob, blobs that have no item, and items that
1205
+ have an incorrect blob size stored in their metadata. If no volumes are
1206
+ specified, all volumes are checked. If no mailboxes are specified, all
1207
+ mailboxes are checked. Blob sizes are checked by default. Set checkSize
1208
+ to 0 to avoid the CPU overhead of uncompressing compressed blobs in order to
1209
+ calculate size.
1210
+
1211
+ -----------------------------
1212
+
1213
+ <ExportAndDeleteItemsRequest [exportDir="path"] [exportFilenamePrefix="name"]>
1214
+ <mbox id="{id}">
1215
+ <item id="{id}" />
1216
+ ...
1217
+ </mbox>
1218
+ </ExportAndDeleteItemsRequest>
1219
+
1220
+ <ExportAndDeleteItemsResponse/>
1221
+
1222
+ Exports the database data for the given items with SELECT INTO OUTFILE
1223
+ and deletes the items from the mailbox. Exported filenames follow the
1224
+ pattern <prefix><table_name>.txt. The files are written sqlExportDir.
1225
+ When sqlExportDir is not specified, data is not exported. Export is
1226
+ only supported for MySQL.
1227
+
1228
+ -----------------------------
1229
+
1230
+ <CreateDistributionListRequest>
1231
+ <name>...</name>
1232
+ <a n="...">...</a>+
1233
+ </CreateDistributionListRequest>
1234
+
1235
+ <CreateDistributionListResponse>
1236
+ <dl name="{name}" id="{id}">
1237
+ <a n="...">...</a>+
1238
+ </dl>
1239
+ </CreateDistributionListResponse>
1240
+
1241
+ Notes:
1242
+
1243
+ extra attrs:
1244
+
1245
+ description
1246
+ zimbraNotes
1247
+
1248
+ Access: domain admin sufficient
1249
+
1250
+ -----------------------------
1251
+
1252
+ <GetDistributionListRequest [limit="{limit}"] [offset="{offset}"]
1253
+ [sortAscending="{sort-ascending}"] [attrs="{req-attrs}"]>
1254
+ <dl by="id|name">...</dl>
1255
+ </GetDistributionListRequest>
1256
+
1257
+ <GetDistributionListResponse more="{more-flag}" [total="{total}"]>
1258
+ <dl name="{name}" id="{id}">
1259
+ <dlm>{member}</dlm>+
1260
+ <a n="...">...</a>+
1261
+ </dl>
1262
+ </GetDistributionListResponse>
1263
+
1264
+ Notes:
1265
+
1266
+ limit - the number of accounts to return (0 is default and means
1267
+ all)
1268
+ offset - the starting offset (0, 25, etc)
1269
+ sort-ascending - whether to sort in ascending order (0/1), 1 is
1270
+ default
1271
+
1272
+ more-flag = true if more accounts left to return
1273
+ total = total number of distribution lists (not affected by limit/offset)
1274
+
1275
+ req-attrs = comma-seperated list of attrs to return
1276
+
1277
+ Access: domain admin sufficient
1278
+
1279
+ -----------------------------
1280
+
1281
+ <GetAllDistributionListsRequest>
1282
+ [<domain by="id|name">...</domain>]
1283
+ </GetAllDistributionListsRequest>
1284
+
1285
+ <GetAllDistributionListsResponse>
1286
+ <dl name="{name}" id="{id}">
1287
+ <a n="...">...</a>+
1288
+ </dl>
1289
+ </GetAllDistributionListsResponse>
1290
+
1291
+ Access: domain admin sufficient
1292
+
1293
+ -----------------------------
1294
+
1295
+ <AddDistributionListMemberRequest>
1296
+ <id>{value-of-zimbraId}</id>
1297
+ <dlm>{member}</dlm>+
1298
+ </AddDistributionListMemeberRequest>
1299
+
1300
+ <AddDistributionListMemberResponse>
1301
+ </AddDistributionListMemeberResponse>
1302
+
1303
+ Access: domain admin sufficient
1304
+
1305
+ Adding existing members is allowed, even if it may result in this request
1306
+ being a no-op because all <dlm> addrs are already members.
1307
+
1308
+ -----------------------------
1309
+
1310
+ <RemoveDistributionListMemberRequest>
1311
+ <id>{value-of-zimbraId}</id>
1312
+ <dlm>{member}</dlm>+
1313
+ </RemoveDistributionListMemberRequest>
1314
+
1315
+ <RemoveDistributionListMemberResponse>
1316
+ </RemoveDistributionListMemberResponse>
1317
+
1318
+ Access: domain admin sufficient
1319
+
1320
+ Unlike add, remove of a non-existent member causes an exception and no
1321
+ modification to the list.
1322
+
1323
+ -----------------------------
1324
+
1325
+ <ModifyDistributionListRequest>
1326
+ <id>{value-of-zimbraId}</id>
1327
+ <a n="...">...</a>+
1328
+ </ModifyDistributionListRequest>
1329
+
1330
+
1331
+ <ModifyDistributionListResponse>
1332
+ <dl name="{name}" id="{id}">
1333
+ <a n="...">...</a>+
1334
+ </dl>
1335
+ </ModifyDistributionListResponse>
1336
+
1337
+ Notes:
1338
+
1339
+ an empty attribute value removes the specified attr
1340
+
1341
+ Access: domain admin sufficient
1342
+
1343
+ -----------------------------
1344
+
1345
+ <DeleteDistributionListRequest>
1346
+ <id>{value-of-zimbraId}</id>
1347
+ </DeleteDistributionListRequest>
1348
+
1349
+ <DeleteDistributionListResponse/>
1350
+
1351
+ Access: domain admin sufficient
1352
+
1353
+ -----------------------------
1354
+
1355
+ <AddDistributionListAliasRequest>
1356
+ <id>{value-of-zimbraId}</id>
1357
+ <alias>...</alias>
1358
+ </AddAliasRequest>
1359
+
1360
+ <AddDistributionListAliasResponse/>
1361
+
1362
+ Access: domain admin sufficient
1363
+
1364
+ -----------------------------
1365
+
1366
+ <RemoveDistributionListAliasRequest>
1367
+ <id>{value-of-zimbraId}</id>
1368
+ <alias>...</alias>
1369
+ </RemoveDistributionListAliasRequest>
1370
+
1371
+ <RemoveDistributionListAliasResponse/>
1372
+
1373
+ Access: domain admin sufficient
1374
+
1375
+ -----------------------------
1376
+
1377
+ <RenameDistributionListRequest>
1378
+ <id>{value-of-zimbraId}</id>
1379
+ <newName>{new-account-name}</newName>
1380
+ </RenameDistributionListRequest>
1381
+
1382
+ <RenameDistributionListResponse>
1383
+ <dl name="{name}" id="{id}">
1384
+ <a n="...">...</a>+
1385
+ </dl>
1386
+ </RenameDistributionListResponse>
1387
+
1388
+ Access: domain admin sufficient
1389
+
1390
+ -----------------------------
1391
+
1392
+ <GetDistributionListMembershipRequest>
1393
+ <dl by="id|name">...</dl>
1394
+ </GetDistributionListMembershipRequest>
1395
+
1396
+ <GetDistributionListMembershipResponse>
1397
+ <dl name="{name}" id="{id}" via="{via-dl-name}" />+
1398
+ </GetDistributionListMembershipResponse>
1399
+
1400
+ {via-dl-name} = is present if the dl is a member of the returned list because they are either a direct
1401
+ or indirect member of another list that is a member of the returned list. For example,
1402
+ if a dl is a member of engineering@domain.com, and engineering@domain.com is a member of all@domain.com,
1403
+ then <dl name="all@domain.com" ... via="engineering@domain.com"/> would be returned.
1404
+
1405
+ -----------------------------
1406
+
1407
+ <GetClusterStatusRequest/>
1408
+
1409
+ <GetClusterStatusResponse>
1410
+ <clusterName>{cluster-name}</clusterName>
1411
+ <servers>
1412
+ <server name="{server-name}" status="{1-or-0}"/>*
1413
+ </servers>
1414
+ <services>
1415
+ <service name="{service-name}" state="{state-string-from-console}" owner="{server-name}" lastOwner="{server-name}" restarts="{number}"/>*
1416
+ </services>
1417
+ </GetClusterStatusResponse>
1418
+
1419
+ -----------------------------
1420
+
1421
+ <FailoverClusterServiceRequest>
1422
+ <service name="{service-name}" newServer="{server-name}"/>
1423
+ </FailOverClusterServiceRequest>
1424
+
1425
+ <FailoverCluserServiceResponse/>
1426
+
1427
+ -----------------------------
1428
+
1429
+ <GetVersionInfoRequest/>
1430
+
1431
+ <GetVersionInfoResponse>
1432
+ <info version="{version-string}" release="{release-string}" buildDate="{YYYYMMDD-hhmm}" buildHost="{host-name}"/>
1433
+ </GetVersionInfoResponse>
1434
+
1435
+ -----------------------------
1436
+
1437
+ <GetLicenseInfoRequest/>
1438
+
1439
+ <GetLicenseInfoResponse>
1440
+ <expiration date={date-YYYYMMDD-format}></expiration>
1441
+ </GetLicenseInfoResponse>
1442
+
1443
+ -----------------------------
1444
+
1445
+ <ConfigureZimletRequest>
1446
+ <content aid="{attachment-id}"/>
1447
+ </ConfigureZimletRequest>
1448
+
1449
+ <ConfigureZimletResponse/>
1450
+
1451
+ -----------------------------
1452
+
1453
+ <DeployZimletRequest action="deployAll|deployLocal|status" flush="0|1" synchronous="0|1">
1454
+ <content aid="{attachment-id}"/>
1455
+ <DeployZimletRequest/>
1456
+
1457
+ <DeployZimletResponse>
1458
+ [<progress server="{server-name}" status="succeeded|failed|pending" error="{error-message}"/>]+
1459
+ </DeployZimletResponse>
1460
+
1461
+ -----------------------------
1462
+
1463
+ # priority is listed in the global list <zimlets> ... </zimlets> only.
1464
+ # that's because the priority value is relative to other Zimlets in the list.
1465
+ # the same Zimlet may show different priority number depending on what other
1466
+ # Zimlets priorities are. the same Zimlet will show priority 0 if all by itself,
1467
+ # or priority 3 if there are three other Zimlets with higher priority.
1468
+
1469
+ <GetZimletStatusRequest [attrs="{req-attrs}"]/>
1470
+
1471
+ <GetZimletStatusResponse>
1472
+ <zimlets>
1473
+ <zimlet name="{zimlet-name}" priority="int" extension="true/false" status="enabled/disabled"/>
1474
+ ...
1475
+ </zimlets>
1476
+ <cos name="default">
1477
+ <zimlet name="{zimlet-name}" extension="true/false" status="enabled/disabled"/>
1478
+ ...
1479
+ </cos>
1480
+ ...
1481
+ </GetZimletStatusResponse>
1482
+
1483
+ {req-attrs} = comma-seperated list of attrs to return
1484
+
1485
+ -----------------------------
1486
+
1487
+ # returns the admin extension addon Zimlets.
1488
+
1489
+ <GetAdminExtensionZimletsRequest/>
1490
+
1491
+ <GetAdminExtensionZimletsResponse>
1492
+ <zimlets>
1493
+ <zimlet>
1494
+ <zimletContext baseUrl="..."/>
1495
+ <zimlet extension="true" version="{version-string}" name="{zimlet-name}" description="{zimlet-description}">
1496
+ <include>...</include>+
1497
+ </zimlet>
1498
+ </zimlet>
1499
+ </zimlets>
1500
+ </GetAdminExtensionZimletsResponse>
1501
+
1502
+ -----------------------------
1503
+
1504
+ <ModifyZimletRequest>
1505
+ <zimlet name="{zimlet-name}">
1506
+ [<status [value="enabled/disabled"]/>]
1507
+ [<acl [cos="{cos-name}" acl="grant/deny"]/>]
1508
+ [<priority [value="integer"]/>]
1509
+ </zimlet>
1510
+ </ModifyZimletRequest>
1511
+
1512
+ <ModifyZimletResponse/>
1513
+
1514
+ -----------------------------
1515
+
1516
+ <UndeployZimletRequest name="{zimlet-name}"/>
1517
+
1518
+ <UndeployZimletResponse/>
1519
+
1520
+ -----------------------------
1521
+
1522
+ <GetZimletRequest>
1523
+ <zimlet name="{zimlet-name}"/>
1524
+ </GetZimletRequest>
1525
+
1526
+ <GetZimletResponse>
1527
+ <zimlet name="{name}" id="{id}" [hasKeyword="{keyword}"]>
1528
+ <a n="...">...</a>+
1529
+ </zimlet>
1530
+ </GetZimletResponse>
1531
+
1532
+ -----------------------------
1533
+
1534
+ <GetAllZimletsRequest exclude="{exclude}"/>
1535
+
1536
+ <GetAllZimletsResponse>
1537
+ <zimlet name="{name}" id="{id}" [hasKeyword="{keyword}"]>
1538
+ <a n="...">...</a>+
1539
+ </zimlet>+
1540
+ </GetAllZimletsResponse>
1541
+
1542
+ Notes:
1543
+ {exclude} can be "none|extension|mail"
1544
+ when exclude="extension" is specified the response returns only mail Zimlets
1545
+ when exclude="mail" is specified the response returns only admin extensions
1546
+ when exclude = "none" both mail and admin zimlets are returned
1547
+
1548
+ default is "none"
1549
+ -----------------------------
1550
+
1551
+ <CreateZimletRequest>
1552
+ <name>...</name>
1553
+ <a n="...">...</a>+
1554
+ </CreateZimletRequest>
1555
+
1556
+ <CreateZimletResponse>
1557
+ <zimlet name="{name}" id="{id}">
1558
+ <a n="...">...</a>+
1559
+ </zimlet>
1560
+ </CreateZimletResponse>
1561
+
1562
+ -----------------------------
1563
+
1564
+ <DeleteZimletRequest>
1565
+ <zimlet name="{zimlet-name}"/>
1566
+ </DeleteZimletRequest>
1567
+
1568
+ <DeleteZimletResponse/>
1569
+
1570
+ -----------------------------
1571
+
1572
+ <DumpSessionsRequest [listSessions="1"] [groupByAccount="1"]/>
1573
+
1574
+ <DumpSessionsResponse activeSessions="count">
1575
+ <soap activeSessions="count" activeAccounts="count">
1576
+ [ if listSessions set:
1577
+ [
1578
+ <s zid="accountId" name="accountName" sid="sessionId" cd="creationDate" ld="lastAccessedDate"
1579
+ SOAP-SPECIFIC-PARAMETERS, e.g. [notify="0" if noNotify is set]...</s>
1580
+ ]
1581
+ OR (depends on groupByAccount setting)
1582
+ [
1583
+ <zid id="accountId" name="accountName">
1584
+ <s sid="sessionId" cd="creationDate" ld="lastAccessedDate/>*
1585
+ </zid>*
1586
+ ]
1587
+ ]
1588
+ </soap>
1589
+
1590
+ <imap>...</imap>
1591
+ <admin>...</admin>
1592
+ </DumpSessionsResponse>
1593
+
1594
+ If accountName is unvailable for some reason, it will be set to the same as accountId.
1595
+
1596
+ -----------------------------
1597
+
1598
+ <GetSessionsRequest type="{session-type}" refresh="0|1"
1599
+ [limit="..."] [offset="..."] [sortBy="{sort-by}"]/>
1600
+
1601
+ <GetSessionsResponse more="{more-flag}" [total="{total}"]>
1602
+ <s zid="accountId" name="accountName" sid="sessionId" cd="creationDate" ld="lastAccessedDate"/>
1603
+ </GetSessionsResponse>
1604
+
1605
+ Notes:
1606
+
1607
+ GetSessionsRequest
1608
+
1609
+ type = soap|imap|admin
1610
+ refresh = if 1, ignore any cached results and start fresh.
1611
+ limit - the number of sessions to return per page (0 is default and means all)
1612
+ offset - the starting offset (0, 25, etc)
1613
+ sortBy - nameAsc, nameDesc, createdAsc, createdDesc, accessedAsc, accessedDesc
1614
+
1615
+ more-flag = true if more sessions left to return
1616
+ total = total number of accounts that matched search (not affected by limit/offset)
1617
+
1618
+
1619
+ Access: domain admin sufficient (though a domain admin can't specify "domains" as a type)
1620
+
1621
+ -----------------------------
1622
+
1623
+ Note: Calendar resource is a special type of Account. The Create, Delete,
1624
+ Modify, Rename, Get, GetAll, and Search operations are very similar to
1625
+ those of Account.
1626
+
1627
+
1628
+ <CreateCalendarResourceRequest>
1629
+ <name>...</name>
1630
+ <password>...</password>*
1631
+ <a n="attr-name">...</a>+
1632
+ </CreateCalendarResourceRequest>
1633
+
1634
+ <CreateCalendarResourceResponse>
1635
+ <calresource name="{name}" id="{id}">
1636
+ <a n="...">...</a>+
1637
+ </calresource>
1638
+ </CreateCalendarResourceResponse>
1639
+
1640
+ Notes:
1641
+
1642
+ name must include domain (uid@name), and domain specified in name must exist
1643
+
1644
+ a calendar resource does not have a password (you can't login as a resource)
1645
+
1646
+ Access: domain admin sufficient
1647
+
1648
+ -----------------------------
1649
+
1650
+ <DeleteCalendarResourceRequest>
1651
+ <id>{value-of-zimbraId}</id>
1652
+ </DeleteCalendarResourceRequest>
1653
+
1654
+ <DeleteCalendarResourceResponse/>
1655
+
1656
+ Access: domain admin sufficient
1657
+
1658
+ note: this request is by default proxied to the resource's home server
1659
+
1660
+ -----------------------------
1661
+
1662
+ <ModifyCalendarResourceRequest>
1663
+ <id>{value-of-zimbraId}</id>
1664
+ <a n="...">...</a>+
1665
+ </ModifyCalendarResourceRequest>
1666
+
1667
+ <ModifyCalendarResourceResponse>
1668
+ <calresource name="{name}" id="{id}">
1669
+ <a n="...">...</a>+
1670
+ </calresource>
1671
+ </ModifyCalendarResourceResponse>
1672
+
1673
+ Notes:
1674
+
1675
+ an empty attribute value removes the specified attr
1676
+
1677
+ Access: domain admin sufficient. limited set of attributes that can be updated by a domain admin.
1678
+
1679
+ note: this request is by default proxied to the resource's home server
1680
+
1681
+ -----------------------------
1682
+
1683
+ <RenameCalendarResourceRequest>
1684
+ <id>{value-of-zimbraId}</id>
1685
+ <newName>{new-resource-name}</newName>
1686
+ </RenameCalendarResourceRequest>
1687
+
1688
+ <RenameCalendarResourceResponse>
1689
+ <calresource name="{name}" id="{id}">
1690
+ <a n="...">...</a>+
1691
+ </calresource>
1692
+ </RenameCalendarResourceResponse>
1693
+
1694
+ Access: domain admin sufficient
1695
+
1696
+ note: this request is by default proxied to the resource's home server
1697
+
1698
+ -----------------------------
1699
+
1700
+ <GetCalendarResourceRequest [applyCos="{apply-cos}"] [attrs="{req-attrs}"]>
1701
+ <calresource by="id|name|foreignPrincipal">...</calresource>
1702
+ </GetCalendarResourceRequest>
1703
+
1704
+ <GetCalendarResourceResponse>
1705
+ <calresource name="{name}" id="{id}">
1706
+ <a n="...">...</a>+
1707
+ </calresource>
1708
+ </GetCalendarResourceResponse>
1709
+
1710
+ {apply-cos} = 0|1 (1 is default)
1711
+
1712
+ if {apply-cos} is 1, then COS rules apply and unset attrs on the calendar resource will get their value from the COS.
1713
+
1714
+ if {apply-cos} is 0, then only attributes directly set on the calendar resource will be returned
1715
+
1716
+ {req-attrs} = comma-seperated list of attrs to return
1717
+
1718
+ Access: domain admin sufficient
1719
+
1720
+ -----------------------------
1721
+
1722
+ <GetAllCalendarResourcesRequest>
1723
+ [<domain by="id|name">...</domain>]
1724
+ [<server by="id|name">...</server>]
1725
+ <GetAllCalendarResourcesRequest/>
1726
+
1727
+ <GetAllCalendarResourcesResponse>
1728
+ <calresource name="{name}" id="{id}">
1729
+ <a n="...">...</a>+
1730
+ </calresource>
1731
+ </GetAllCalendarResourcesResponse>
1732
+
1733
+ Access: domain admin sufficient
1734
+
1735
+ -----------------------------
1736
+
1737
+ <SearchCalendarResourcesRequest [limit="..."] [offset="..."] [domain="{domain-name}"] [applyCos="{apply-cos}"]
1738
+ [attrs="a1,a2,a3"] [sortBy="{sort-by}"] [sortAscending="{sort-ascending}"] >
1739
+ <searchFilter> ... </searchFilter>
1740
+ </SearchCalendarResourcesRequest>
1741
+
1742
+ <SearchCalendarResourcesResponse more="{more-flag}" [searchTotal="{search-total}"]>
1743
+ <calresource name="{name}" id="{id}">
1744
+ <a n="...">...</a>+
1745
+ </calresource>
1746
+ </SearchCalendarResourcesResponse>
1747
+
1748
+ Notes:
1749
+ SearchCalendarResourcesRequest
1750
+ limit - the number of calendar resources to return (0 is default and means all)
1751
+ offset - the starting offset (0, 25, etc)
1752
+ domain - the domain name to limit the search to
1753
+ applyCos - whether or not (0/1) to apply the COS policy to calendar resource. specify 0 if only
1754
+ requesting attrs that aren't inherited from COS
1755
+ attrs - comma-seperated list of attrs to return ("displayName", "zimbraId", "zimbraAccountStatus")
1756
+ sortBy - name of attribute to sort on. default is the calendar resource name.
1757
+ sortAscending - whether to sort in ascending order (0/1), 1 is default
1758
+ more-flag = true if more calendar resources left to return
1759
+ search-total = total number of calendar resources that matched search (not affected by limit/offset)
1760
+
1761
+ searchFilter: See SearchCalendarResourcesRequest section in soap.txt.
1762
+
1763
+ Access: domain admin sufficient
1764
+
1765
+ -----------------------------
1766
+
1767
+ Get a count of all the mail queues by counting the number of files in
1768
+ the queue directories. Note that the admin server waits for queue
1769
+ counting to complete before responding - client should invoke requests
1770
+ for different servers in parallel.
1771
+
1772
+ <GetMailQueueInfoRequest>
1773
+ <server name="{mta-server}"/>
1774
+ </GetMailQueueInfoRequest>
1775
+
1776
+ <GetMailQueueInfoResponse/>
1777
+ <server name="{mta-server}">
1778
+ <queue name="deferred" n="{N}"/>
1779
+ <queue name="incoming" n="{N}"/>
1780
+ <queue name="active" n="{N}"/>
1781
+ <queue name="hold" n="{N}"/>
1782
+ <queue name="corrupt" n="{N}"/>
1783
+ </server>
1784
+ </GetMailQueueInfoResponse>
1785
+
1786
+ -----------------------------
1787
+
1788
+ Summarize and/or search a particular mail queue on a particular
1789
+ server. The admin SOAP server initiates a MTA queue scan (via ssh)
1790
+ and then caches the result of the queue scan. To force a queue scan,
1791
+ specify scan=1 in the request.
1792
+
1793
+ The response has two parts.
1794
+
1795
+ - <qs> elements summarize queue by various types of data (sender
1796
+ addresss, recipient domain, etc). Only the deferred queue has error
1797
+ summary type.
1798
+
1799
+ - <qi> elements list the various queue items that match the requested
1800
+ query.
1801
+
1802
+ The stale-flag in the response means that since the scan, some queue
1803
+ action was done and the data being presented is now stale. This
1804
+ allows us to let the user dictate when to do a queue scan.
1805
+
1806
+ The scan-flag in the response indicates that the server has not
1807
+ completed scanning the MTA queue, and that this scan is in progress,
1808
+ and the client should ask again in a little while.
1809
+
1810
+ The more-flag in the response indicates that more qi's are available
1811
+ past the limit specified in the request.
1812
+
1813
+ <GetMailQueueRequest>
1814
+ <server name="{mta-server}">
1815
+ <queue name="{queue-name}" [scan="{0,1}"] [wait={seconds}]>
1816
+ <query [offset={offset}] [limit={limit}]>
1817
+ <field name="{field1}">
1818
+ <match value="{value1}"/> # OR's all values
1819
+ <match value="{value2}"/>
1820
+ <match value="{value3}"/>
1821
+ </field>
1822
+ <field name="{field2}"> # AND's all fields
1823
+ <match value="{value3}"/>
1824
+ <match value="{value5}"/>
1825
+ </field>
1826
+ </query>
1827
+ </queue>
1828
+ </server>
1829
+ <GetMailQueueRequest>
1830
+
1831
+ <GetMailQueueResponse>
1832
+ <server name="{mta-server}">
1833
+ <queue name="{queue-name}" stale="{stale-flag}" time="{scan-time}" more="{more-flag}" scan="{scan-flag} total="{total}">
1834
+
1835
+ <qs type="reason|to|from|todomain|fromdomain|addr|host">
1836
+ <qsi n="{count}" t="{text-for-item}">+
1837
+ </qs>+
1838
+
1839
+ <qi id="{id}" from="{sender}" to="{recipients-comma-seperated}"
1840
+ time="{arrival-time}" filter="{content-filter}"
1841
+ addr="{origin-ip-address} host="{origin-host-name}"/>+
1842
+ </queue>
1843
+ </server>
1844
+ </GetMailQueueResponse>
1845
+
1846
+ Example of qs node is:
1847
+
1848
+ <qs type="fromdomain">
1849
+ <item n="10" t="yahoo.com"/>
1850
+ <item n="10" t="google.com"/>
1851
+ </qs>
1852
+
1853
+ <qs type="reason">
1854
+ <item n="10" t="connect to 10.10.20.40 failed"/>
1855
+ <item n="10" t="connect to 10.10.20.50 timed out"/>
1856
+ </qs>
1857
+
1858
+ Example of qi nodes:
1859
+
1860
+ <qi id="ABCDEF1234"
1861
+ from="jack@example.com"
1862
+ to="foo@example.com,bar@example.com"
1863
+ time="1142622329" XXX - should this be in milliseconds?
1864
+ filter="smtp-amavis:[127.0.0.1]:10024"
1865
+ addr="10.10.130.27"
1866
+ host="phillip.liquidsys.com">
1867
+
1868
+ -----------------------------
1869
+
1870
+ Command to act on invidual queue files. This proxies through to
1871
+ postsuper. list-of-ids can be ALL.
1872
+
1873
+ <MailQueueActionRequest>
1874
+ <server name="{mta-server}">
1875
+ <queue name="{queue-name}">
1876
+ <action op="delete|hold|release|requeue"/ by="id|query">
1877
+ {list-of-ids|}
1878
+ ||
1879
+ {<query> # just like GetMailQueue
1880
+ <field name="name">
1881
+ <match value="val"/>
1882
+ </field>
1883
+ </query>}
1884
+ </action>
1885
+ </queue>
1886
+ </server>
1887
+ </MailQueueActionRequest>
1888
+
1889
+ <MailQueueActionResponse>
1890
+ - response is same as GetMailQueueResponse above.
1891
+ </MailQueueActionResponse>
1892
+
1893
+ -----------------------------
1894
+
1895
+ Command to invoke postqueue -f. All queues cached in the server are
1896
+ are stale after invoking this because this is a global operation to
1897
+ all the queues in a given server.
1898
+
1899
+ <MailQueueFlushRequest>
1900
+ <server name="{mta-server}">
1901
+ </MailQueueFlushRequest>
1902
+
1903
+ <MailQueueFlushResponse/>
1904
+
1905
+ -----------------------------
1906
+
1907
+ [Deprecated since 7.0]
1908
+
1909
+ Initializes the Notebook account used for public folder and templates.
1910
+
1911
+ {template-dir} is a directory on the server that contains the Wiki
1912
+ templates. {template-folder} is a folder in the Mailbox that
1913
+ the templates are being imported to. The default value of {template-folder}
1914
+ is "Template" folder.
1915
+
1916
+ When the element template is present in the request,
1917
+ the server will populate the template directory of the account
1918
+ with the template files in the directory.
1919
+
1920
+ If the optional element domain is present, it will create the domain
1921
+ level wiki account used for public wiki folder for the domain.
1922
+
1923
+ If the optional element account is present, the value will be used to
1924
+ create the account, and then sets either zimbraNotebookDefaultAccount
1925
+ or zimbraNotebookDomainAccount LDAP attribute.
1926
+
1927
+ <InitNotebookRequest>
1928
+ [<template dest="{template-folder}">{template-dir}</template>]
1929
+ [<name>...</name>]
1930
+ [<password>...</password>]
1931
+ [<domain by="id|name">...</domain>]
1932
+ </InitNotebookRequest>
1933
+
1934
+ <InitNotebookResponse/>
1935
+
1936
+ -----------------------------
1937
+
1938
+ <CreateDataSourceRequest/>
1939
+ <id>{account-id}</id>
1940
+ <dataSource type="pop3" name="{data-source-name}">
1941
+ <a n="zimbraDataSourceName">My POP3 Account</a>
1942
+ <a n="zimbraDataSourceIsEnabled">TRUE</a>
1943
+ <a n="zimbraDataSourceHost">pop.myisp.com</a>
1944
+ <a n="zimbraDataSourcePort">110</a>
1945
+ <a n="zimbraDataSourceUsername">mylogin</a>
1946
+ <a n="zimbraDataSourcePassword">mypassword</a>
1947
+ <a n="zimbraDataSourceFolderId">{folder-id}</a>
1948
+ </dataSource>
1949
+ </CreateDataSourceRequest>
1950
+
1951
+ <CreateDataSourceResponse>
1952
+ <dataSource type="{type}" name="..." id="...">
1953
+ <a n="...">{value}</a>+
1954
+ </dataSource>
1955
+ </CreateDataSourceResponse>
1956
+
1957
+ Creates a data source that imports mail items into the specified folder. Currently
1958
+ the only type supported is pop3.
1959
+
1960
+ every attribute value is returned except password.
1961
+
1962
+ note: this request is by default proxied to the account's home server
1963
+
1964
+ ---------------------------
1965
+
1966
+ <GetDataSourcesRequest>
1967
+ <id>{account-id}</id>
1968
+ </GetDataSourcesRequest>
1969
+
1970
+ <GetDataSourcesResponse>
1971
+
1972
+ <dataSource type="{type}" name="..." id="...">
1973
+ <a n="...">{value}</a>+
1974
+ </dataSource>
1975
+ ...
1976
+ </GetDataSourcesResponse>
1977
+
1978
+ Returns all data sources defined for the given mailbox. For each data source,
1979
+ every attribute value is returned except password.
1980
+
1981
+ note: this request is by default proxied to the account's home server
1982
+
1983
+ ---------------------------
1984
+
1985
+ <ModifyDataSourceRequest>
1986
+ <id>{account-id}</id>
1987
+ <dataSource id="{id}">
1988
+ <a n="...">{value}</a>+
1989
+ </dataSource>
1990
+ </ModifyDataSourceRequest>
1991
+
1992
+ <ModifyDataSourceResponse/>
1993
+
1994
+ Changes attributes of the given data source. Only the attributes specified in the request
1995
+ are modified. To change the name, specify "zimbraDataSourceName" as an attribute.
1996
+
1997
+ note: this request is by default proxied to the account's home server
1998
+
1999
+ ---------------------------
2000
+
2001
+ <DeleteDataSourceRequest>
2002
+ <id>{account-id}</id>
2003
+ <dataSource id="{id}"/>
2004
+ </DeleteDataSourceRequest>
2005
+
2006
+ <DeleteDataSourceResponse/>
2007
+
2008
+ Deletes the given data source.
2009
+
2010
+ note: this request is by default proxied to the account's home server
2011
+
2012
+ ---------------------------
2013
+
2014
+ <FixCalendarTZRequest
2015
+ [sync="0|1"] // default 0
2016
+ // 0 = command returns right away
2017
+ // 1 = command blocks until processing finishes
2018
+ [after="millis"] // fix appts/tasks that have instances after this time
2019
+ // default = January 1, 2008 00:00:00 in GMT+13:00 timezone.
2020
+ >
2021
+ <account name="<email>|all"/>+ // list of email addresses, or "all" for all
2022
+ // accounts on this mailbox server
2023
+ <tzfixup ... /> // fixup rules
2024
+ </FixCalendarTZRequest>
2025
+
2026
+ <FixCalendarTZResponse/>
2027
+
2028
+ Fix timezone definitions in appointments and tasks to reflect changes in
2029
+ daylight savings time rules in various timezones.
2030
+
2031
+ ---------------------------
2032
+
2033
+ The WaitSet APIs are now in the urn:zimbraMail namespace, and are documented
2034
+ in soap-waitset.txt
2035
+
2036
+ ***See soap-waitset.txt for WaitSet API documentation***
2037
+
2038
+ ---------------------------
2039
+
2040
+ # returns admin saved searches.
2041
+
2042
+ <GetAdminSavedSearchesRequest>
2043
+ <search name="{search-name}"/>*
2044
+ </GetAdminSavedSearchesRequest>
2045
+
2046
+ If no <search> is present server will return all saved searches.
2047
+
2048
+ <GetAdminSavedSearchesResponse>
2049
+ <search name="{search-name}">{{search-query}}</search>*
2050
+ </GetAdminSavedSearchesResponse>
2051
+
2052
+ ---------------------------
2053
+
2054
+ # modifies admin saved searches.
2055
+
2056
+ # returns the admin saved searches.
2057
+ <ModifyAdminSavedSearchesRequest>
2058
+ {<search name="{search-name}">{search-query}</search>}+
2059
+ </ModifyAdminSavedSearchesRequest>
2060
+
2061
+ If {search-query} is empty => delete the search if it exists
2062
+ If {search-name} already exists => replace with new {search-query}
2063
+ If {search-name} does not exist => save as a new search
2064
+
2065
+ <ModifyAdminSavedSearchesResponse/>
2066
+
2067
+ -----------------------------
2068
+
2069
+ # Changes logging settings on a per-account basis.
2070
+
2071
+ <AddAccountLoggerRequest>
2072
+ <account by="id|name">...</account>
2073
+ <logger category="{category-name | all}" level="debug|info|warn|error"/>
2074
+ </AddAccountLoggerRequest>
2075
+
2076
+ <AddAccountLoggerResponse>
2077
+ <logger category="{category-name}" level="debug|info|warn|error"/>+
2078
+ </AddAccountLoggerResponse>
2079
+
2080
+ Adds a custom logger for the given account and log category. The logger
2081
+ stays in effect only during the lifetime of the current server instance.
2082
+ If the request is sent to a server other than the one that the account
2083
+ resides on, it is proxied to the correct server.
2084
+
2085
+ If the category is "all", adds a custom logger for every category
2086
+ for the given user.
2087
+
2088
+ <RemoveAccountLoggerRequest>
2089
+ [<account by="id|name">...</account>]
2090
+ [<logger category="{category-name}"/>]
2091
+ </RemoveAccountLoggerRequest>
2092
+
2093
+ <RemoveAccountLoggerResponse/>
2094
+
2095
+ Removes one or more custom loggers. If both the account and logger are
2096
+ specified, removes the given account logger if it exists. If only the account
2097
+ is specified or the category is "all", removes all custom loggers from that
2098
+ account. If only the logger is specified, removes that custom logger from all
2099
+ accounts. If neither element is specified, removes all custom loggers from
2100
+ all accounts on the server that receives the request.
2101
+
2102
+
2103
+ <GetAccountLoggersRequest>
2104
+ <account by="id|name">...</account>
2105
+ </GetAccountLoggersRequest>
2106
+
2107
+ <GetAccountLoggersResponse>
2108
+ <logger category="{category-name} level="debug|info|warn|error"/>*
2109
+ </GetAccountLoggersResponse>
2110
+
2111
+ Returns custom loggers created for the given account since the
2112
+ last server start. If the request is sent to a server other than the
2113
+ one that the account resides on, it is proxied to the correct server.
2114
+
2115
+
2116
+ <GetAllAccountLoggersRequest/>
2117
+
2118
+ <GetAllAccountLoggersResponse>
2119
+ <accountLogger id="{account-id}" name="{account-name}">
2120
+ <logger category="{category-name} level="debug|info|warn|error"/>+
2121
+ </accountLogger>*
2122
+ </GetAllAccountLoggersResponse>
2123
+
2124
+ Returns all account loggers that have been created on the given server
2125
+ since the last server start.
2126
+
2127
+ -----------------------------
2128
+
2129
+ # Check existence of one or more directories and optionally create them.
2130
+
2131
+ <CheckDirectoryRequest>
2132
+ <directory path="{path}" [create="0|1"]/>+
2133
+ </CheckDirectoryRequest>
2134
+
2135
+ path = full path to the directory
2136
+ create = default 0; if 1, create the directory if it doesn't exist
2137
+
2138
+ <CheckDirectoryResponse>
2139
+ <directory path="{path}" // same path as in the request
2140
+ exists="1|0" // path exists, or not
2141
+ isDirectory="1|0" // path is a directory, or not
2142
+ readable="1|0" // path is readable, or not
2143
+ writable="1|0"/>+ // path is writable, or not
2144
+ </CheckDirectoryResponse>
2145
+
2146
+ -----------------------------
2147
+
2148
+ # Flush memory cache for specified LDAP or directory scan type/entries
2149
+
2150
+ <FlushCacheRequest>
2151
+ <cache type="skin|locale|account|cos|domain|server|zimlet" [allServers="1|0"]>
2152
+ [<entry by={id|name}>value</entry>+]
2153
+ </cache>
2154
+ </FlushCacheRequest>
2155
+
2156
+ allServers:
2157
+ 0 (default) = flush cache only on the local server
2158
+ 1 = flush cache on all servers (this can take on systems with lots of servers)
2159
+
2160
+
2161
+ Directory scan caches(source of data is on local disk of the server):
2162
+ skin|locale
2163
+
2164
+ LDAP caches(source of data is LDAP):
2165
+ account|cos|domain|server|zimlet
2166
+
2167
+ For LDAP caches, one or more optional <entry> can be specified.
2168
+ If <entry>(s) are specified, only the specified entries will be flushed.
2169
+ If no <entry> is given, all enties of the type will be flushed from cache.
2170
+
2171
+ type can contain a combination of skin, locale and zimlet. E.g. type='skin,locale,zimlet' or type='zimletskin'
2172
+ <FlushCacheResponse/>
2173
+
2174
+
2175
+ -----------------------------
2176
+
2177
+ # count number of accounts by cos in a domain,
2178
+
2179
+ <CountAccountRequest>
2180
+ <domain by="{domain-by}">...</domain>
2181
+ </CountAccountRequest>
2182
+
2183
+
2184
+ <CountAccountResponse>
2185
+ <cos id="{cos-id}" name="cos-name">{account-count}</cos>+
2186
+ </CountAccountResponse>
2187
+
2188
+ Note, it doesn't include any account with zimbraIsSystemResource=TRUE,
2189
+ nor does it include any calendar resources.
2190
+
2191
+
2192
+
2193
+ e.g.
2194
+ <CountAccountResponse>
2195
+ <cos id="044382d5-f2c5-4265-9a1a-ac255fce729f" name="basic">123</cos>
2196
+ <cos id="723d7cf6-8d76-443a-b5f3-c56563a8b4c7" name="standard">456</cos>
2197
+ <cos id="35c6e603-123a-4a08-b485-b00e1f6d1663" name="premium">789</cos>
2198
+ <cos id="35c6e603-123a-4a08-b485-b00e1f6d1663" name="default">55</cos>
2199
+ </CountAccountResponse>
2200
+
2201
+
2202
+
2203
+ ---------------------------------------------------------------------------
2204
+ # Get server's network interfaces. Returns IP addresses and net masks
2205
+ # This call will use zmrcd to call /opt/zimbra/libexec/zmserverips
2206
+
2207
+ <GetServerNIfsRequest>
2208
+ <server by="id|name|serviceHostname">...</server>
2209
+ </GetServerNIfsRequest>
2210
+
2211
+ <GetServerNIfsResponse>
2212
+ <ni>
2213
+ <a n="addr">ip address</a>
2214
+ <a n="mask">network mask</a>
2215
+ </ni>*
2216
+ </GetServerNIfsResponse>
2217
+
2218
+ ---------------------------------------------------------------------------
2219
+
2220
+ # free/busy providers
2221
+
2222
+ <GetAllFreeBusyProvidersRequest/>
2223
+
2224
+ <GetAllFreeBusyProvidersResponse>
2225
+ [<provider name="{provider-name}" propagate="{1|0}" queue="{location-of-the-queue}" prefix="{prefix-used-in-zimbraForeignPrincipal}" start="{seconds-since-epoch of free/busy cache start time}" end="{seconds-since-epoch of free/busy cache end time}"/>]+
2226
+ </GetAllFreeBusyProvidersResponse>
2227
+
2228
+ ---------------------------------------------------------------------------
2229
+
2230
+ # if the optional element <provider/> is present in the request, the response
2231
+ # contains the requested provider only. if no provider is supplied in the
2232
+ # request, the response contains all the providers.
2233
+
2234
+ <GetFreeBusyQueueInfoRequest>
2235
+ [<provider name="{provider-name}"/>]
2236
+ </GetFreeBusyQueueInfoRequest>
2237
+
2238
+ <GetFreeBusyQueueInfoResponse>
2239
+ [
2240
+ <provider name="{provider-name}">
2241
+ [<account id="{account-id}"/>]+
2242
+ </provider>
2243
+ ]+
2244
+ </GetFreeBusyQueueInfoResponse>
2245
+
2246
+ ---------------------------------------------------------------------------
2247
+
2248
+ # the request must include either <domain/> or <account/>
2249
+ # when <domain/> is specified in the request, the server will push
2250
+ # the free/busy for all the accounts in the domain to the configured
2251
+ # free/busy providers.
2252
+ # when <account/> list is specified, the server will push the free/busy
2253
+ # for the listed accounts to the providers.
2254
+
2255
+ <PushFreeBusyRequest>
2256
+ [<domain name="{comma separated list of domains}"/>]
2257
+ [<account id="{account-id}"/>]+
2258
+ </PushFreeBusyRequest>
2259
+
2260
+ <PushFreeBusyResponse/>
2261
+
2262
+ ----------------------------------------
2263
+
2264
+ # purges the queue for the given freebusy provider on the current host.
2265
+
2266
+ <PurgeFreeBusyQueueRequest>
2267
+ [<provider name="{provider-name}"/>]
2268
+ </PurgeFreeBusyQueueRequest>
2269
+
2270
+ <PurgeFreeBusyQueueResponse/>
2271
+
2272
+ ----------------------------------------
2273
+
2274
+ <CheckExchangeAuthRequest>
2275
+ <auth url="{url-to-exchange-server}" user="{exchange-user-name}" pass="{exchange-password}" scheme="basic|form" />
2276
+ </CheckExchangeAuthRequest>
2277
+
2278
+ <CheckExchangeAuthResponse>
2279
+ <code>...</code>
2280
+ <message>...</message>*
2281
+ </CheckExchangeAuthResponse>
2282
+
2283
+ ----------------------------------------
2284
+
2285
+ <GetAllLocalesRequest/>
2286
+
2287
+ <GetAllLocalesResponse>
2288
+ <locale id="en_US" name="English (United States)"/>
2289
+ ...
2290
+ </GetAllLocalesResponse>
2291
+
2292
+ Returns all locales defined in the system. This is the same list returned by
2293
+ java.util.Locale.getAvailableLocales(), sorted by display name (name attribute).
2294
+
2295
+ ----------------------------------------
2296
+
2297
+ <PurgeAccountCalendarCacheRequest id="{value-of-zimbraId}"/>
2298
+
2299
+ <PurgeAccountCalendarCacheRequest/>
2300
+
2301
+ Access: domain admin sufficient
2302
+
2303
+ Purge the calendar cache for an account.
2304
+ note: this request is by default proxied to the account's home server
2305
+
2306
+ ----------------------------------------
2307
+
2308
+ <PublishShareInfoRequest>
2309
+ <dl by="id|name">...</dl>
2310
+ <share action="{add|remove}">
2311
+ <owner by="id|name|foreignPrincipal">...</owner>
2312
+ [<folder [l="{base-folder-id}"] [path="{fully-qualified-path}"] [pathOrId="{folder-path-or-id}"]/>]
2313
+ </share>
2314
+ </PublishShareInfoRequest>
2315
+
2316
+ Publish share info on the specified DL shared by an owner.
2317
+ Folders shared by the <owner> with the DL or any of the DL's parent group can be published.
2318
+
2319
+ e.g. if owner O shares /Inbox with DL-A, and DL-B is a member of DL-A,
2320
+ the share can be published on DL-A and/or DL-B.
2321
+
2322
+ Notes:
2323
+ - in <folder>, only one of l, path, or pathOrId can be specified.
2324
+ If pathOrId is specified, server will first treat {folder-path-or-id} as a path and try to
2325
+ find the folder by path; if there is no such folder, server will then treat {folder-path-or-id}
2326
+ as a folder id and try to find the folder by id. If <folder> is omitted, server will
2327
+ iterate through all folders of the owner and publish any shares granted to the DL or any of the
2328
+ DL's parent DL.
2329
+
2330
+ <PublishShareInfoResponse/>
2331
+
2332
+ Notes:
2333
+
2334
+ Access: domain admin sufficient.
2335
+ note: this request is by default proxied to the owner's home server
2336
+
2337
+ ----------------------------------------
2338
+
2339
+ <GetPublishedShareInfoRequest>
2340
+ <dl by="id|name">...</dl>
2341
+ [<owner by="{owner-by}">...</owner>]
2342
+ </GetPublishedShareInfoRequest>
2343
+
2344
+ Get share info published on the <dl>.
2345
+ If <owner> is specified, returns only shares owned by the owner. Otherwise returns all
2346
+ shares published on the <dl>.
2347
+
2348
+ <GetPublishedShareInfoResponse>
2349
+ [<share ownerId="{owner-id}" ownerEmail={owner-email} [ownerName="{owner-display-name}"]
2350
+ folderId="{folder-id}" folderPath="{fully-qualified-path}"
2351
+ view="{default-type}" rights="{rights}"
2352
+ granteeType="{grantee-type}" granteeId="{grantee-id}" granteeName="{grantee-name}" [granteeDisplayName="{grantee-display-name}">]]+
2353
+ </GetPublishedShareInfoResponse>
2354
+
2355
+ ----------------------------------------
2356
+
2357
+ <GetShareInfoRequest>
2358
+ [<grantee type="{grantee_type}" [id="{grantee-id}"] [name="{grantee-name}"]/>]
2359
+ <owner by="{owner-by}">...</owner>
2360
+ </GetShareInfoRequest>
2361
+
2362
+ Iterate through all folders of the owner's mailbox and return shares that match
2363
+ grantees specified by the <grantee> specifier.
2364
+
2365
+ e.g.
2366
+
2367
+ <GetShareInfoRequest>
2368
+ <grantee name="dl@test.com"/>]
2369
+ <owner by="name">user1@test.com</owner>
2370
+ </GetShareInfoRequest>
2371
+
2372
+ returns all shares owned by user1@test.com that are shared with dl@test.com.
2373
+
2374
+ <GetShareInfoResponse>
2375
+ [<share ownerId="{owner-id}" ownerEmail={owner-email} [ownerName="{owner-display-name}"]
2376
+ folderId="{folder-id}" folderPath="{fully-qualified-path}"
2377
+ view="{default-type}" rights="{rights}"
2378
+ granteeType="{grantee-type}" granteeId="{grantee-id}" granteeName="{grantee-name}" [granteeDisplayName="{grantee-display-name}">]]+
2379
+ </GetShareInfoResponse>
2380
+
2381
+
2382
+ ----------------------------
2383
+
2384
+ <CreateGalSyncAccountRequest name="{identifier}" domain="{domain-name}" type="zimbra|ldap" [folder="{contact-folder-name}"] >
2385
+ <account by="id|name">...</account>
2386
+ <a n="attr-name">...</a>+
2387
+ </CreateGalSyncAccountRequest>
2388
+
2389
+ <CreateGalSyncAccountResponse>
2390
+ <name>...</name>
2391
+ <account name="{name}" id="{id}"/>
2392
+ </CreateGalSyncAccountResponse>
2393
+
2394
+ Notes:
2395
+
2396
+ - if the referenced account is not found it will be created.
2397
+ - the identifier used in name attr is used for SyncGal and SearchGal.
2398
+ - name attribute is for the name of the data source.
2399
+ - if folder attr is not present it'll default to Contacts folder.
2400
+ - passed in attrs in <a/> are used to initialize the gal data source.
2401
+
2402
+
2403
+ example for creating gal sync account for Zimbra LDAP server.
2404
+
2405
+ <CreateGalSyncAccountRequest name="zimbra" domain="mydomain.com" type="zimbra">
2406
+ <account by="name">gal@mydomain.com</account>
2407
+ </CreateGalSyncAccountRequest>
2408
+
2409
+ example for creating domain gal sync account.
2410
+
2411
+ <CreateGalSyncAccountRequest name="mydomain" domain="mydomain.com" type="ldap">
2412
+ <account by="name">gal@mydomain.com</account>
2413
+ <a n="zimbraGalSyncLdapURL">ldap://ldap.mydomain.com</a>
2414
+ <a n="zimbraGalSyncLdapStartTlsEnabled">TRUE</a>
2415
+ <a n="zimbraGalSyncLdapSearchBase">cn=users</a>
2416
+ <a n="zimbraGalSyncLdapAuthMech">simple</a>
2417
+ <a n="zimbraGalSyncLdapBindDn">uid=admin,cn=users</a>
2418
+ <a n="zimbraGalSyncLdapBindPassword">password</a>
2419
+ <a n="zimbraGalSyncLdapFilter">(&amp;(mail=*)(objectClass=user))</a>
2420
+ <a n="zimbraGalLdapAttrMap">whenChanged,modifyTimeStamp=modifyTimeStamp</a>
2421
+ <a n="zimbraGalLdapAttrMap">whenCreated,createTimeStamp=createTimeStamp</a>
2422
+ <a n="zimbraGalLdapAttrMap">zimbraMailDeliveryAddress,zimbraMailAlias,mail=email,email2,email3,email4,email5,email6,email7,email8,email9,email10,email11,email12,email13,email14,email15,email16</a>
2423
+ </CreateGalSyncAccountRequest>
2424
+
2425
+ Access: domain admin sufficient
2426
+
2427
+ ----------------------------
2428
+
2429
+ <SyncGalAccountRequest>
2430
+ <account id="{account-id}">
2431
+ <datasource by="id|name" [fullSync="true|false"] [reset="true"] />+
2432
+ </account>+
2433
+ </SyncGalAccountRequest>
2434
+
2435
+ <SyncGalAccountResponse/>
2436
+
2437
+ Notes:
2438
+
2439
+ If fullSync is set to false (or unset) the default behavior is trickle sync
2440
+ which will pull in any new contacts or modified contacts since last sync.
2441
+
2442
+ If fullSync is set to true, then the server will go through all the contacts
2443
+ that appear in GAL, and resolve deleted contacts in addition to new or
2444
+ modified ones.
2445
+
2446
+ If reset attribute is set, then all the contacts will be populated again,
2447
+ regardless of the status since last sync. Reset needs to be done when there
2448
+ is a significant change in the configuration, such as filter, attribute map,
2449
+ or search base.
2450
+
2451
+ ----------------------------
2452
+
2453
+ <DeleteGalSyncAccountRequest>
2454
+ <account by="id|name">...</account>
2455
+ </DeleteGalSyncAccountRequest>
2456
+
2457
+ <DeleteGalSyncAccountResponse/>
2458
+
2459
+ Remove its zimbraGalAccountId from the domain, then deletes the account.
2460
+
2461
+ ----------------------------
2462
+
2463
+ <ReloadMemcachedClientConfigRequest/>
2464
+
2465
+ <ReloadMemcachedClientConfigResponse/>
2466
+
2467
+ Reloads the memcached client configuration on this server. Memcached client layer
2468
+ is reinitialized accordingly. Call this command after updating memcached server list,
2469
+ for example.
2470
+
2471
+ ----------------------------
2472
+
2473
+ <GetMemcachedClientConfigRequest/>
2474
+
2475
+ <GetMemcachedClientConfigResponse
2476
+ serverList="..." // comma-separated list of host:port for memcached servers
2477
+ hashAlgorithm="..." // KETAMA_HASH, etc.
2478
+ binaryProtocol="1|0" // whether memcached binary protocol is in use
2479
+ defaultExpirySeconds="..." // default entry expiry in seconds
2480
+ defaultTimeoutMillis="..." // default timeout in milliseconds
2481
+ />
2482
+
2483
+ Returns the memcached client configuration on a mailbox server.
2484
+
2485
+ ----------------------------
2486
+
2487
+ <MigrateAccountRequest>
2488
+ <migrate action="wiki|..."/ id="{zimbraId-of-account}">
2489
+ </MigrateAccountRequest>
2490
+
2491
+ <MigrateAccountResponse/>
2492
+
2493
+ ----------------------------
2494
+
2495
+ <NoOpRequest/>
2496
+
2497
+ <NoOpResponse/>
2498
+
2499
+ A request that does nothing and always returns nothing. Used to keep an admin session alive.
2500
+
2501
+ ----------------------------
2502
+
2503
+ <ClearCookieRequest>
2504
+ <cookie name="{cookie-name}"/>+
2505
+ </ClearCookieRequest>
2506
+
2507
+ <ClearCookieResponse/>