---
title: "List Time Punches"
method: GET
path: "/v2/company/{company_id}/time_punches"
tags: ["Time Punches"]
---

# List Time Punches

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

## Path parameters

- `company_id` integer, required

## Query parameters

- `location_id` integer
- `department_id` integer
- `role_id` integer
- `user_id` integer
- `approved` boolean, nullable
- `limit` integer
- `modified_since` string, date-time
- `clocked_in[lte]` string, date-time
- `clocked_in[gte]` string, date-time
- `clocked_out[lte]` string, date-time
- `clocked_out[gte]` string, date-time
- `include_deleted` boolean
- `deleted` boolean, nullable
- `localize_search_time` boolean
- `flags` string[], nullable
- `employee_approval_statuses` string[], nullable
- `cursor` string
- `sort_by` string
- `business_date_start` string
- `business_date_end` string

## Headers

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

## Response `200`

OK

- object
  - `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
  - `meta` object, required
    - `cursor` object, required
      - `current` string, nullable, required — The current cursor.
      - `prev` string, nullable, required — A cursor for navigating to the previous page.
      - `next` string, nullable, required — A cursor for navigating to the next page.
      - `count` integer, nullable, required — The total items in the current cursor.
  - `object` 'time_punches', required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `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)
