The Perform & Engage 365 API enables you to:
- Get a list of questions.
- Get the details of a particular question by its ID.
- Get a list of responses to a particular question.
- Get the details of a particular response by its ID.
Get a list of questions
GET /api/v2/questions/
This request enables you to get a list of questions.
Optional query parameters
- limit (integer). The maximum number of questions in the response.
- offset (integer). The initial index from which the results are returned in the response.
Request example
GET /api/v2/questions/
Response body parameters
The response body includes:
- count (integer). The number of results.
- next and previous (strings). URLs to the next and previous pages (if you used pagination in the original request).
-
results (array). The list of questions. Each question has these parameters:
- api_id (string). The question ID. You can use this ID to get more details about the question.
- text (string). The question text.
-
type (string). The question type. The possible types are:
- choice: an employee chooses between one or several options.
- rating: an employee chooses the rating within the number range, for example, from 1 to 10.
- text: an employee provides an answer as a text.
- yes/no: yes/no questions.
- recognition: an employee provides an answer as a text where they can mention other colleagues.
- choices (array). For the choice question type, the array contains a list of possible choices. Each choice has the api_id and text string parameters. For other question types, the array is empty.
Response body example
The successful 200 response returns the body similar to this:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"api_id": "580:396cd5f1-d52b-4cfc-bcc6-610e17697a86",
"text": "How easily do you find communicating with
colleagues when remote working?",
"type": "choice",
"choices": [
{
"api_id": "580:5f48d723-9987-4b04-9d8e-716dfc1ef704",
"text": "Very difficult"
},
{
"api_id": "580:8aec8072-b434-4108-8c66-f5dcf00e7681",
"text": " Difficult"
},
{
"api_id": "580:4a05e53f-1414-4d43-8c8a-2f3f34e88e33",
"text": " Not sure"
},
{
"api_id": "580:f96620ed-830c-4679-9702-0d4a925653cc",
"text": " Easy"
},
{
"api_id": "580:edb008f6-4322-4bc4-90f8-3aea07532762",
"text": " Very Easy"
}
]
}
]
}
Get the details of a particular question by its ID
GET api/v2/questions/{api_id}/
After getting the question api_id in the response to the previous request, you can use this ID to get information about the question.
Required path parameter
- api_id (string). The question ID you can get by sending the GET /api/v2/questions/ request.
Request example
GET /api/v2/questions/580%3A396cd5f1-d52b-4cfc-bcc6-610e17697a86
Response body parameters
The GET api/v2/questions/{api_id}/ response includes the same parameters as the results array in the GET /api/v2/questions/ response.
Response body example
The successful 200 response returns the body similar to this:
{
"api_id": "580:396cd5f1-d52b-4cfc-bcc6-610e17697a86",
"text": "How easily do you find communicating with colleagues
when remote working?",
"type": "choice",
"choices": [
{
"api_id": "580:5f48d723-9987-4b04-9d8e-716dfc1ef704",
"text": "Very difficult"
},
{
"api_id": "580:8aec8072-b434-4108-8c66-f5dcf00e7681",
"text": " Difficult"
},
{
"api_id": "580:4a05e53f-1414-4d43-8c8a-2f3f34e88e33",
"text": " Not sure"
},
{
"api_id": "580:f96620ed-830c-4679-9702-0d4a925653cc",
"text": " Easy"
},
{
"api_id": "580:edb008f6-4322-4bc4-90f8-3aea07532762",
"text": " Very Easy"
}
]
}
Get a list of responses to a particular question
GET /api/v2/questions/{question_api_id}/responses/
This request enables you to get a list of responses to a particular question.
Required path parameter
- question_api_id (string). The question ID you can get by sending the GET /api/v2/questions/ request.
Optional query parameters
- date_from (string). The response date starting from which the responses are returned. The format is yyyy-mm-dd.
- date_to (string). The response date by which the responses are returned. The format is yyyy-mm-dd.
- department (string). The department to which the employee belongs.
- manager_email (string). The email address of the employee’s manager.
- manager_name (string). The full name of the employee’s manager.
- person_email (string). The employee’s email address.
- person_name (string). The employee’s full name.
- limit (integer). The maximum number of responses in the API response.
- offset (integer). The initial index from which the results are returned in the API response.
Request example
GET /api/v2/questions/580%3A396cd5f1-d52b-4cfc-bcc6-610e17697a86/ responses/?date_from=2025-01-25&department=Research%20and%20Development& manager_name=Joanne%20Stefani&person_name=Michael%20Test
Response body parameters
The response body includes:
- count (integer). The number of results.
- next and previous (strings). URLs to the next and previous pages (if you used pagination in the original request).
-
results (array). The list of responses. Each response has these parameters:
- api_id (string). The response ID. You can use this ID to get more details about the response.
- response_date (string). The date and time of the response.
- person_name (string). The employee’s full name.
- person_api_id (string). The employee’s ID.
- person_email (string). The employee’s email address.
- person_department (string). The department to which the employee belongs.
- person_properties (array). The array contains the employee’s properties as the name and value pair of string parameters. For example, it could be the employee’s role at the company.
Response body example
The successful 200 response returns the body similar to this:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"api_id": "580:96537590-1b02-4fe9-bf57-0d0932c5141a",
"response_date": "2024-07-12T05:55:59.654671+01:00",
"person_name": "Employee Person",
"person_api_id": "580:cf9cc7db-36a9-4b1c-b530-15c3f3d02926",
"person_email": "adelevance+employee@test.com",
"person_department": "Human Resources",
"person_properties": [
{
"name": "Role",
"value": "People and Culture Manager"
}
]
}
]
}
Get the details of a particular response by its ID
GET api/v2/questions/{api_id}/responses/{api_id}/
After getting the api_id of a response to a particular question in the response to the previous request, you can use this ID to get information about the response to the question.
Required path parameters
- api_id (string). The response ID you can get by sending the GET /api/v2/{question_api_id}/responses/ request.
- question_api_id (string). The question ID you can get by sending the GET /api/v2/questions/ request.
Request example
GET /api/v2/questions/580%3A5750042d-0076-4c67-bac0-d7900a2cfbd4/responses/ 580%3A96537590-1b02-4fe9-bf57-0d0932c5141a
Response body parameters
The GET api/v2/questions/{api_id}/responses/{api_id}/ response includes the same parameters as the results array in the GET /api/v2/questions/{question_api_id}/responses/ response.
Response body example
The successful 200 response returns the body similar to this:
{
"api_id": "580:96537590-1b02-4fe9-bf57-0d0932c5141a",
"response_date": "2024-07-12T05:55:59.654671+01:00",
"person_name": "Employee Person",
"person_api_id": "580:cf9cc7db-36a9-4b1c-b530-15c3f3d02926",
"person_email": "adelevance+employee@test.com",
"person_department": "Human Resources",
"person_properties": [
{
"name": "Role",
"value": "People and Culture Manager"
}
]
}
Comments
Article is closed for comments.