This API allows clients to read and write users to Perform & Engage 365.
Throughout the API an 'api_id' is used. This can be specified by the client when creating a new user via the API, if one is not specified during creation or a user is created via a different method (i.e. the user interface) then the API ID can be obtained by querying the API.
Departments can be created and managed using the Directory API: Departments endpoints.
Person Properties appear within the 'properties' property.
GET /users/
List all employees in this organisation.
Parameters
search: string | A search tem |
limit: integer | Number of results to return per page |
offset: integer |
The initial index from which to return results |
The offset should be used when using pagination of results.
Response
Returns an object including a list of Users.
{
count: integer,
next: string (uri),
previous: string (uri),
results: [
{
api_id: string,
is_active: boolean,
department_api_id: string,
department_2_api_id: string,
department_3_api_id: string,
department_4_api_id: string,
manager_api_id: string,
first_name: string,
last_name: string,
email: string,
language: string[en_gb, en_US, fr_FR, nl_NL],
follower_api_ids: string[],
properties: {
person_property_1: string,
person_property_2: string,
....
}
]
}
Results contains all static user properties. In addition, the 'properties' object contains key, value pairs of all defined person properties for this user. Where no property has been set this will return null. Person Properties are defined per organisation.
POST /users/
Add a new employee to this Perform & Engage 365 organisation.
Parameters
None
Request Body
{
api_id: string,
is_active: boolean,
department_api_id: string,
department_2_api_id: string,
department_3_api_id: string,
department_4_api_id: string,
manager_api_id: string,
first_name: string,
last_name: string,
email: string,
language: string,
follower_api_ids: string[],
properties: {
person_property_1: string,
person_property_2: string,
....
}
}
Response
Returns an object including a list of Users.
{
api_id: string,
is_active: boolean,
department_api_id: string,
department_2_api_id: string,
department_3_api_id: string,
department_4_api_id: string,
manager_api_id: string,
first_name: string,
last_name: string,
email: string,
language: string,
follower_api_ids: string[],
properties: {
person_property_1: string,
person_property_2: string,
....
}
}
GET /users/{ api_id }/
Get information for one user in this organisation.
Parameters
None
Response
Returns an object for this specific user.
{
api_id: string,
is_active: boolean,
department_api_id: string,
department_2_api_id: string,
department_3_api_id: string,
department_4_api_id: string,
manager_api_id: string,
first_name: string,
last_name: string,
email: string,
language: string[en_gb, en_US, fr_FR, nl_NL],
follower_api_ids: string[],
properties: {
person_property_1: string,
person_property_2: string,
....
}
}
PUT:PATCH /users/{ api_id }/
Update or partially update a user's details.
Parameters
None
Request Body
{
api_id: string,
is_active: boolean,
department_api_id: string,
department_2_api_id: string,
department_3_api_id: string,
department_4_api_id: string,
manager_api_id: string,
first_name: string,
last_name: string,
email: string,
language: string,
follower_api_ids: string[].
properties: {
person_property_1: string,
person_property_2: string,
....
}
}
Response
Returns an object with the updated user's details.
{
api_id: string,
is_active: boolean,
department_api_id: string,
department_2_api_id: string,
department_3_api_id: string,
department_4_api_id: string,
manager_api_id: string,
first_name: string,
last_name: string,
email: string,
language: string,
follower_api_ids: string[],
properties: {
person_property_1: string,
person_property_2: string,
....
}
}
DELETE /users/{ api_id }/
Delete a user's record from the organisation.
Parameters
None
Request
None
Response
None