API

Pay periods & preview

Pay periods and payroll export preview without sending files.

Pay periods

GET /api/v1/companies/{companyId}/pay-periods
Authorization: Bearer {token}

Roles: employee, manager, owner, accountant

{
  "success": true,
  "data": [
    {
      "id": "…",
      "name": "Monthly",
      "startDay": 1
    }
  ],
  "errors": null
}

Single period

GET /api/v1/companies/{companyId}/pay-periods/{payPeriodId}

Current period

GET /api/v1/companies/{companyId}/payroll/current-period

Roles: owner, accountant


Payroll export preview

Calculates export lines without sending data to Payday, DK, Regla, or Business Central.

POST /api/v1/companies/{companyId}/payroll/export/preview
Authorization: Bearer {token}
Content-Type: application/json

Roles: owner, accountant

Request

{
  "startDate": "2026-08-01",
  "endDate": "2026-08-31",
  "exportTarget": "Payday",
  "employeeIds": null
}
Field Required Description
startDate, endDate Yes yyyy-MM-dd
exportTarget Yes "Payday", "DkPlus", "Regla", "BusinessCentral", …
employeeIds No GUID array — null = all active

Response

{
  "success": true,
  "data": {
    "totalEmployees": 42,
    "lines": [
      {
        "employeeId": "…",
        "employeeDisplayName": "Jane Doe",
        "payrollCode": "001",
        "minutes": 9600
      }
    ],
    "issues": [],
    "hasUnmappedKeys": false,
    "hasBlockingErrors": false
  },
  "errors": null
}

Important

Available in v1 Not in v1
Preview lines POST …/export/payday, dkplus, etc.
Read pay periods Change pay period settings
Validation issues Store integration secrets via API

Customers trigger actual export from Curio Time → Settings → Payroll integrations.