List timesheet entries

List worked hours from the Timesheet tab.

GET https://cotlet.dev/api/v1/shiftbase/timesheet-entries

read

Returns each entry with employee, date, start, end, breaks, hours and status, oldest first. It reads the same list as the Timesheet tab with the same filters. Entries of departments your role cannot open are not returned.

Parameters

Parameters: list_timesheet_entries
NameTypeDescription
from string required string First day, YYYY-MM-DD.
to string required string Last day, YYYY-MM-DD.
status string string One of pending, approved, declined.
department_id string string Only this department.
conflicts_only boolean boolean Only entries Shiftbase flags as conflicts.

Request

cURL
curl "https://cotlet.dev/api/v1/shiftbase/timesheet-entries?from=from&to=to" \
  -H "Authorization: Bearer $COTLET_API_KEY"
Python
result = client.call("shiftbase", "list_timesheet_entries", {"from":"from","to":"to"})
Node.js
const result = await cotlet.call('shiftbase', 'list_timesheet_entries', {"from":"from","to":"to"});
CLI
cotlet call shiftbase list_timesheet_entries --data '{"from":"from","to":"to"}'

Example response

JSON

{
  "entries": [
    {
      "id": "40118",
      "employee": "Lena Ortiz",
      "date": "2026-10-14",
      "start": "09:00",
      "end": "17:00",
      "unpaid_break_min": 30,
      "hours": 7.5,
      "status": "pending",
      "conflict": false
    },
    {
      "id": "40122",
      "employee": "Sam Okafor",
      "date": "2026-10-18",
      "start": "08:00",
      "end": "19:00",
      "unpaid_break_min": 30,
      "hours": 10.5,
      "status": "pending",
      "conflict": true
    }
  ]
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.