Skip to content

Payroll

The Payroll endpoints implement a bi-directional flow between an external payroll system and Dyflexis:

  • Payroll → Dyflexis (employee sync). The payroll system is typically the source of truth for the workforce. Employee and contract data can be synced from the payroll system into Dyflexis so that scheduling, time-tracking, and absence administration all operate on the same employee master that payroll uses. The endpoints for this direction live under Employees and Employment contracts.
  • Dyflexis → Payroll (confirmed hours). Once a payroll period closes in Dyflexis, Dyflexis makes all confirmed hour information for that period, aggregated per day and per department, available for the payroll system to pick up and process. Each finalised period is published on a queue you poll and acknowledge, so no period is missed or processed twice.

Concretely, this resource exposes hours aggregated per day and per department for a payroll period, the queue of finalised payroll periods waiting to be picked up by an external payroll system, and the wage components that periods produce.

Typical export flow (Dyflexis → Payroll):

  1. Poll GET /api2/payroll/queue/from/{lastQueueId} for new items.
  2. For each item, fetch the period hours from GET /api/payroll/v3/hours-per-day/... or GET /api/payroll/v3/hours-per-department/....
  3. Acknowledge the item with POST /api2/payroll/queue/{queueId}/status.

List payroll employees

Request

Requires scope: payroll.

Fetches all active employees and their contracts. Returns up to 100 employees per page.

Security
apiKey(Required scopes: payroll)
Query
pageinteger, >= 1

Page number of the paginated result set. The first page is 1.

Default:1
includeInactiveboolean

Also include inactive employees

Example:includeInactive=true
curl -i -X GET \
  'https://beta-developer.dyflexis.com/_mock/openapi/api/payroll/v3/employees?page=1&includeInactive=true' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
pageCountinteger

number of pages

Example:100
employeesArray of objects
Response
{ "_links": { "self": {}, "next": {}, "prev": {}, "first": {}, "last": {} }, "pageCount": 100, "employees": [ {} ] }