---
title: "Fetch attendance entries"
method: POST
path: "/attendance/entries/search"
tags: ["Attendance"]
---

# Fetch attendance entries

`POST /attendance/entries/search`

Fetch attendance entries (time log entries) with filters and pagination. Only fields listed in the <code>fields</code> parameter are returned. You must provide an <code>employeeId</code> filter and at least one <code>clockInDate</code> filter (using <code>from</code> and <code>to</code> operators). The maximum date range is 33 days. 
<p><b>Before using this endpoint:</b></p> <ul> <li>Explore the <a href="/docs/explore-attendance-api" target="_blank">Attendance API</a> for more details on usage, rate limits, permissions, and more.</li> <li>Field IDs are prefixed with <code>/attendanceEntry/</code> (e.g. <code>/attendanceEntry/id</code>, <code>/attendanceEntry/employeeId</code>).</li> <li>Use <code>limit</code> and <code>cursor</code> for pagination; next page cursor is in <code>response_metadata.next_cursor</code>.</li> </ul>

## Request body

- EntrySearchRequest — Request schema for searching attendance entries
  - `fields` string[], required — List of field IDs to fetch; only these fields are returned. You must specify which field IDs to include (e.g. /attendanceEntry/id, /attendanceEntry/clockInTime). Omit a field ID to exclude it from the response. Field IDs are prefixed with /attendanceEntry/.
  - `filters` object[], required — Filters to apply. You must include an employeeId filter and at least one clockInDate filter (from/to). This filters entries by date: the date is taken from the clock-in timestamp (start-end) or clock-in date (duration).
    - `fieldId` '/attendanceEntry/employeeId' | '/attendanceEntry/clockInDate', required — You must include filters for both <code>/attendanceEntry/employeeId</code> (equals) and <code>/attendanceEntry/clockInDate</code> (use from/to for a date range). Entries are filtered by date: for start-end entries the date is the date part of the clockInTime timestamp; for duration entries the date is clockInDate.
    - `operator` 'equals' | 'from' | 'to', required
    - `values` string[], required
  - `limit` integer — Maximum number of items per page. Default 50.
  - `cursor` string — Opaque cursor for the next page. Use value from response_metadata.next_cursor. Omit on first request.
  - `includeHumanReadable` boolean — Whether to include human-readable values in the response

## Response `200`

Attendance entries matching the search criteria

- EntrySearchResponse
  - `items` EntrySearchResponseObject[] — Attendance entries matching the search criteria
    - `objectType` 'attendanceEntry' — Type of the object
    - `fields` object — Attendance entry fields. Only fields requested in the search are included. Keys use /attendanceEntry/ prefix.
      - `/attendanceEntry/id` object — Entry ID
        - `value` integer
      - `/attendanceEntry/employeeId` object — Employee ID
        - `value` string
      - `/attendanceEntry/clockInDate` object — Date of the entry (ISO date)
        - `value` string, date
      - `/attendanceEntry/type` object — Entry type (work or break)
        - `value` 'work' | 'break'
      - `/attendanceEntry/clockInTime` object — Clock-in timestamp (string in date-time format, e.g. ISO 8601).
        - `value` string, date-time — Timestamp as string in date-time format.
      - `/attendanceEntry/clockOutDate` object — Clock-out date (ISO date)
        - `value` string, date
      - `/attendanceEntry/clockOutTime` object — Clock-out timestamp (string in date-time format, e.g. ISO 8601).
        - `value` string, date-time — Timestamp as string in date-time format.
      - `/attendanceEntry/duration` object — Duration in minutes (duration-based reporting)
        - `value` integer
      - `/attendanceEntry/reasonCode` object — String ID of the reason code for the entry, from the company's "Time Log Entry Reason" list (timeLogEntryReason)
        - `value` string
      - `/attendanceEntry/notes` object — Comment or notes
        - `value` string
      - `/attendanceEntry/projectId` object — Project ID when tracking by project
        - `value` integer
      - `/attendanceEntry/taskId` object — Task ID when tracking by task
        - `value` integer
  - `response_metadata` object
    - `next_cursor` string, nullable — Opaque cursor for the next page. Provide in the next request cursor parameter. When null, there are no more pages.

## Other responses

- `400` — The request is malformed or includes invalid parameters
- `401` — Authentication failed. Check your service user credentials
- `403` — The service user or token is missing the required permissions to access the requested data
- `404` — Feature not enabled for this company
- `429` — Rate limit exceeded - see <a href="https://apidocs.hibob.com/reference/attendance#rate-limiting" target="_blank">Rate limits</a>
- `500` — An unexpected error occurred. Try again or contact support if the issue persists.

---

[API](https://skmtc.net/hibob/apis/employee-data-api.md) · [All operations](https://skmtc.net/hibob/apis/employee-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hibob/employee-data-api/versions/0781ebbdda91/schema)
