18 endpoints

# Employees

Employee records, org chart, change history, offboarding, and emergency contacts.

GET`/employees`List EmployeesGet a paginated list of employees scoped by the authenticated user's access level (own/team/dept/location/all).

GET`/employees/search`Search EmployeesOptimised autocomplete search by name, email, or employee number. Returns up to 50 results.

GET`/employees/changes`Company-wide Change HistoryView field change history across all employees (company scoped). Sourced from audit_logs.

GET`/employees/org-chart`Organisation ChartGet company structure as a hierarchical tree (employees → managers → direct reports).

POST`/employees`Create EmployeeCreate a new employee record. Uses abbreviated API keys (fn, ln, jt etc.).

GET`/employees/{uuid}`Get EmployeeGet full details for a single employee by UUID.

PUT`/employees/{uuid}`Update EmployeeUpdate an employee record. All fields are optional (partial update supported).

PATCH`/employees/{uuid}`Partial Update EmployeeSparse update for a single employee (same fields as PUT but any subset).

PATCH`/employees/bulk`Bulk Update EmployeesUpdate up to 50 employees in a single request. Pass an array of objects each containing uuid and the fields to update.

DELETE`/employees/{uuid}`Delete EmployeeSoft-delete an employee. Sets employee_deleted_at. The record is kept for audit purposes.

GET`/employees/{uuid}/changes`Employee Change HistoryView the full change history for a specific employee. Filterable by field and date range.

GET`/employees/{uuid}/offboarding-preview`Offboarding PreviewEverything needed to confirm a leaver before anything is changed: the pro-rated holiday position for the leave year the end date falls in (entitlement to date, used, booked, days to settle), leave that would be cancelled, assets still assigned, and the logins that would be deactivated. Read-only. Requires employee.offboard.

POST`/employees/{uuid}/offboard`Offboard EmployeeConfirms an offboarding. Sets the status to terminated and records the last working day, notice date and holiday settlement, cancels leave booked after the last working day, recalculates the balance, and deactivates the linked login unless deactivate_user is false. Requires employee.offboard.

GET`/employees/{uuid}/gdpr-export`GDPR Data ExportExport all personally identifiable information held for an employee (GDPR right of access). Returns a structured JSON document.

GET`/employees/{uuid}/emergency-contacts`List Emergency ContactsGet all emergency contacts for an employee.

POST`/employees/{uuid}/emergency-contacts`Add Emergency ContactAdd a new emergency contact for an employee.

PUT`/employees/{uuid}/emergency-contacts/{contact_uuid}`Update Emergency ContactUpdate an emergency contact.

DELETE`/employees/{uuid}/emergency-contacts/{contact_uuid}`Delete Emergency ContactRemove an emergency contact.

---

**URL:** https://cube-hr.co.uk/docs/employees
