Approve timesheet
Approve a submitted timesheet so its hours count for payroll.
POST https://cotlet.dev/api/v1/hubstaff/timesheets/{timesheet_id}/approve
Approves one timesheet. When the period still has pending manual time requests, Hubstaff would deny them; set confirm_pending_manual_time_request_denial only if you want that. Pending time off requests in the period need acknowledge_pending_time_off_requests. Approving before the pay period ends stops the member from tracking more time in it. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| timesheet_id integer required | integer | Timesheet ID from list_timesheets. |
| confirm_pending_manual_time_request_denial boolean | boolean | true to approve although pending manual time requests will be denied. Default: false. |
| acknowledge_pending_time_off_requests boolean | boolean | true to approve although time off requests are pending in the period. Default: false. |
Request
curl -X POST https://cotlet.dev/api/v1/hubstaff/timesheets/8841201/approve \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("hubstaff", "approve_timesheet", {"timesheet_id":8841201}) const result = await cotlet.call('hubstaff', 'approve_timesheet', {"timesheet_id":8841201}); cotlet call hubstaff approve_timesheet --data '{"timesheet_id":8841201}' Example response
{
"timesheet_id": 8841201,
"user_id": 3011,
"status": "approved",
"tracked": 144000,
"approved_on": "2026-10-13"
}