PKCE mandatory from 2026-09-14 Details
Employment Hero LogoEmployment Hero

Leave Balance

This endpoint retrieves a paginated list of leave balances for a specific employee within an organisation.

Note: This endpoint is only available for organisations using HR Leave with Leave Balance data. Payroll-connected organisations are not yet supported.

GET
https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/:employee_id/leave_balances

Path Parameters

organisation_iduuidrequired

The ID of the organisation to retrieve

employee_iduuidrequired

The ID of the employee whose leave balances to retrieve

Query Parameters

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100

Response Body

A hash with a data property that contains an array of up to the limit of leave balances. Each entry in the array is a separate leave balance object. If there are no more leave balances, the resulting array will be empty.

dataobject
itemsobject[]
iduuid

Unique identifier for the leave balance.

leave_category_iduuid

The ID of the associated leave category.

leave_category_namestring

The name of the associated leave category (e.g. "Annual Leave").

unit_typestring

The unit type for this leave balance (e.g. days, hours).

accrued_amountnumber

The total accrued leave amount for this category.

approved_leavenumber

The total amount of approved leave taken against this balance.

pending_leavenumber

The total amount of pending (not yet approved) leave requests.

available_balancenumber

The available leave balance, calculated as the accrued amount minus approved leave.

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100
total_itemsnumber

Total items

total_pagesnumber

Total pages

Example

curl -X GET \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/:employee_id/leave_balances" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"

Response

{  "data": {    "items": [      {        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",        "leave_category_id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",        "leave_category_name": "Annual Leave",        "unit_type": "days",        "accrued_amount": 20,        "approved_leave": 5,        "pending_leave": 2,        "available_balance": 15      }    ],    "page_index": 1,    "item_per_page": 20,    "total_items": 1,    "total_pages": 1  }}

This endpoint updates the accrued amount of a specific leave balance for an employee.

Note: This endpoint is only available for organisations using HR Leave with Leave Balance data. Payroll-connected organisations are not supported.

PUT
https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/:employee_id/leave_balances/:id

Path Parameters

organisation_iduuidrequired

The ID of the organisation

employee_iduuidrequired

The ID of the employee whose leave balance to update

iduuidrequired

The ID of the leave balance to update

Request Body

accrued_amountnumberrequired

The new accrued leave balance amount to set.

reasonstringrequired

The reason for this adjustment (used for audit trail).

Response Body

Returns the updated leave balance object with the new accrued amount.

dataobject
iduuid

Unique identifier for the leave balance.

leave_category_iduuid

The ID of the associated leave category.

leave_category_namestring

The name of the associated leave category (e.g. "Annual Leave").

unit_typestring

The unit type for this leave balance (e.g. days, hours).

accrued_amountnumber

The total accrued leave amount for this category.

approved_leavenumber

The total amount of approved leave taken against this balance.

pending_leavenumber

The total amount of pending (not yet approved) leave requests.

available_balancenumber

The available leave balance, calculated as the accrued amount minus approved leave.

Example

curl -X PUT \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/:employee_id/leave_balances/:id" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \  -H "Content-Type: application/json" \  -d '{    "accrued_amount": 22.5,    "reason": "Manual adjustment approved by HR"  }'

Response

{  "data": {    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",    "leave_category_id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",    "leave_category_name": "Annual Leave",    "unit_type": "days",    "accrued_amount": 20,    "approved_leave": 5,    "pending_leave": 2,    "available_balance": 15  }}