---
title: "Create Time Off History Item"
method: PUT
path: "/api/v1/employees/{employeeId}/time_off/history"
tags: ["Time Off", "Public API"]
---

# Create Time Off History Item

`PUT /api/v1/employees/{employeeId}/time_off/history`

## Request

- Base URL: `https://companySubDomain.bamboohr.com`
- URL: `https://companySubDomain.bamboohr.com/api/v1/employees/{employeeId}/time_off/history`
- Auth: one of:
  - HTTP basic
  - OAuth 2
    - Authorization code: `/authorize.php`
    - Token URL: `/token.php` scopes: `time_off.write`
- TypeScript: <https://skmtc.dev/bamboohr/apis/bamboohr-api/docs/api/v1/employees/:employeeId/time_off/history/put.ts> (a function with typed inputs; its response is checked against the schema)

Creates a time off history item for an employee. For `used` type entries, a `timeOffRequestId` referencing an approved request is required. For `override` (balance adjustment) entries via the /history path, provide the `amount` and `timeOffTypeId` directly. The `eventType` defaults based on the URI path when omitted.

OAuth Scopes: time_off.write

## Path parameters

- `employeeId` integer, required

## Request body

- TimeOffHistory
  - `date` string, date, required: The date for the history item in YYYY-MM-DD format.
  - `eventType` 'used' | 'override': The type of history event. Defaults to `used` for the /history path and `override` for the /balance_adjustment path when omitted.
  - `timeOffRequestId` integer: The ID of an approved time off request. Required when eventType is `used`.
  - `timeOffTypeId` integer: The ID of the time off type. Required when eventType is `override`.
  - `amount` number: The number of hours/days to record. Required when eventType is `override`.
  - `note` string: An optional note to show in history.

## Response `201`

The history item has been created.

## Other responses

- `400`: Empty or malformed JSON/XML, an invalid date format, an invalid event type, an invalid time off request, an invalid time off type, or an invalid override amount.
- `401`: Unauthorized. Invalid API credentials.
- `403`: Invalid permissions to perform this action.
- `404`: Employee not found.
- `409`: The time off request already has a history item.
- `503`: Service unavailable due to a database error.

---

[API](https://skmtc.dev/bamboohr/apis/bamboohr-api.md) - [All operations](https://skmtc.dev/bamboohr/apis/bamboohr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bamboohr/apis/bamboohr-api/revisions/922fc15f43a7?raw)
