---
title: "Create Time Punch"
method: POST
path: "/v2/company/{company_id}/time_punches"
tags: ["Time Punches"]
---

# Create Time Punch

`POST /v2/company/{company_id}/time_punches`

## Path parameters

- `company_id` integer, required

## Headers

- `x-api-version` string — An API version
- `x-company-guid` string, uuid

## Request body

- object
  - `location_id` integer, required — Location ID.
  - `department_id` integer — Department ID. Defaults to 0 if not defined. Required if location has departments setup.
  - `user_id` integer, required — The 7shifts ID of the user who is clocking in.
  - `role_id` integer — The ID of the role that the user is clocking in to work for. Defaults to 0 if not defined.
  - `clocked_in` string, date-time, required — The start date and time when the user clocked in. Formatted as ISO8601 datetime in UTC timezone.
  - `clocked_out` string, date-time — The start date and time when the user clocked out. Formatted as ISO8601 datetime in UTC timezone.
  - `notes` string — Additional notes for a shift.
  - `tips` integer, nullable — Tips declared for the shift in cents
  - `breaks` object[]
    - `paid` boolean, required — Specifies whether the break is paid or unpaid. Default true when no existing setting is found.
    - `in` string, date-time, required — The start date and time of the break. Formatted as ISO8601 datetime in UTC timezone.
    - `out` string, date-time — The end date and time of the break. Formatted as ISO8601 datetime in UTC timezone.
    - `custom_break_id` integer, nullable — The custom break id belonging to the break if the break is a custom break.

## Response `201`

Created

- object
  - `object` 'time_punch', required
  - `data` object, required
    - `id` integer, required — Time punch ID
    - `shift_id` integer, required — Shift ID. Can be unassigned
    - `user_id` integer, required — The 7shifts ID of the user who is clocking in.
    - `editable_punch` boolean, required — If true the time punch can be edited by a manager. Set to false via POS integrations
    - `role_id` integer, required — Role ID
    - `company_id` integer, required — Company ID
    - `location_id` integer, required — Location ID
    - `department_id` integer, nullable — Department ID. Defaults to 0 if not defined.
    - `hourly_wage` integer, required — Calculated hourly wage. Use the users_wages endpoint value for accuracy
    - `approved` boolean, required — If true the time punch is approved
    - `clocked_in` string, date-time, required — The start date and time when the user clocked in. Formatted as ISO8601 datetime in UTC timezone.
    - `clocked_out` string, date-time, nullable, required — The start date and time when the user clocked out. Formatted as ISO8601 datetime in UTC timezone.
    - `notes` string, required — Additional notes for a shift
    - `auto_clocked_out` boolean, required — If true the time punch was auto clocked out
    - `clocked_in_offline` boolean, required — If true the time punch was clocked in offline
    - `clocked_out_offline` boolean, required — If true the time punch was clocked out offline
    - `tips` integer, required — Tips declared for the shift in cents
    - `pos_type` string, nullable — The source of the time punch. 7shift apps will be web
    - `breaks` object[]
      - `id` integer, required
      - `user_id` integer, required
      - `custom_break_id` integer, required
      - `paid` boolean, required
      - `in` string, date-time, required
      - `out` string, date-time, nullable, required
    - `created` string, date-time, nullable, required — The date and time when created. Formatted as ISO8601 datetime in UTC timezone.
    - `modified` string, date-time, nullable, required — The date and time when last modified. Formatted as ISO8601 datetime in UTC timezone.
    - `deleted` boolean — If true the time punch is deleted

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `422` — Unprocessable Entity
- `500` — Server Error

---

[API](https://skmtc.net/7shifts/apis/7shifts-api.md) · [All operations](https://skmtc.net/7shifts/apis/7shifts-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/7shifts/7shifts-api/revisions/96a02ef888ab/schema)
