Skip to content

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

/srv.asmx/GetManagers

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:

<response success="true" error="">
  <users />
</response>

Error Response

<response success="false" error="[ErrorCode] Error message" />

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 GetDomainMembers for 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.


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.