All Personnel Events¶
Endpoint: GET /api/personnel-events
Description: Returns a paginated list of personnel events, ordered by effective date descending.
Query Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
page |
integer | No | Page number (1-based). Default: 1. |
identityId |
string (GUID) | No | Filter by the affected identity. |
type |
string | No | Filter by event type. Values: Onboard, Offboard, RoleTransition, Absence. Case-insensitive. Spaces are stripped before matching (e.g., Role Transition is accepted). |
status |
string | No | Filter by status. Values: Pending, Open, Resolved, Completed, Canceled, Scheduled, Snoozed. Case-insensitive. |
Response Attributes¶
| Field | Type | Description |
|---|---|---|
items |
array[object] | The result set for the current page. |
items[].id |
string (GUID) | Unique identifier of the personnel event. |
items[].kind |
string | Resource type. Always Personnel Event. |
items[].number |
integer | Sequential personnel event number. |
items[].type |
string | Event type. Values: Onboard, Offboard, Role Transition, Absence. |
items[].status |
string | Current status. Values: Pending, Open, Resolved, Completed, Canceled, Scheduled, Snoozed. |
items[].reporter |
object | The user who created the personnel event. |
items[].reporter.id |
string (GUID) | Reporter identity ID. |
items[].reporter.name |
string | Reporter display name. |
items[].assignee |
object | The identity assigned to manage the event. null if unassigned. |
items[].assignee.id |
string (GUID) | Assignee identity ID. |
items[].assignee.name |
string | Assignee display name. |
items[].affectedIdentity |
object | The identity affected by this event. Full identity representation. |
items[].affectedIdentity.id |
string (GUID) | Identity ID. |
items[].affectedIdentity.kind |
string | Always Identity. |
items[].affectedIdentity.firstName |
string | First name. |
items[].affectedIdentity.lastName |
string | Last name. |
items[].affectedIdentity.emailAddress |
string | Email address. |
items[].affectedIdentity.type |
string | Identity type. |
items[].affectedIdentity.title |
string | Job title. |
items[].affectedIdentity.company |
string | Company name. |
items[].affectedIdentity.division |
string | Division name. |
items[].affectedIdentity.department |
string | Department name. |
items[].affectedIdentity.office |
string | Office location. |
items[].affectedIdentity.supervisorName |
string | Supervisor display name. |
items[].affectedIdentity.createdDate |
string (ISO 8601) | Source system created date. |
items[].affectedIdentity.updatedDate |
string (ISO 8601) | Source system updated date. |
items[].affectedIdentity.firstSeenDate |
string (ISO 8601) | First import date. |
items[].affectedIdentity.inactivatedDate |
string (ISO 8601) | Inactivation date. |
items[].affectedIdentity.status |
string | Identity status. |
items[].neededOn |
string (ISO 8601) | Effective date of the event. |
items[].neededUntil |
string (ISO 8601) | End date. null if not applicable. |
items[].completedOn |
string (ISO 8601) | Date the event was completed. null if not completed. |
totalCount |
integer | Total matching results across all pages. |
page |
integer | Current page number. |
pageSize |
integer | Number of results per page. Always 50. |
totalPages |
integer | Total number of pages. |
Sample Response¶
{
"items": [
{
"id": "e5f6a7b8-c9d0-1234-5678-9abcdef01234",
"kind": "Personnel Event",
"number": 312,
"type": "Onboard",
"status": "Completed",
"reporter": {
"id": "c4d5e6f7-a8b9-0123-4567-89abcdef0123",
"name": "API Token - HR Integration"
},
"assignee": {
"id": "e6f7a8b9-c0d1-2345-6789-abcdef012345",
"name": "Williams, James"
},
"affectedIdentity": {
"id": "d4a7e2b1-3f5c-4a8d-9e6b-1c2d3e4f5a6b",
"kind": "Identity",
"firstName": "Sarah",
"lastName": "Chen",
"emailAddress": "schen@firstbankofvalkyrie.com",
"type": "Employee",
"title": "Senior Loan Officer",
"company": "First Bank of Valkyrie",
"division": "Commercial Lending",
"department": "Business Loans",
"office": "Fargo Main",
"supervisorName": "Martinez, Robert",
"createdDate": "2023-03-15T14:30:00Z",
"updatedDate": "2025-11-20T09:15:00Z",
"firstSeenDate": "2023-03-16T02:00:00Z",
"inactivatedDate": null,
"status": "Active"
},
"neededOn": "2023-03-15T00:00:00Z",
"neededUntil": null,
"completedOn": "2023-03-17T16:00:00Z"
}
],
"totalCount": 312,
"page": 1,
"pageSize": 50,
"totalPages": 7
}