---
title: "Clocks in a shift"
method: POST
path: "/api/2026-07-01/resources/attendance/shifts/clock_in"
tags: ["Attendance > Shift"]
---

# Clocks in a shift

`POST /api/2026-07-01/resources/attendance/shifts/clock_in`

Records the start of a shift by setting the current time as the clock-in. The shift remains open and will not have a clock-out time until explicitly updated. If you need to clock out directly, consider using or subscribing to the [clock-out endpoint](https://apidoc.factorialhr.com/v2025-01-01/reference/post_api-2025-01-01-resources-attendance-shifts-clock-out)

## Request body

- object
  - `employee_id` string — Employee identifier
  - `now` string, required — Clock in time
  - `latitude` number — Latitude from where user clocked in
  - `longitude` number — Longitude from where user clocked in
  - `accuracy` number — Location identifier
  - `observations` string — Notes on the shift record
  - `location_type` 'office' | 'business_trip' | 'work_from_home' — Place where user has clocked in
  - `workplace_id` string — Location identifier
  - `time_settings_break_configuration_id` string — Break configuration identifier
  - `project_worker_id` string — Project worker identifier
  - `subproject_id` string — Subproject identifier

## Response `200`

OK

- AttendanceShift
  - `id` string, required — Unique identifier for the shift
  - `employee_id` string, required — Identifier for the employee assigned to the shift
  - `date` string, required — Date of the shift
  - `reference_date` string, required — Reference date for the shift
  - `clock_in` string — Time when the employee clocked in
  - `clock_out` string — Time when the employee clocked out
  - `in_source` string — Source of the clock-in time
  - `out_source` string — Source of the clock-out time
  - `observations` string — Additional observations about the shift
  - `location_type` 'office' | 'business_trip' | 'work_from_home' — Type of location for the shift
  - `half_day` 'beginning_of_day' | 'end_of_day' — Indicates which worked part of the day
  - `in_location_latitude` number — Latitude of the clock-in location
  - `in_location_longitude` number — Longitude of the clock-in location
  - `in_location_accuracy` number — Accuracy of the clock-in location
  - `out_location_latitude` number — Latitude of the clock-out location
  - `out_location_longitude` number — Longitude of the clock-out location
  - `out_location_accuracy` number — Accuracy of the clock-out location
  - `workable` boolean — Indicates if the shift is workable
  - `created_at` string, required — Timestamp when the shift record was created
  - `workplace_id` string — Identifier for the location
  - `time_settings_break_configuration_id` string — Identifier for the break configuration
  - `company_id` string, required — Identifier for the company
  - `updated_at` string, required — Timestamp when the shift record was updated
  - `minutes` integer, required — Number in minutes of the shift
  - `clock_in_with_seconds` string — Clock in time with seconds

---

[API](https://skmtc.net/factorialhr/apis/factorial-api.md) · [All operations](https://skmtc.net/factorialhr/apis/factorial-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/factorialhr/factorial-api/revisions/1a6bffb20f7d/schema)
