---
title: "Get Employee Punch Details"
method: GET
path: "/apiHub/time/v2/companies/{companyId}/employees/{employeeId}/punchDetails"
tags: ["Employee Punch Details"]
---

# Get Employee Punch Details

`GET /apiHub/time/v2/companies/{companyId}/employees/{employeeId}/punchDetails`

## Request

- Base URL: `dc1demogwext.paylocity.com` (relative, and the document’s source URL is not known)
- URL: `dc1demogwext.paylocity.com/apiHub/time/v2/companies/{companyId}/employees/{employeeId}/punchDetails`
- Auth: HTTP bearer

**Summary Description**

The GET Punch Detail V2 endpoint provides access to detailed punch information for a single employee. It returns all associated punch data, including work and non-work time entries, to support analysis and time-record management. Punch Detail V2 uses four-decimal precision for timesheets that track time in hours rather than seconds. For example, 7.2567 hours. Users can filter Punch Detail V2 results by relative date and time, using the time zone associated with your request.

```
Filtering by Date Range
The Punch Detail API can be filtered by the relative date and time based on your time zone. For example:
Start of the day: At 00:00:00 (midnight), marking the beginning of the day.
Midday: At 12:00:00 (noon), halfway through the day.
End of the day: At 23:59:59, just a second before the next day begins.
```

A 24 hour day is represented by using:

relativeStart={{relativeStartTime}}&relativeEnd={{relativeEndTime}}

"relativeStart": "2024-03-05T00:00:00"

"relativeEnd": "2024-03-05T23:59:00"

`/Time/v2/companies/{{companyId}}/employees/{{employeeId}}/punchdetails?relativeStart={{relativeStartTime}}&relativeEnd={{relativeEndTime}}`

For more information on implementing this API, see our [Punch Details Overview](https://developer.paylocity.com/integrations/reference/punch-detail-overview)

**Use Cases**
- Retrieve a single employee's punch records for a selected timeframe.
- Use four-decimal-place hour values from work and non-work punches.
- Retrieve punch activity so managers can identify missing or irregular punches before approving timecards.

## Path parameters

- `companyId` string, required
- `employeeId` string, required

## Query parameters

- `relativeStart` string, date-time, required
- `relativeEnd` string, date-time, required
- `testFlag` boolean

## Headers

- `Authorization` string, required

## Response `200`

Success

- PunchDetailRecordV2Model[]
  - `employeeId` string, nullable: The Paylocity Employee ID. This is a unique value per Paylocity Company ID.
  - `companyId` string, nullable: The Paylocity Company ID. This is the unique value provided by Paylocity to each specific Payroll Entity.
  - `badgeNumber` integer: The Time and Labor badge number
  - `relativeStart` string, date-time, nullable: The relative DateTime for the beginning of the WorkedShift
  - `relativeEnd` string, date-time, nullable: The relative DateTime for the end of the WorkedShift
  - `segments` WorkedShiftsSegmentV2Model[], nullable: Breakdown of the worked shift's durations by time card entry. The entire span of time from beginning of worked shift to end of worked shift is represented in this breakdown.
    - `punchID` string, uuid, nullable: A unique identifier assigned to each punch or time entry, ensuring that each entry is distinct, traceable, and easily referenced for tracking purposes.
    - `origin` string, nullable: The associated origin of the time entry.
    - `date` string, date: Date the worked shift segment took place. In the case of over night shifts, this is the date these worked hours apply to in payroll and can play a role in some overtime calculations.
    - `punchType` string, nullable: The type of punch recorded indicating whether it was recorded for categories such as work, lunch break etc
    - `relativeStart` string, date-time, nullable: Relative DateTime of the beginning of this segment after payroll policy rules are applied. Null if the segment began with a missed punch.
    - `relativeEnd` string, date-time, nullable: Relative DateTime of the end of this segment after payroll policy rules are applied. Null if the segment ended with a missed punch.
    - `relativeOriginalStart` string, date-time, nullable: Relative DateTimeOffset of the beginning of this segment before payroll policy rules are applied. Null if the segment began with a missed punch.
    - `relativeOriginalEnd` string, date-time, nullable: Relative DateTime of the end of this segment before payroll policy rules are applied. Null if the segment ended with a missed punch.
    - `durationHours` number, double, nullable: The total hours worked by the employee for a particular punch or time entry, reflecting the duration of their work.
    - `earnings` number, double: This field's use in the Paylocity product suite has been deprecated and will be removed in future versions of the API. It will always return 0.
    - `costCenters` CostCenterDto[], nullable: List of cost centers, at most one per cost center level, that this segment of the worked shift is allocated to.
      - `id` string, uuid: unique Guid
      - `costCenterId` integer: Cost center id
      - `level` integer: Cost center level
      - `code` string, nullable: Cost center code
      - `name` string, nullable: Cost center name
      - `isActive` boolean: The boolean value indicates whether the cost center is active or not.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `429`: Too Many Requests
- `500`: Server Error

---

[API](https://skmtc.dev/paylocity/apis/punch-detail-api.md) - [All operations](https://skmtc.dev/paylocity/apis/punch-detail-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paylocity/apis/punch-detail-api/revisions/7f0a1490bb93?raw)
