# Employee Clock Out Endpoint: POST /companies/{companyId}/timecards/employees/{timecardId}/clock_out Version: 1.0 ## Path parameters: - `companyId` (string, required) - `timecardId` (string, required) ## Request fields (application/json): - `note` (string,null) ## Response 200 fields (application/json): - `id` (string) - `employeeId` (string) - `workplaceId` (string) - `status` (string) Enum: "InProgress", "Pending", "Approved", "Denied" - `clockInNote` (string,null) - `clockOutNote` (string,null) - `clockIn` (string,null) - `clockOut` (string,null) - `breaks` (array,null) - `breaks.acceptedStatus` (boolean) - `breaks.type` (string) Enum: "PaidMealBreak", "UnpaidMealBreak", "PaidRestBreak", "UnpaidRestBreak" - `breaks.breakStartNote` (string,null) - `breaks.breakEndNote` (string,null) - `breaks.breakStart` (string,null) - `breaks.breakEnd` (string,null) - `breaks.changes` (array,null) - `breaks.changes.originalAcceptedStatus` (boolean) - `breaks.changes.newAcceptedStatus` (boolean) - `breaks.changes.originalType` (string) Enum: "PaidMealBreak", "UnpaidMealBreak", "PaidRestBreak", "UnpaidRestBreak" - `breaks.changes.newType` (string) Enum: "PaidMealBreak", "UnpaidMealBreak", "PaidRestBreak", "UnpaidRestBreak" - `breaks.changes.originalBreakStart` (string,null) - `breaks.changes.newBreakStart` (string,null) - `breaks.changes.originalBreakEnd` (string,null) - `breaks.changes.newBreakEnd` (string,null) - `breaks.changes.modifiedById` (string,null) - `breaks.changes.modifiedByName` (string,null) - `breaks.changes.modifiedByEmail` (string,null) - `breaks.changes.modifiedByPhone` (string,null) - `breaks.changes.modifiedReason` (string,null) - `breaks.changes.modifiedAt` (string)