Search for Persons
POST /GetAllSearchAdvanced
Send a POST request to the GetAllSearchAdvanced() method on the PersonView object to return information about one or more people. The information included in the response depends on the range of Person properties and parameter values included in the request.
A valid OAuth 2.0 Bearer token is required.
URL
POST https://<FQDN_Of_Your_EmpowerID_Web_Server>/api/webui/v1/PersonView/GetAllSearchAdvanced
Header Key/Value Pairs
| Key | Value |
|---|---|
| Authorization | Bearer / |
| X-EmpowerID-API-Key | The API key from the registered OAuth application |
| Content-Type | application/json |
Request Body
The body of the request must include all parameters required by the method and the IncludedProperties object with at least one Person property.
Included Properties
Use IncludedProperties to return one or more Person properties. Example properties include PersonID, LastName, FirstName, and login. See Person Properties below for a fuller list of properties that can be returned.
Body Parameters
The GetAllSearchAdvanced() method includes several parameters that must be included in the body of the request. Use parameters to filter the number of people returned by the endpoint.
View Parameters
| Parameter | Type | Description |
|---|---|---|
| Active | Boolean | Set to true (1) to return only people with active accountsSet to false (0) to return only people with disabled accountsSet to null to ignoreRequired |
| Company | string | Set to a specific company name to filter the call to only return people with a matching Company attribute Set to null to ignoreRequired |
| CompanyID | int | Set to the ID of a specific company to filter the call to only return people with a matching Company attribute Set to null to ignoreRequired |
| CoreIdentityID | int | Set to the ID of the CoreIdentity to filter the call to only return people with a matching Core Identity Set to null to ignoreRequired |
| Department | string | Set to a specific department name to filter the call to only return people with a matching Department attribute Set to null to ignoreRequired |
| ExternalApprovalID | int | Set to the ID of the external approval to filter results Set to null to ignoreRequired |
| GroupID | int | Set to the ID of the group to filter results Set to null to ignoreRequired |
| IsExternal | Boolean | Set to filter for external users Set to null to ignoreRequired |
| ManagementRoleID | int | Set to the ID of the management role to filter results Set to null to ignoreRequired |
| OrgRoleID | int | Set to the ID of the organization role to filter results Set to null to ignoreRequired |
| OrgRoleOrgZoneID | int | Set to the ID of the organization role zone to filter results Set to null to ignoreRequired |
| OrgZoneID | int | Set to the ID of the organization zone to filter results Set to null to ignoreRequired |
| OwnerAssigneeID | int | Set to the ID of the owner assignee to filter results Set to null to ignoreRequired |
| PersonOrganizationStatusID | int | Set to the ID of the person organization status to filter results Set to null to ignoreRequired |
| PersonUsageTypeID | int | Set to the ID of the person usage type to filter results Set to null to ignoreRequired |
| PrimaryOrgRoleOrgZoneID | int | Set to the ID of the primary organization role zone to filter results Set to null to ignoreRequired |
| SetGroupID | int | Set to the ID of the set group to filter results Set to null to ignoreRequired |
| columnsToSearch | string | Specifies one or more search conditions. Formatted as follows:"%[[][[]%<Conditions><Condition PropertyName=\"Name of the property to search\" SearchValue=\"Value of the property\" Operator=\"Equality\" QuerySuffix=\" Suffix Value \"StartGroupString=\"\" EndGroupString=\"\" /></Conditions>"Required |
| textToSearch | string | Can be set to "*" or "AdvancedSearch"Required |
| pageLength | int | Specifies the number of people to return in the list Required |
| resourceTags | string | Return people with a matching resource tag Required |
| start | int | Specifies the first person in the list of people returned by the API; set to 0 to return the first personRequired |
| totalCount | int | This is an output parameter that returns the number of people matching the search conditions and parameter values Set to nullRequired |
columnsToSearch
The columnsToSearch body parameter is used to return people who meet one or more conditions. Each condition specifies a property with a specific value to search for, and there can be more than one condition. For example, to return a list of people with a manager named Jorge Posada who logged in between 9/20/2021 and 9/21/2021, the parameter would be set to the value below.
"columnsToSearch": "%[[][[]%<Conditions><Condition PropertyName=\"PersonManagerName\" SearchValue=\"jorge posada\" Operator=\"EqualTo\" QuerySuffix=\" AND \" SearchType=\"String\"/><Condition PropertyName=\"LastLoginDate\" SearchValue=\"2022-09-21\" Operator=\"GreaterThan\" QuerySuffix=\" AND \" StartGroupString=\"\" EndGroupString=\"\" SearchType=\"DateTime\"/><Condition PropertyName=\"LastLoginDate\" SearchValue=\"2022-09-22\" Operator=\"LessThan\" QuerySuffix=\"\" SearchType=\"DateTime\"/></Conditions>"
Remarks
In the above example, columnsToSearch contains three search conditions. The API returns people matching all three conditions. Each condition includes the PropertyName to search, the SearchValue to search for, an Equality Operator, a QuerySuffix and a SearchType for the relevant data type.
Search Examples
The following examples demonstrate using IncludedProperties and conditions in columnsToSearch to query the API for a list of people matching the search conditions. Attributes returned for each record are set by the properties specified in IncludedProperties.
- Get all people with a manager named "George Smythe" who have logged in between
2025-09-21and2025-09-22. Note thatSearchTypeis set toStringfor the first condition andDateTimefor the second and third conditions.{
"IncludedProperties": ["PersonID","LastName","FirstName","Login","Email","PersonManagerName"],
"Parameters": {
"ExternalApprovalID": null,
"GroupID": null,
"Active": null,
"CompanyID": null,
"CoreIdentityID": null,
"ManagementRoleID": null,
"OrgRoleID": null,
"OrgRoleOrgZoneID": null,
"OrgZoneID": null,
"OwnerAssigneeID": null,
"PersonOrganizationStatusID": null,
"PrimaryOrgRoleOrgZoneID": null,
"SetGroupID": null,
"IsExternal": null,
"PersonUsageTypeID": null,
"Department": null,
"Company": null,
"textToSearch": "*",
"pageLength": 10,
"resourceTags": null,
"start": 0,
"totalCount": null,
"columnsToSearch": "%[[][[]%<Conditions><Condition PropertyName=\"PersonManagerName\" SearchValue=\"George Smythe\" Operator=\"EqualTo\" QuerySuffix=\" AND \" SearchType=\"String\"/><Condition PropertyName=\"LastLoginDate\" SearchValue=\"2022-09-21\" Operator=\"GreaterThan\" QuerySuffix=\" AND \" StartGroupString=\"\" EndGroupString=\"\" SearchType=\"DateTime\"/><Condition PropertyName=\"LastLoginDate\" SearchValue=\"2022-09-22\" Operator=\"LessThan\" QuerySuffix=\"\" SearchType=\"DateTime\"/></Conditions>"
}
} - Get all people with an Active status who belong to the group specified by the
GroupIDparameter.{
"IncludedProperties": ["PersonID","Active","LastName","FirstName","Login","RiskFactorTotal","LastLoginDate"],
"Parameters": {
"ExternalApprovalID": null,
"GroupID": 823237,
"Active": null,
"CompanyID": null,
"CoreIdentityID": null,
"ManagementRoleID": null,
"OrgRoleID": null,
"OrgRoleOrgZoneID": null,
"OrgZoneID": null,
"OwnerAssigneeID": null,
"PersonOrganizationStatusID": null,
"PrimaryOrgRoleOrgZoneID": null,
"SetGroupID": null,
"IsExternal": null,
"PersonUsageTypeID": null,
"Department": null,
"Company": null,
"textToSearch": "*",
"pageLength": 10,
"resourceTags": null,
"start": 0,
"totalCount": null,
"columnsToSearch": "%[[][[]%<Conditions><Condition PropertyName=\"Active\" SearchValue=\"true\" Operator=\"EqualTo\" QuerySuffix=\"\" StartGroupString=\"\" EndGroupString=\"\" Index=\"0\" SearchType=\"Boolean\"/></Conditions>"
}
} - Get all people belonging to the "Sales in Dublin" Business Role and Location.
{
"IncludedProperties": ["PersonID","Active","LastName","FirstName","Login","OrgRoleOrgZoneFriendlyName"],
"Parameters": {
"ExternalApprovalID": null,
"GroupID": null,
"Active": null,
"CompanyID": null,
"CoreIdentityID": null,
"ManagementRoleID": null,
"OrgRoleID": null,
"OrgRoleOrgZoneID": null,
"OrgZoneID": null,
"OwnerAssigneeID": null,
"PersonOrganizationStatusID": null,
"PrimaryOrgRoleOrgZoneID": null,
"SetGroupID": null,
"IsExternal": null,
"PersonUsageTypeID": null,
"Department": null,
"Company": null,
"textToSearch": "*",
"pageLength": 10,
"resourceTags": null,
"start": 0,
"totalCount": null,
"columnsToSearch": "%[[][[]%<Conditions><Condition PropertyName=\"OrgRoleOrgZoneFriendlyName\" SearchValue=\"Sales in Dublin\" Operator=\"EqualTo\" QuerySuffix=\"\" StartGroupString=\"\" EndGroupString=\"\" SearchType=\"String\"/></Conditions>"
}
}
SearchTerms
Each identity object in the EmpowerID Identity Warehouse has a SearchTerms property with a specific set of search values that can be used to return all objects matching those values. For people, SearchTerms encompass the Name, FriendlyName, Email, FirstName, LastName, and Login properties and when used, the API returns all people where the specified search value finds a match in any of those properties. For example, if the search value is set to "Jordan", the API would return all the following people:
- Any person with a first name containing the string
- Any person with a last name containing the string
- Any person with a login containing the string
- Any person with an email address containing the string
The following examples illustrate how to use SearchTerms and return a subset of people:
-
Get all people where the search value for
SearchTermsis set to "jordan."{
"IncludedProperties": [
"PersonID",
"Active",
"LastName",
"FirstName",
"Login",
"Email",
"RiskFactorTotal",
"LastLoginDate"
],
"Parameters": {
"ExternalApprovalID": null,
"GroupID": null,
"Active": null,
"CompanyID": null,
"CoreIdentityID": null,
"ManagementRoleID": null,
"OrgRoleID": null,
"OrgRoleOrgZoneID": null,
"OrgZoneID": null,
"OwnerAssigneeID": null,
"PersonOrganizationStatusID": null,
"PrimaryOrgRoleOrgZoneID": null,
"SetGroupID": null,
"IsExternal": null,
"PersonUsageTypeID": null,
"Department": null,
"Company": null,
"textToSearch": "*",
"pageLength": 10,
"resourceTags": null,
"start": 0,
"totalCount": null,
"columnsToSearch": "%[[][[]%<Conditions><Condition PropertyName=\"SearchTerms\" SearchValue=\"jordan\" Operator=\"EqualTo\" QuerySuffix=\"\" StartGroupString=\"\" EndGroupString=\"\" SearchType=\"String\"/></Conditions>"
}
}The response includes all people matching the search value. Note the properties where the match occurs.
{
"Tags": [],
"Data": [
{
"PersonID": 138016,
"Active": true,
"LastName": "Allison",
"FirstName": "Jordan",
"Login": "jordanalliso",
"Email": "jordana@greatskywest.com",
"RiskFactorTotal": 152,
"LastLoginDate": "2020-10-12T19:17:38.723"
},
{
"PersonID": 2234,
"Active": true,
"LastName": "Armitage",
"FirstName": "atinder",
"Login": "Jordana.Armitage@eidproducts.onmicrosoft.com",
"Email": "Jordana.Armitage@phdnetwork.com",
"RiskFactorTotal": 370,
"LastLoginDate": "2022-09-16T18:37:35.9"
},
{
"PersonID": 147269,
"Active": true,
"LastName": "Ballesteros",
"FirstName": "Jordan",
"Login": "jordanballe@eidproducts.onmicrosoft.com",
"Email": "jordanballe@eidproducts.onmicrosoft.com",
"RiskFactorTotal": 0,
"LastLoginDate": null
},
{
"PersonID": 131221,
"Active": true,
"LastName": "Jordan",
"FirstName": "Danny",
"Login": "dannyjordan",
"Email": "jordand@djenterprises.com",
"RiskFactorTotal": 0,
"LastLoginDate": null
},
{
"PersonID": 192191,
"Active": true,
"LastName": "Jordan",
"FirstName": "Hal",
"Login": "haljordan",
"Email": "hal@glcorps.com",
"RiskFactorTotal": 0,
"LastLoginDate": null
}
],
"OutParameters": []
} -
Get all people belonging to the "Sales in Dublin" Business Role and Location with a
SearchTermmatch equal to "Steve"{
"IncludedProperties": [
"PersonID",
"Active",
"LastName",
"FirstName",
"Login",
"Email",
"RiskFactorTotal",
"LastLoginDate"
],
"Parameters": {
"ExternalApprovalID": null,
"GroupID": null,
"Active": null,
"CompanyID": null,
"CoreIdentityID": null,
"ManagementRoleID": null,
"OrgRoleID": null,
"OrgRoleOrgZoneID": null,
"OrgZoneID": null,
"OwnerAssigneeID": null,
"PersonOrganizationStatusID": null,
"PrimaryOrgRoleOrgZoneID": null,
"SetGroupID": null,
"IsExternal": null,
"PersonUsageTypeID": null,
"Department": null,
"Company": null,
"textToSearch": "*",
"pageLength": 10,
"resourceTags": null,
"start": 0,
"totalCount": null,
"columnsToSearch": "%[[][[]%<Conditions><Condition PropertyName=\"OrgRoleOrgZoneFriendlyName\" SearchValue=\"Sales in Dublin\" Operator=\"EqualTo\" QuerySuffix=\" AND \" StartGroupString=\"\" EndGroupString=\"\" Index=\"0\" SearchType=\"String\"/><Condition PropertyName=\"SearchTerms\" SearchValue=\"Steve\" Operator=\"EqualTo\" QuerySuffix=\"\" StartGroupString=\"\" EndGroupString=\"\" Index=\"0\" SearchType=\"String\"/></Conditions>"
}
} -
Get all people where the
SearchValueof theSearchTermis an email address containing "contractors"
When using SearchTerms, filter to specific text in supported properties.
"%[[][[]%<Conditions><Condition PropertyName="SearchTerms" SearchValue="Email_*contractors" Operator="EqualTo" QuerySuffix=" " StartGroupString="" EndGroupString="" Index="0" SearchType="String"/></Conditions>"
For SearchTerms, the syntax for SearchValue is Property_TextToSearch. Include wildcards to broaden results. Without wildcards, the API matches values that begin with the exact text. For example, the above search returns all people whose Email contains contractors. If not using wildcards, the API returns people where the value of the property begins with an exact match.
Sample Responses
- 200
- 401
- 500
{
"Tags": [],
"Data": [
{
"PersonID": 138016,
"Active": true,
"LastName": "Allison",
"FirstName": "Jordan",
"Login": "jordanalliso",
"Email": "jordana@greatskywest.com",
"RiskFactorTotal": 152,
"LastLoginDate": "2020-10-12T19:17:38.723"
},
{
"PersonID": 2234,
"Active": true,
"LastName": "Armitage",
"FirstName": "atinder",
"Login": "Jordana.Armitage@eidproducts.onmicrosoft.com",
"Email": "Jordana.Armitage@phdnetwork.com",
"RiskFactorTotal": 370,
"LastLoginDate": "2022-09-16T18:37:35.9"
},
{
"PersonID": 147269,
"Active": true,
"LastName": "Ballesteros",
"FirstName": "Jordan",
"Login": "jordanballe@eidproducts.onmicrosoft.com",
"Email": "jordanballe@eidproducts.onmicrosoft.com",
"RiskFactorTotal": 0,
"LastLoginDate": null
},
{
"PersonID": 131221,
"Active": true,
"LastName": "Jordan",
"FirstName": "Danny",
"Login": "dannyjordan",
"Email": "jordand@djenterprises.com",
"RiskFactorTotal": 0,
"LastLoginDate": null
},
{
"PersonID": 192191,
"Active": true,
"LastName": "Jordan",
"FirstName": "Hal",
"Login": "haljordan",
"Email": "hal@glcorps.com",
"RiskFactorTotal": 0,
"LastLoginDate": null
}
],
"OutParameters": []
}
{ "error": "Unauthorized" }
{ "error": "Internal Server Error" }
Person Properties
The below table includes Person Properties that can be added to IncludedProperties.
| Property | Type | Returns |
|---|---|---|
| PersonID | int | The PersonID of the person |
| FriendlyName | string | The Friendly Name of the person |
| Name | string | The full name of the person |
| Login | string | The EmpowerID login for the person |
string | The email address of the personnull if empty | |
| EmailAlias | string | The email alias of the personnull if empty |
| PersonalEmail | string | The personal email address of the personnull if empty |
| ResourceID | int | The ResourceID of the person |
| PrimaryOrgRoleOrgZoneID | int | The ID of the person's primary Business Role and Location |
| PersonGUID | string | The unique identifier for the person |
| Active | Boolean | True or False |
| PersonalTitle | string | The personal titlenull if empty |
| FirstName | string | The person's first name |
| MiddleName | string | The person's middle namenull if empty |
| LastName | string | The person's last name |
| SecondLastName | string | The person's second last namenull if empty |
| GenerationalSuffix | string | The person's generational suffixnull if empty |
| BirthName | string | The person's birth namenull if empty |
| Initials | string | The person's initialsnull if empty |
| Title | string | The person's titlenull if empty |
| AboutMe | string | The information in the AboutMe field of a personnull if empty |
| StreetAddress | string | The person's street addressnull if empty |
| StreetAddress2 | string | The second line of street addressnull if empty |
| City | string | The person's citynull if empty |
| State | string | The person's statenull if empty |
| PostalCode | string | The person's postal codenull if empty |
| Country | string | The person's countrynull if empty |
| Province | string | The person's provincenull if empty |
| Company | string | The person's companynull if empty |
| Division | string | The person's divisionnull if empty |
| Department | string | The person's departmentnull if empty |
| DepartmentNumber | string | The person's department numbernull if empty |
| Office | string | The person's officenull if empty |
| POBox | string | The person's Post Office Boxnull if empty |
| Location | string | The person's locationnull if empty |
| SocialSecurityNumber | string | The person's Social Security Numbernull if empty |
| NationalIdentificationNumber | string | The person's National Identification Numbernull if empty |
| CarLicense | string | The person's vehicle license plate numbernull if empty |
| DriversLicenseNumber | string | The person's driver's license numbernull if empty |
| Ethnicity | string | The person's ethnicitynull if empty |
| Gender | string | The person's gendernull if empty |
| District | string | The District for the personnull if empty |
| Assistant | string | The name of the assistant for the personnull if empty |
| PhotoURL | string | The Photo URL for the personnull if empty |
| IMAddress | string | The IM address for the personnull if empty |
| SIPAddress | string | The SIP address for the personnull if empty |
| IdentityURL | string | The Identity URL for a personnull if empty |
| URLPersonal | string | The Personal URL for a personnull if empty |
| URLBusiness | string | The Business URL for a personnull if empty |
| URLOWA | string | The OWA URL for a personnull if empty |
| Telephone | string | The telephone number for the personnull if empty |
| MobilePhone | string | The mobile phone number for the personnull if empty |
| BusinessPhone | string | The business phone number for the personnull if empty |
| Pager | string | The pager number for the personnull if empty |
| HomeTelephone | string | The home telephone number for the personnull if empty |
| FAX | string | The fax number of a personnull if empty |
| Notes | string | Notes about a personnull if empty |
| MustChangePasswordOnNextLogin | Boolean | Specifies whether the person must change their password on their next loginTrue or False |
| LastLoginDate | DateTime | Date the person last logged in |
| LastPasswordChangedDate | DateTime | Date the person's password was changed |
| FirstLoginFailedAttempt | DateTime | Date of the first login failure for the personnull if empty |
| FailedLoginAttemptsCount | int | Number of failed login attempts for the person0 if no failed attempts |
| DisableSSOLogin | Boolean | Specifies whether the person can login via SSOTrue or False |
| LockedUntil | DateTime | Date the person is locked out of the system due to login failuresnull if empty |
| Description | string | Description of the personnull if empty |
| ValidFrom | DateTime | Date the person account became validnull if empty |
| ValidUntil | DateTime | Date the person account becomes invalidnull if empty |
| DateOfBirth | DateTime | Birth date of the personnull if empty |
| CityOfBirth | string | Birth city of the personnull if empty |
| CountryOfBirth | string | Birth country of the personnull if empty |
| NationID | int | Nation ID of the personnull if empty |
| IsOutOfOffice | Boolean | Specifies the Out Of Office status of the personTrue or False |
| EmployeeID | string | Employee ID of the personnull if empty |
| EmployeeIDOther | string | Secondary Employee ID of the personnull if empty |
| ManagerPersonID | int | PersonID of the person's managernull if empty |
| EmployeeType | string | The person's Employee typenull if empty |
| EmployeeTypeOther | string | The person's Secondary Employee typenull if empty |
| MobilePhoneProviderID | int | The ID of the person's mobile phone providernull if empty |
| Status | string | The person's account statusActive or Disabled |
| LocaleID | int | LocaleID of the person's Localenull if empty |
| ProfileManagerLastUpdated | DateTime | The date the person's profile was last updatednull if empty |
| OrgRoleOrgZoneFriendlyName | string | The Friendly Name of the person's Business Role and Location |
| CoreIdentityID | int | The ID of the Core Identity linked to the person |
| PersonProofingStatusFriendlyName | string | The status of the person's proofing status |
| PersonManagerName | string | The name of the person's manager |
| TimeConstrain | XML | Time constraint data for the person XML format |
| TimeConstraintActive | Boolean | Specifies whether an active time constraint exists for the personTrue or False |
| AllowLogin | Boolean | Specifies whether the person can log inTrue or False |
| AllowPasswordOperations | Boolean | Specifies whether the person can update their passwordsTrue or False |
| AllowAttributeSync | Boolean | Specifies whether attribute sync is allowed between the person account and any owned external user accountsTrue or False |
| AllowOrgRoleOrgZoneReEval | Boolean | Specifies whether the Business Role and Location of the person can be re-evaluatedTrue or False |
| LogonNameBeforeDeleted | string | The logon name before the person was deletednull if empty |