---
updatedAt: 2026-04-28T12:10:35.000Z
---

Fetch the complete documentation index at: https://apidocs.hibob.com/llms.txt. Use this file to discover all available pages before exploring further.

# Fetch attendance entries

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>


# OpenAPI definition

```json
{
  "openapi": "3.1.1",
  "info": {
    "title": "Attendance API",
    "contact": {
      "name": "Hi Bob, Inc."
    },
    "description": "Public API for importing attendance entries and managing attendance projects, tasks, and clients. Supports detailed field metadata and flexible filtering.",
    "license": {
      "name": "Proprietary",
      "url": "https://apidocs.hibob.com/docs/api-terms-of-use"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.hibob.com/v1",
      "description": "Production"
    },
    {
      "url": "https://api.sandbox.hibob.com/v1",
      "description": "Sandbox"
    }
  ],
  "x-readme": {
    "metrics-enabled": false
  },
  "tags": [
    {
      "name": "Attendance",
      "description": "Access attendance entries"
    }
  ],
  "paths": {
    "/attendance/entries/search": {
      "post": {
        "operationId": "post_attendance-entries-search",
        "tags": [
          "Attendance"
        ],
        "summary": "Fetch attendance entries",
        "description": "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. \n<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>\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntrySearchRequest"
              },
              "examples": {
                "searchEntriesWithDateRange": {
                  "summary": "Search entries by employee and date range",
                  "description": "Request all standard entry fields for one employee within a date range, with limit 100 and no human-readable values.",
                  "value": {
                    "fields": [
                      "/attendanceEntry/id",
                      "/attendanceEntry/employeeId",
                      "/attendanceEntry/clockInDate",
                      "/attendanceEntry/clockOutDate",
                      "/attendanceEntry/type",
                      "/attendanceEntry/clockInTime",
                      "/attendanceEntry/clockOutTime",
                      "/attendanceEntry/duration",
                      "/attendanceEntry/reasonCode",
                      "/attendanceEntry/notes",
                      "/attendanceEntry/projectId",
                      "/attendanceEntry/taskId"
                    ],
                    "filters": [
                      {
                        "fieldId": "/attendanceEntry/employeeId",
                        "operator": "equals",
                        "values": [
                          "3308236575481004065"
                        ]
                      },
                      {
                        "fieldId": "/attendanceEntry/clockInDate",
                        "operator": "from",
                        "values": [
                          "2026-01-01"
                        ]
                      },
                      {
                        "fieldId": "/attendanceEntry/clockInDate",
                        "operator": "to",
                        "values": [
                          "2026-01-30"
                        ]
                      }
                    ],
                    "limit": 100,
                    "includeHumanReadable": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Attendance entries matching the search criteria",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntrySearchResponse"
                }
              }
            }
          },
          "400": {
            "description": "The request is malformed or includes invalid parameters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed. Check your service user credentials",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "The service user or token is missing the required permissions to access the requested data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Feature not enabled for this company",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate limit exceeded - see <a href=\"https://apidocs.hibob.com/reference/attendance#rate-limiting\" target=\"_blank\">Rate limits</a>",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "An unexpected error occurred. Try again or contact support if the issue persists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "basic": []
          },
          {
            "Bearer": []
          }
        ],
        "x-internal": false
      }
    }
  },
  "components": {
    "securitySchemes": {
      "basic": {
        "type": "http",
        "scheme": "basic",
        "description": "Basic HTTP authentication using service user credentials"
      },
      "Bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "OAuth 2.0",
        "description": "OAuth 2.0 authentication using an Access Token is available for registered partners only.  Try It! does not support the full HiBob OAuth flow. You can follow <a href=\"https://apidocs.hibob.com/reference/oauth-20#testing-from-the-public-api-reference\" target=\"_blank\">these steps</a> to complete the OAuth 2.0 flow in Postman and then paste the token here."
      }
    },
    "schemas": {
      "ApiErrorResponse": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Error key identifier"
          },
          "error": {
            "type": "string",
            "description": "Human-readable error message"
          },
          "args": {
            "type": "array",
            "description": "Optional error arguments providing additional context",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EntrySearchRequest": {
        "type": "object",
        "description": "Request schema for searching attendance entries",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "/attendanceEntry/id",
                "/attendanceEntry/employeeId",
                "/attendanceEntry/clockInDate",
                "/attendanceEntry/type",
                "/attendanceEntry/clockInTime",
                "/attendanceEntry/clockOutDate",
                "/attendanceEntry/clockOutTime",
                "/attendanceEntry/duration",
                "/attendanceEntry/reasonCode",
                "/attendanceEntry/notes",
                "/attendanceEntry/projectId",
                "/attendanceEntry/taskId"
              ]
            },
            "description": "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/.",
            "default": [
              "/attendanceEntry/id",
              "/attendanceEntry/employeeId",
              "/attendanceEntry/clockInDate",
              "/attendanceEntry/clockOutDate",
              "/attendanceEntry/type",
              "/attendanceEntry/clockInTime",
              "/attendanceEntry/clockOutTime",
              "/attendanceEntry/duration",
              "/attendanceEntry/reasonCode",
              "/attendanceEntry/notes",
              "/attendanceEntry/projectId",
              "/attendanceEntry/taskId"
            ],
            "example": [
              "/attendanceEntry/id",
              "/attendanceEntry/employeeId",
              "/attendanceEntry/clockInDate",
              "/attendanceEntry/clockOutDate",
              "/attendanceEntry/type",
              "/attendanceEntry/clockInTime",
              "/attendanceEntry/clockOutTime",
              "/attendanceEntry/duration",
              "/attendanceEntry/reasonCode",
              "/attendanceEntry/notes",
              "/attendanceEntry/projectId",
              "/attendanceEntry/taskId"
            ]
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fieldId": {
                  "type": "string",
                  "enum": [
                    "/attendanceEntry/employeeId",
                    "/attendanceEntry/clockInDate"
                  ],
                  "description": "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": {
                  "type": "string",
                  "enum": [
                    "equals",
                    "from",
                    "to"
                  ]
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "fieldId",
                "operator",
                "values"
              ]
            },
            "description": "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).",
            "default": [
              {
                "fieldId": "/attendanceEntry/employeeId",
                "operator": "equals",
                "values": [
                  "3308236575481004065"
                ]
              },
              {
                "fieldId": "/attendanceEntry/clockInDate",
                "operator": "from",
                "values": [
                  "2026-01-01"
                ]
              },
              {
                "fieldId": "/attendanceEntry/clockInDate",
                "operator": "to",
                "values": [
                  "2026-01-30"
                ]
              }
            ],
            "example": [
              {
                "fieldId": "/attendanceEntry/employeeId",
                "operator": "equals",
                "values": [
                  "3308236575481004065"
                ]
              },
              {
                "fieldId": "/attendanceEntry/clockInDate",
                "operator": "from",
                "values": [
                  "2026-01-01"
                ]
              },
              {
                "fieldId": "/attendanceEntry/clockInDate",
                "operator": "to",
                "values": [
                  "2026-01-30"
                ]
              }
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50,
            "description": "Maximum number of items per page. Default 50."
          },
          "cursor": {
            "type": "string",
            "description": "Opaque cursor for the next page. Use value from response_metadata.next_cursor. Omit on first request."
          },
          "includeHumanReadable": {
            "type": "boolean",
            "default": false,
            "description": "Whether to include human-readable values in the response"
          }
        },
        "required": [
          "fields",
          "filters"
        ]
      },
      "EntrySearchResponseObject": {
        "type": "object",
        "properties": {
          "objectType": {
            "type": "string",
            "enum": [
              "attendanceEntry"
            ],
            "description": "Type of the object"
          },
          "fields": {
            "type": "object",
            "description": "Attendance entry fields. Only fields requested in the search are included. Keys use /attendanceEntry/ prefix.",
            "properties": {
              "/attendanceEntry/id": {
                "type": "object",
                "description": "Entry ID",
                "properties": {
                  "value": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              },
              "/attendanceEntry/employeeId": {
                "type": "object",
                "description": "Employee ID",
                "properties": {
                  "value": {
                    "type": "string"
                  }
                }
              },
              "/attendanceEntry/clockInDate": {
                "type": "object",
                "description": "Date of the entry (ISO date)",
                "properties": {
                  "value": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "/attendanceEntry/type": {
                "type": "object",
                "description": "Entry type (work or break)",
                "properties": {
                  "value": {
                    "type": "string",
                    "enum": [
                      "work",
                      "break"
                    ]
                  }
                }
              },
              "/attendanceEntry/clockInTime": {
                "type": "object",
                "description": "Clock-in timestamp (string in date-time format, e.g. ISO 8601).",
                "properties": {
                  "value": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Timestamp as string in date-time format.",
                    "example": "2026-01-26T09:00:00"
                  }
                }
              },
              "/attendanceEntry/clockOutDate": {
                "type": "object",
                "description": "Clock-out date (ISO date)",
                "properties": {
                  "value": {
                    "type": "string",
                    "format": "date"
                  }
                }
              },
              "/attendanceEntry/clockOutTime": {
                "type": "object",
                "description": "Clock-out timestamp (string in date-time format, e.g. ISO 8601).",
                "properties": {
                  "value": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Timestamp as string in date-time format.",
                    "example": "2026-01-26T17:30:00"
                  }
                }
              },
              "/attendanceEntry/duration": {
                "type": "object",
                "description": "Duration in minutes (duration-based reporting)",
                "properties": {
                  "value": {
                    "type": "integer"
                  }
                }
              },
              "/attendanceEntry/reasonCode": {
                "type": "object",
                "description": "String ID of the reason code for the entry, from the company's \"Time Log Entry Reason\" list (timeLogEntryReason)",
                "properties": {
                  "value": {
                    "type": "string"
                  }
                }
              },
              "/attendanceEntry/notes": {
                "type": "object",
                "description": "Comment or notes",
                "properties": {
                  "value": {
                    "type": "string"
                  }
                }
              },
              "/attendanceEntry/projectId": {
                "type": "object",
                "description": "Project ID when tracking by project",
                "properties": {
                  "value": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              },
              "/attendanceEntry/taskId": {
                "type": "object",
                "description": "Task ID when tracking by task",
                "properties": {
                  "value": {
                    "type": "integer",
                    "format": "int64"
                  }
                }
              }
            }
          }
        }
      },
      "EntrySearchResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntrySearchResponseObject"
            },
            "description": "Attendance entries matching the search criteria"
          },
          "response_metadata": {
            "type": "object",
            "properties": {
              "next_cursor": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Opaque cursor for the next page. Provide in the next request cursor parameter. When null, there are no more pages."
              }
            }
          }
        }
      }
    }
  }
}
```