---
title: "Create Timesheet Clock-Out Entry"
method: POST
path: "/api/v1/time_tracking/employees/{employeeId}/clock_out"
tags: ["Time Tracking", "Public API"]
---

# Create Timesheet Clock-Out Entry

`POST /api/v1/time_tracking/employees/{employeeId}/clock_out`

## Request

- Base URL: `https://companySubDomain.bamboohr.com`
- URL: `https://companySubDomain.bamboohr.com/api/v1/time_tracking/employees/{employeeId}/clock_out`
- Auth: one of:
  - HTTP basic
  - OAuth 2
    - Authorization code: `/authorize.php`
    - Token URL: `/token.php` scopes: `time_tracking.write`
- TypeScript: <https://skmtc.dev/bamboohr/apis/bamboohr-api/docs/api/v1/time_tracking/employees/:employeeId/clock_out/post.ts> (a function with typed inputs; its response is checked against the schema)

Clocks out a currently clocked-in employee at the current server time. To record a historical clock-out, provide a `date`, `end` (HH:MM, 24-hour format), and `timezone`.

OAuth Scopes: time_tracking.write

## Path parameters

- `employeeId` integer, required

## Request body

- ClockOutRequestSchema: Schema for clock out request body
  - `date` string, date: Date for the timesheet entry. Must be in YYYY-MM-DD format.
  - `end` string: The time for the clock out. In 24 hour format HH:MM
  - `timezone` string: The timezone associated with the clock out.

## Response `200`

The employee was successfully clocked out. Returns the completed clock entry details.

- TimesheetEntryInfoApiTransformer
  - `id` integer: Timesheet entry ID
  - `employeeId` integer: Employee ID
  - `type` string: Entry type
  - `date` string, date: Date of the timesheet
  - `start` string, date-time, nullable: Start time
  - `end` string, date-time, nullable: End time
  - `timezone` string, nullable: Timezone
  - `hours` number, float, nullable: Hours worked
  - `note` string, nullable: Note
  - `projectInfo` ProjectInfoApiTransformer: Project information data representation
    - `project` object: Project information
      - `id` integer: Project ID
      - `name` string: Project name
    - `task` object, nullable: Task information
      - `id` integer: Task ID
      - `name` string: Task name
  - `breakInfo` object, nullable: Break information
    - `id` integer: Break ID
    - `name` string: Break name

## Other responses

- `400`: Bad request parameters - invalid date, time, or timezone.
- `401`: Unauthorized. Invalid API credentials.
- `403`: Forbidden. Insufficient user permissions or API access is not turned on.
- `404`: Employee not found, or the clock entry has already been removed.
- `409`: The employee is not currently clocked in (already clocked out), or a timesheet type conflict.
- `412`: Precondition failed - invalid company configuration, invalid timezone, no open clock entries, or employee is not configured for time tracking.
- `500`: Server error.

---

[API](https://skmtc.dev/bamboohr/apis/bamboohr-api.md) - [All operations](https://skmtc.dev/bamboohr/apis/bamboohr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bamboohr/apis/bamboohr-api/revisions/922fc15f43a7?raw)
