---
title: "Attendance > Shift > Clock ins"
method: POST
path: "Webhooks > Attendance > Shift > Clock ins"
tags: ["Webhooks"]
---

# Attendance > Shift > Clock ins

`POST Webhooks > Attendance > Shift > Clock ins` (webhook)

Subscription_type: `attendance/shift/clock_in`

## Payload

- 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: The business day this shift is attributed to; can differ from `date` for overnight shifts that cross midnight
  - `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': Which half of the day the shift covers when it is a half-day — `beginning_of_day` or `end_of_day`; null for full-day shifts
  - `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: Whether the shift counts as worked (workable) time rather than a break
  - `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

## Acknowledgement `200`

Return a 200 status to indicate that the data was received successfully

---

[API](https://skmtc.dev/factorialhr/apis/factorial-api.md) - [All operations](https://skmtc.dev/factorialhr/apis/factorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/factorialhr/apis/factorial-api/revisions/83ac9aa1de50?raw)
