---
title: "Returns absence account balances. Use parameters like 'employee_id' and 'year' to filter."
method: GET
path: "/employees/absence-accounts/balances"
tags: ["Employee absence account balances"]
---

# Returns absence account balances. Use parameters like 'employee_id' and 'year' to filter.

`GET /employees/absence-accounts/balances`

## Request

- Base URL: `https://api.craftboxx.de`
- URL: `https://api.craftboxx.de/employees/absence-accounts/balances`
- Auth: HTTP bearer

## Query parameters

- `id` integer
- `per_page` integer
- `page` integer
- `order_by` string
- `order_direction` 'asc' | 'desc'
- `return` string
- `group_by` string
- `with` string
- `exclude` integer
- `employee_id` integer
- `year` integer

## Response `200`

Absence account balance list

- union
  - object: Generic paginated response wrapper
    - `data` object[]: Yearly absence account balances per employee and year
      - `id` integer: ID
      - `employee_id` integer: Person
      - `employee` unknown
      - `year` integer: Year
      - `holidays_taken` number, float: Holidays taken that year
      - `holidays_entitlement` number, float: Holiday entitlement
      - `holidays_total_entitlement` number, float: Calculated holiday entitlement
      - `balance` number, float: Balance
      - `first_line` string: First line
      - `created_at` string, date-time: Created
      - `updated_at` string, date-time: Updated
    - `links` object
      - `first` string, nullable
      - `last` string, nullable
      - `prev` string, nullable
      - `next` string, nullable
    - `meta` object
      - `current_page` integer
      - `from` integer, nullable
      - `last_page` integer
      - `links` object[]
        - `url` string, nullable
        - `label` string
        - `active` boolean
      - `path` string
      - `per_page` integer
      - `to` integer, nullable
      - `total` integer
  - AggregateResponse: Returned instead of the paginated list when the "return=" parameter is used.
    - `data` object
      - `count` integer: Response envelope for the "return=" aggregate parameter (see general--return). Exactly one of the properties is present per response, depending on the requested aggregate.
      - `sum` number, nullable
      - `avg` number, nullable
      - `min` unknown
      - `max` unknown
  - GroupedAggregateResponse: Returned instead of the paginated list when the "group_by=" parameter is used. One row per bucket.
    - `data` object[]
      - `count` integer: Response envelope for the "group_by=" parameter (see general--group_by). Each element is one bucket: the grouped column plus the requested aggregate (count by default, or one of sum/min/max/avg via "return=").
      - `sum` number, nullable
      - `avg` number, nullable
      - `min` unknown
      - `max` unknown

## Other responses

- `401`: The request lacks valid authentication credentials.
- `403`: The token is valid but lacks the permission for this action.
- `500`: An unexpected error occurred on the server (e.g. a requested relation does not exist).

## Changes

- **2026-09-03** `60bb67970e41`: 3 info
  - added the optional property `error/display_message` to the response with the `401` status
  - added the optional property `error/display_message` to the response with the `403` status
  - added the optional property `error/display_message` to the response with the `500` status

[Operation history](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation/changes/employees/absence-accounts/balances/get.md)

---

[API](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation.md) - [All operations](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation/revisions/019228f63d6e?raw)
