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

# Fetch attendance entries

`POST /attendance/entries/search`

## Request

- Base URL: `https://api.hibob.com/v1`
- URL: `https://api.hibob.com/v1/attendance/entries/search`
- Auth: one of:
  - HTTP basic
  - HTTP bearer

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.dev/hibob/apis/attendance-api.md) - [All operations](https://skmtc.dev/hibob/apis/attendance-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hibob/apis/attendance-api/revisions/5415173dcf0d?raw)
