GetManagers API¶
Returns a list of users who are designated as managers of the specified domain/library. Domain managers can administer members, workflows, and other domain settings.
Endpoint¶
Methods¶
- GET
/srv.asmx/GetManagers?authenticationTicket=...&DomainName=... - POST
/srv.asmx/GetManagers(form data) - SOAP Action:
http://tempuri.org/GetManagers
Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
authenticationTicket |
string | Yes | Authentication ticket obtained from AuthenticateUser. |
DomainName |
string | Yes | Name of the domain/library whose managers to retrieve. |
Response¶
Success Response¶
Returns a <users> collection with full user details for each manager.
<response success="true" error="">
<users>
<User exists="true" UserID="101" FirstName="John" LastName="Doe"
Email="jdoe@example.com" Enabled="TRUE" UserName="jdoe"
Domain="Finance" LastLogonDate="2024-01-15T10:30:00"
LastPasswordChangeDate="2023-06-01T08:00:00"
AuthenticationAuthority="Native" ReadOnlyUser="FALSE">
<Preferences>
<Language>en-US</Language>
<DefaultPortal />
<ShowArchives>FALSE</ShowArchives>
<ShowHiddens>FALSE</ShowHiddens>
<NotificationType>None</NotificationType>
<NotificationTypeId>0</NotificationTypeId>
<EmailType>0</EmailType>
<AttachDocumentToEmail>FALSE</AttachDocumentToEmail>
</Preferences>
</User>
</users>
</response>
If no managers are assigned, the <users> element is empty:
Error Response¶
Required Permissions¶
Any authenticated user can call this API for a library they belong to or that allows anonymous access. From 9.0 a library is also reachable by whoever may administer it, whether or not they belong to it: administrators, members of [User Managers] and [Policy Managers], and the library's own managers. Up to 9.0 a User Manager who was not a member got 4041 "library not found", and so did an administrator asking by name. Anonymous (unauthenticated) users are rejected.
Example¶
GET Request¶
GET /srv.asmx/GetManagers
?authenticationTicket=3f2504e0-4f89-11d3-9a0c-0305e82c3301
&DomainName=Finance
HTTP/1.1
POST Request¶
POST /srv.asmx/GetManagers HTTP/1.1
Content-Type: application/x-www-form-urlencoded
authenticationTicket=3f2504e0-4f89-11d3-9a0c-0305e82c3301
&DomainName=Finance
SOAP Request¶
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://tempuri.org/">
<soap:Body>
<tns:GetManagers>
<tns:AuthenticationTicket>3f2504e0-4f89-11d3-9a0c-0305e82c3301</tns:AuthenticationTicket>
<tns:DomainName>Finance</tns:DomainName>
</tns:GetManagers>
</soap:Body>
</soap:Envelope>
JavaScript¶
Every call answers XML with HTTP 200, success or not, so success is the thing to branch on and
errorCode is the number to report.
async function call(action, params) {
const response = await fetch(`/srv.asmx/${action}?${new URLSearchParams(params)}`);
const root = new DOMParser()
.parseFromString(await response.text(), 'text/xml')
.documentElement;
if (root.getAttribute('success') !== 'true') {
throw new Error(`${root.getAttribute('errorCode')}: ${root.getAttribute('error')}`);
}
return root;
}
Lists the managers of a library.
const root = await call('GetManagers', { authenticationTicket: ticket, DomainName: 'Finance' });
for (const user of root.querySelectorAll('users > User')) {
console.log(user.getAttribute('UserName'));
}
A library with no managers answers with an empty <users> section rather than an error.
Notes¶
- Returns only users with manager status -" regular members are not included. Use
GetDomainMembersfor all members. - Users are returned in full detail mode (includes domain, logon dates, authentication source, preferences).
- A domain can have multiple managers. An empty
<users>element is returned if no managers are assigned. - Domain managers can manage domain membership, configure workflows, set policies, and perform other administrative tasks within the domain.
Related APIs¶
- AddManagerToDomain - Designate a user as a domain manager
- RemoveManagerFromDomain - Remove manager status from a user
- GetDomainMembers - Get all members (users and groups) of the domain
- GetDomain - Get domain properties
Error Codes¶
The errorCode values this operation returns, checked against a running server:
errorCode |
When |
|---|---|
4010 |
the ticket is expired or unknown, or there is no ticket at all |
4041 |
no library by that name - including one the caller neither belongs to nor may administer |
HTTP 400 |
a required string parameter was empty; refused by model binding, so there is no error document |
| Error | Description |
|---|---|
[900] Authentication failed |
Invalid or missing authentication ticket. |
[901] Session expired or Invalid ticket |
The ticket has expired or does not exist. |
[2730] Insufficient rights. Anonymous users cannot perform this action. |
The calling user is not authenticated. |
[115] Domain not found |
The specified DomainName does not exist. |
SystemError:... |
An unexpected server-side error occurred. |