Skip to main content

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

KeyValue
AuthorizationBearer /
X-EmpowerID-API-KeyThe API key from the registered OAuth application
Content-Typeapplication/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
ParameterTypeDescription
ActiveBooleanSet to true (1) to return only people with active accounts
Set to false (0) to return only people with disabled accounts
Set to null to ignore
Required
CompanystringSet to a specific company name to filter the call to only return people with a matching Company attribute
Set to null to ignore
Required
CompanyIDintSet to the ID of a specific company to filter the call to only return people with a matching Company attribute
Set to null to ignore
Required
CoreIdentityIDintSet to the ID of the CoreIdentity to filter the call to only return people with a matching Core Identity
Set to null to ignore
Required
DepartmentstringSet to a specific department name to filter the call to only return people with a matching Department attribute
Set to null to ignore
Required
ExternalApprovalIDintSet to the ID of the external approval to filter results
Set to null to ignore
Required
GroupIDintSet to the ID of the group to filter results
Set to null to ignore
Required
IsExternalBooleanSet to filter for external users
Set to null to ignore
Required
ManagementRoleIDintSet to the ID of the management role to filter results
Set to null to ignore
Required
OrgRoleIDintSet to the ID of the organization role to filter results
Set to null to ignore
Required
OrgRoleOrgZoneIDintSet to the ID of the organization role zone to filter results
Set to null to ignore
Required
OrgZoneIDintSet to the ID of the organization zone to filter results
Set to null to ignore
Required
OwnerAssigneeIDintSet to the ID of the owner assignee to filter results
Set to null to ignore
Required
PersonOrganizationStatusIDintSet to the ID of the person organization status to filter results
Set to null to ignore
Required
PersonUsageTypeIDintSet to the ID of the person usage type to filter results
Set to null to ignore
Required
PrimaryOrgRoleOrgZoneIDintSet to the ID of the primary organization role zone to filter results
Set to null to ignore
Required
SetGroupIDintSet to the ID of the set group to filter results
Set to null to ignore
Required
columnsToSearchstringSpecifies 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
textToSearchstringCan be set to "*" or "AdvancedSearch"
Required
pageLengthintSpecifies the number of people to return in the list
Required
resourceTagsstringReturn people with a matching resource tag
Required
startintSpecifies the first person in the list of people returned by the API; set to 0 to return the first person
Required
totalCountintThis is an output parameter that returns the number of people matching the search conditions and parameter values
Set to null
Required

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.

  1. Get all people with a manager named "George Smythe" who have logged in between 2025-09-21 and 2025-09-22. Note that SearchType is set to String for the first condition and DateTime for 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>"
    }
    }
  2. Get all people with an Active status who belong to the group specified by the GroupID parameter.
    {
    "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>"
    }
    }
  3. 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:

  1. Get all people where the search value for SearchTerms is 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": []
    }
  2. Get all people belonging to the "Sales in Dublin" Business Role and Location with a SearchTerm match 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>"
    }
    }
  3. Get all people where the SearchValue of the SearchTerm is an email address containing "contractors"

info

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

{
"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": []
}

Person Properties

The below table includes Person Properties that can be added to IncludedProperties.

PropertyTypeReturns
PersonIDintThe PersonID of the person
FriendlyNamestringThe Friendly Name of the person
NamestringThe full name of the person
LoginstringThe EmpowerID login for the person
EmailstringThe email address of the person
null if empty
EmailAliasstringThe email alias of the person
null if empty
PersonalEmailstringThe personal email address of the person
null if empty
ResourceIDintThe ResourceID of the person
PrimaryOrgRoleOrgZoneIDintThe ID of the person's primary Business Role and Location
PersonGUIDstringThe unique identifier for the person
ActiveBooleanTrue or False
PersonalTitlestringThe personal title
null if empty
FirstNamestringThe person's first name
MiddleNamestringThe person's middle name
null if empty
LastNamestringThe person's last name
SecondLastNamestringThe person's second last name
null if empty
GenerationalSuffixstringThe person's generational suffix
null if empty
BirthNamestringThe person's birth name
null if empty
InitialsstringThe person's initials
null if empty
TitlestringThe person's title
null if empty
AboutMestringThe information in the AboutMe field of a person
null if empty
StreetAddressstringThe person's street address
null if empty
StreetAddress2stringThe second line of street address
null if empty
CitystringThe person's city
null if empty
StatestringThe person's state
null if empty
PostalCodestringThe person's postal code
null if empty
CountrystringThe person's country
null if empty
ProvincestringThe person's province
null if empty
CompanystringThe person's company
null if empty
DivisionstringThe person's division
null if empty
DepartmentstringThe person's department
null if empty
DepartmentNumberstringThe person's department number
null if empty
OfficestringThe person's office
null if empty
POBoxstringThe person's Post Office Box
null if empty
LocationstringThe person's location
null if empty
SocialSecurityNumberstringThe person's Social Security Number
null if empty
NationalIdentificationNumberstringThe person's National Identification Number
null if empty
CarLicensestringThe person's vehicle license plate number
null if empty
DriversLicenseNumberstringThe person's driver's license number
null if empty
EthnicitystringThe person's ethnicity
null if empty
GenderstringThe person's gender
null if empty
DistrictstringThe District for the person
null if empty
AssistantstringThe name of the assistant for the person
null if empty
PhotoURLstringThe Photo URL for the person
null if empty
IMAddressstringThe IM address for the person
null if empty
SIPAddressstringThe SIP address for the person
null if empty
IdentityURLstringThe Identity URL for a person
null if empty
URLPersonalstringThe Personal URL for a person
null if empty
URLBusinessstringThe Business URL for a person
null if empty
URLOWAstringThe OWA URL for a person
null if empty
TelephonestringThe telephone number for the person
null if empty
MobilePhonestringThe mobile phone number for the person
null if empty
BusinessPhonestringThe business phone number for the person
null if empty
PagerstringThe pager number for the person
null if empty
HomeTelephonestringThe home telephone number for the person
null if empty
FAXstringThe fax number of a person
null if empty
NotesstringNotes about a person
null if empty
MustChangePasswordOnNextLoginBooleanSpecifies whether the person must change their password on their next login
True or False
LastLoginDateDateTimeDate the person last logged in
LastPasswordChangedDateDateTimeDate the person's password was changed
FirstLoginFailedAttemptDateTimeDate of the first login failure for the person
null if empty
FailedLoginAttemptsCountintNumber of failed login attempts for the person
0 if no failed attempts
DisableSSOLoginBooleanSpecifies whether the person can login via SSO
True or False
LockedUntilDateTimeDate the person is locked out of the system due to login failures
null if empty
DescriptionstringDescription of the person
null if empty
ValidFromDateTimeDate the person account became valid
null if empty
ValidUntilDateTimeDate the person account becomes invalid
null if empty
DateOfBirthDateTimeBirth date of the person
null if empty
CityOfBirthstringBirth city of the person
null if empty
CountryOfBirthstringBirth country of the person
null if empty
NationIDintNation ID of the person
null if empty
IsOutOfOfficeBooleanSpecifies the Out Of Office status of the person
True or False
EmployeeIDstringEmployee ID of the person
null if empty
EmployeeIDOtherstringSecondary Employee ID of the person
null if empty
ManagerPersonIDintPersonID of the person's manager
null if empty
EmployeeTypestringThe person's Employee type
null if empty
EmployeeTypeOtherstringThe person's Secondary Employee type
null if empty
MobilePhoneProviderIDintThe ID of the person's mobile phone provider
null if empty
StatusstringThe person's account status
Active or Disabled
LocaleIDintLocaleID of the person's Locale
null if empty
ProfileManagerLastUpdatedDateTimeThe date the person's profile was last updated
null if empty
OrgRoleOrgZoneFriendlyNamestringThe Friendly Name of the person's Business Role and Location
CoreIdentityIDintThe ID of the Core Identity linked to the person
PersonProofingStatusFriendlyNamestringThe status of the person's proofing status
PersonManagerNamestringThe name of the person's manager
TimeConstrainXMLTime constraint data for the person
XML format
TimeConstraintActiveBooleanSpecifies whether an active time constraint exists for the person
True or False
AllowLoginBooleanSpecifies whether the person can log in
True or False
AllowPasswordOperationsBooleanSpecifies whether the person can update their passwords
True or False
AllowAttributeSyncBooleanSpecifies whether attribute sync is allowed between the person account and any owned external user accounts
True or False
AllowOrgRoleOrgZoneReEvalBooleanSpecifies whether the Business Role and Location of the person can be re-evaluated
True or False
LogonNameBeforeDeletedstringThe logon name before the person was deleted
null if empty