Skip to content

List payroll anomalies

GET/payroll/anomalies

Returns all detected payroll anomalies for the tenant. Anomalies are automatically flagged during payroll calculation (e.g. implausible overtime, duplicate time events, negative net pay, missing bank details). All open anomalies must be resolved before a payroll run can be approved.

Request

Query parameters

NameTypeRequiredDescription
statusstringNo

Filter by anomaly resolution status. Defaults to "open".

One of: "open", "resolved", "dismissed"

run_idintegerNo

Filter anomalies belonging to a specific payroll run.

Responses

200 List of payroll anomalies

Content type application/json, array of object · PayrollAnomalyV1.

FieldTypeRequiredDescription
idintegerNo
employee_idinteger, nullableNo
run_idinteger, nullableNo
typestringNo

Machine-readable anomaly type code (e.g. "overtime_implausible", "negative_net_pay").

descriptionstringNo

Human-readable description of the detected issue.

statusstringNo

One of: "open", "resolved", "dismissed"

severitystringNo

Severity classification of the anomaly.

One of: "info", "medium", "high", "critical"

resolution_notesstring, nullableNo
detected_atstring (date-time)No
resolved_atstring (date-time), nullableNo

Example

[
  {
    "id": 5,
    "employee_id": 42,
    "run_id": 14,
    "type": "overtime_implausible",
    "description": "Employee 42 has 68 hours logged this week — exceeds 60-hour weekly cap.",
    "status": "open",
    "severity": "high",
    "detected_at": "2026-04-08T09:30:00Z"
  }
]

Example request

curl -X GET "https://{tenant}.faciotech.net/api/v1/payroll/anomalies" \
  -H "Accept: application/json"
Loading