Time entries
Punches and server-calculated pay buckets.
Fetch punches and server-calculated pay buckets for an employee in a date range.
Important: Do not recalculate pay buckets in your integration. Use
totalsanddynamicPayLinesfrom the API.
GET /api/v1/companies/{companyId}/time-entries?userId={userId}&startDate={yyyy-MM-dd}&endDate={yyyy-MM-dd}
Authorization: Bearer {token}
| Query | Required | Description |
|---|---|---|
userId |
Yes | Employee GUID |
startDate |
Yes | Inclusive start (yyyy-MM-dd) |
endDate |
Yes | Inclusive end (yyyy-MM-dd) |
Roles: employee (own), manager, owner, accountant
Response shape
{
"success": true,
"data": {
"entries": [
{
"id": "…",
"userId": "…",
"startAtUtc": "2026-08-25T08:00:00Z",
"endAtUtc": "2026-08-25T16:30:00Z",
"localCalendarDateYmd": "2026-08-25",
"isDraft": false,
"isLocked": true,
"projectId": "…",
"daytimeMinutes": 480,
"overtimeMinutes": 30,
"nightTimeMinutes": 0,
"weekendMinutes": 0
}
],
"totals": {
"totalMinutes": 510,
"daytimeMinutes": 480,
"overtimeMinutes": 30,
"dynamicPayLines": {
"daytime": 480,
"overtime": 30
}
},
"appliedRuleName": "Standard rule",
"appliedRuleVersionNumber": 3
},
"errors": null
}
Key fields
entries[]
| Field | Description |
|---|---|
startAtUtc / endAtUtc |
Punch interval (UTC). endAtUtc null = open punch |
isDraft |
Draft — excluded from payroll totals |
isLocked |
Locked for payroll |
daytimeMinutes, overtimeMinutes, … |
Per-entry buckets (0 if punch still open) |
totals
| Field | Description |
|---|---|
dynamicPayLines |
Payroll codes → minutes — primary export input |
sickMinutes, vacationMinutes, sickChildMinutes |
Paid absence minutes in period |
totalExcessMinutes |
Overtime cap / UF overflow |
Excluded from public API
appliedRuleDefinitionJsoninternalDynamicPayLineDetails
Not in public API v1
| Endpoint | Reason |
|---|---|
POST …/time-entries/save |
Manual edit — use Punch clock for clock in/out |
| Lock / unlock / approve | Internal payroll workflow |
| PDF/email export | Internal |
Related
- Payroll preview
- Punch clock — create punches from terminals