Users API
The Users API provides programmatic access to Active Directory user accounts. It offers endpoints to update user attributes and retrieve user accounts using filters, sorting, and pagination, enabling administrators to automate and streamline user management. User records typically include identity details, contact information, and organizational attributes, and the API ensures they can be accessed or modified in a consistent and secure format.
List AD users
This endpoint retrieves AD user objects based on specified filters, sort order, and pagination. You can also limit the response to only the required fields. It is useful for generating user reports, integrating with other systems, or identifying users who meet specific conditions.
Scope : Modify users action, All user management actions
Delegated role : All Users Report
Query Parameters
Example: domain1.com,domain2.com
Example: (FIRST_NAME eq John) and (LAST_NAME eq Doe)
Example: FIRST_NAME,-LAST_NAME
Headers
headers_data = Map();
headers_data.put("Accept", "application/json");
headers_data.put("X-Module", "External API");
headers_data.put("X-Date-Time-Format", "SOME_STRING_VALUE");
headers_data.put("Authorization", "REPLACE_KEY_VALUE");
response = invokeUrl
[
url: "http://admanagerplus:8080/api/v2/users?domains=domain1.com"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://admanagerplus:8080/api/v2/users?domains=domain1.com")
.get()
.addHeader("Accept", "application/json")
.addHeader("X-Module", "External API")
.addHeader("X-Date-Time-Format", "SOME_STRING_VALUE")
.addHeader("Authorization", "REPLACE_KEY_VALUE")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
Accept: 'application/json',
'X-Module': 'External API',
'X-Date-Time-Format': 'SOME_STRING_VALUE',
Authorization: 'REPLACE_KEY_VALUE'
}
};
fetch('http://admanagerplus:8080/api/v2/users?domains=domain1.com', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPConnection("admanagerplus:8080")
headers = {
'Accept': "application/json",
'X-Module': "External API",
'X-Date-Time-Format': "SOME_STRING_VALUE",
'Authorization': "REPLACE_KEY_VALUE"
}
conn.request("GET", "/api/v2/users?domains=domain1.com", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("http");
const options = {
"method": "GET",
"hostname": "admanagerplus",
"port": "8080",
"path": "/api/v2/users?domains=domain1.com",
"headers": {
"Accept": "application/json",
"X-Module": "External API",
"X-Date-Time-Format": "SOME_STRING_VALUE",
"Authorization": "REPLACE_KEY_VALUE"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
curl --request GET \
--url 'http://admanagerplus:8080/api/v2/users?domains=domain1.com' \
--header 'Accept: application/json' \
--header 'Authorization: REPLACE_KEY_VALUE' \
--header 'X-Date-Time-Format: SOME_STRING_VALUE' \
--header 'X-Module: External API'
Update AD Users
This endpoint updates one or more AD user objects with the specified payload. You can modify general information, organizational details, Microsoft 365 settings, and Exchange attributes. It is often used for updating records during role changes or applying account policies in bulk.
Scope : Modify user action, All user management actions
Delegated role : Modify Users Using Template, Bulk User Modification
Arguments
Query Parameters
Example: domain1.com
Example: (FIRST_NAME eq John) and (LAST_NAME eq Doe)
Example: FIRST_NAME,-LAST_NAME
Headers
parameters_data='{"template":{"template_name":"User Modification Template"},"data":{"attributes":{"employeeID":"12345","extensionAttribute1":"Custom Attribute","co":"India","manager":"Manager 1","microsoft_365":{"waadLicenseInfo":"sku_id1;sku_id2"},"exchange":{"msExchHomeServerName":"/o=Test/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=TEST-MEM1","homeMDB":"CN=Mailbox Database 03456078997,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Test,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=test,DC=com","mailNickname":"tester","proxyAddresses":"SMTP:tester@domain.com"}}}}';
headers_data = Map();
headers_data.put("Accept", "application/json");
headers_data.put("X-Module", "External API");
headers_data.put("Authorization", "REPLACE_KEY_VALUE");
response = invokeUrl
[
url: "http://admanagerplus:8080/api/v2/users?domain=domain1.com"
type: PATCH
headers: headers_data
content-type: application/json
parameters: parameters_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"template\":{\"template_name\":\"User Modification Template\"},\"data\":{\"attributes\":{\"employeeID\":\"12345\",\"extensionAttribute1\":\"Custom Attribute\",\"co\":\"India\",\"manager\":\"Manager 1\",\"microsoft_365\":{\"waadLicenseInfo\":\"sku_id1;sku_id2\"},\"exchange\":{\"msExchHomeServerName\":\"/o=Test/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=TEST-MEM1\",\"homeMDB\":\"CN=Mailbox Database 03456078997,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Test,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=test,DC=com\",\"mailNickname\":\"tester\",\"proxyAddresses\":\"SMTP:tester@domain.com\"}}}}");
Request request = new Request.Builder()
.url("http://admanagerplus:8080/api/v2/users?domain=domain1.com")
.patch(body)
.addHeader("Accept", "application/json")
.addHeader("X-Module", "External API")
.addHeader("Authorization", "REPLACE_KEY_VALUE")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'PATCH',
headers: {
Accept: 'application/json',
'X-Module': 'External API',
Authorization: 'REPLACE_KEY_VALUE',
'content-type': 'application/json'
},
body: '{"template":{"template_name":"User Modification Template"},"data":{"attributes":{"employeeID":"12345","extensionAttribute1":"Custom Attribute","co":"India","manager":"Manager 1","microsoft_365":{"waadLicenseInfo":"sku_id1;sku_id2"},"exchange":{"msExchHomeServerName":"/o=Test/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=TEST-MEM1","homeMDB":"CN=Mailbox Database 03456078997,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Test,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=test,DC=com","mailNickname":"tester","proxyAddresses":"SMTP:tester@domain.com"}}}}'
};
fetch('http://admanagerplus:8080/api/v2/users?domain=domain1.com', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPConnection("admanagerplus:8080")
payload = "{\"template\":{\"template_name\":\"User Modification Template\"},\"data\":{\"attributes\":{\"employeeID\":\"12345\",\"extensionAttribute1\":\"Custom Attribute\",\"co\":\"India\",\"manager\":\"Manager 1\",\"microsoft_365\":{\"waadLicenseInfo\":\"sku_id1;sku_id2\"},\"exchange\":{\"msExchHomeServerName\":\"/o=Test/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=TEST-MEM1\",\"homeMDB\":\"CN=Mailbox Database 03456078997,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Test,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=test,DC=com\",\"mailNickname\":\"tester\",\"proxyAddresses\":\"SMTP:tester@domain.com\"}}}}"
headers = {
'Accept': "application/json",
'X-Module': "External API",
'Authorization': "REPLACE_KEY_VALUE",
'content-type': "application/json"
}
conn.request("PATCH", "/api/v2/users?domain=domain1.com", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("http");
const options = {
"method": "PATCH",
"hostname": "admanagerplus",
"port": "8080",
"path": "/api/v2/users?domain=domain1.com",
"headers": {
"Accept": "application/json",
"X-Module": "External API",
"Authorization": "REPLACE_KEY_VALUE",
"content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
template: {template_name: 'User Modification Template'},
data: {
attributes: {
employeeID: '12345',
extensionAttribute1: 'Custom Attribute',
co: 'India',
manager: 'Manager 1',
microsoft_365: {waadLicenseInfo: 'sku_id1;sku_id2'},
exchange: {
msExchHomeServerName: '/o=Test/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=TEST-MEM1',
homeMDB: 'CN=Mailbox Database 03456078997,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Test,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=test,DC=com',
mailNickname: 'tester',
proxyAddresses: 'SMTP:tester@domain.com'
}
}
}
}));
req.end();
curl --request PATCH \
--url 'http://admanagerplus:8080/api/v2/users?domain=domain1.com' \
--header 'Accept: application/json' \
--header 'Authorization: REPLACE_KEY_VALUE' \
--header 'X-Module: External API' \
--header 'content-type: application/json' \
--data '{"template":{"template_name":"User Modification Template"},"data":{"attributes":{"employeeID":"12345","extensionAttribute1":"Custom Attribute","co":"India","manager":"Manager 1","microsoft_365":{"waadLicenseInfo":"sku_id1;sku_id2"},"exchange":{"msExchHomeServerName":"/o=Test/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=TEST-MEM1","homeMDB":"CN=Mailbox Database 03456078997,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Test,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=test,DC=com","mailNickname":"tester","proxyAddresses":"SMTP:tester@domain.com"}}}}'
{
"template": {
"template_name": "User Modification Template"
},
"data": {
"attributes": {
"employeeID": "12345",
"extensionAttribute1": "Custom Attribute",
"co": "India",
"manager": "Manager 1",
"microsoft_365": {
"waadLicenseInfo": "sku_id1;sku_id2"
},
"exchange": {
"msExchHomeServerName": "/o=Test/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=TEST-MEM1",
"homeMDB": "CN=Mailbox Database 03456078997,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Test,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=test,DC=com",
"mailNickname": "tester",
"proxyAddresses": "SMTP:tester@domain.com"
}
}
}
}