---
title: "Get a time off ledger entry by ID"
method: GET
path: "/v1/org/{orgId}/timeoff-ledger/{entryId}"
tags: ["Time off ledger"]
---

# Get a time off ledger entry by ID

`GET /v1/org/{orgId}/timeoff-ledger/{entryId}`

## Path parameters

- `orgId` string, required
- `entryId` string, required

## Response `200`

successful operation

- TimeOffLedgerEntry — Time off ledger entry
  - `id` string, required — Globally unique id of this ledger entry
  - `orgId` string, required — org that the time off belongs to
  - `personId` string, required — person taking the time off
  - `timeOffPolicyId` string — Time off policy to which this entry pertains.
  - `entryType` 'EXPIRATION' | 'BALANCE_RESET' | 'CARRYOVER' | 'UPFRONT_BALANCE' | 'ACCRUAL' | 'ADJUSTMENT' | 'TIME_OFF', required — Ledger entry type
  - `externalId` string — external identifier, if this entry exists in an external system
  - `fromDate` string, date — For time off, from date of time off, inclusive
  - `fromDatePartialDay` number — For time off, portion of the from date to take
  - `fromDatePartialDayPeriod` 'AM' | 'PM' — Portion of the from day requested (e.g. AM or PM)
  - `untilDate` string, date — For time off, until date of time off, exclusive
  - `endDatePartialDay` number — For time off, portion of the end date (day before the until date) to take
  - `endDatePartialDayPeriod` 'AM' | 'PM' — Portion of the end day requested (e.g. AM or PM)
  - `date` string, date, required — date on which this entry appears in the ledger
  - `days` number — Change to the balance made by this ledger entry. This value is always nonnegative; it is interpreted in the context of entryAction.
  - `hours` number — For time off, number of hours taken
  - `entryAction` 'SET' | 'MIN' | 'EXPIRE' | 'CARRYOVER' | 'ADD' | 'ADD_CLAMP' | 'SUBTRACT', required — Action this entry takes on the balance.
  - `typeDescription` string — type of time off
  - `note` string — notes on the time off
  - `approval` 'APPROVED' | 'PENDING' | 'CANCELLED' | 'REJECTED' | 'SUPERSEDED' — approval status of the time off
  - `approvalAt` string — timestamp of approval
  - `approvalUserId` string — user who either is the next one requesting approval, or the user who did the final approval or rejection
  - `createId` string — created by user id
  - `createBehalfId` string — created on behalf of user id
  - `createAttribution` Attribution
    - `principalUserId` string
    - `agentUserIds` string[]
    - `eventId` string
    - `aiChatId` string
    - `aiToolUseId` string
    - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `createAt` string — created timestamp
  - `deleteId` string — deleted by user id
  - `deleteBehalfId` string — deleted on behalf of user id
  - `deleteAttribution` Attribution
    - `principalUserId` string
    - `agentUserIds` string[]
    - `eventId` string
    - `aiChatId` string
    - `aiToolUseId` string
    - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `deleteAt` string — deleted timestamp
  - `requestAt` string — requested at timestamp -- often the same as createAt
  - `carryOverBalance` CarryOverBalanceEntry[] — Carry over balance after this ledger entry. Already included in balance.
    - `balance` number, required
    - `fromDate` string, date
    - `expireDate` string, date
  - `balance` number — Balance after this ledger entry.
  - `changeFromPrevious` number — Balance change from previous entry.

---

[API](https://skmtc.net/charthop/apis/charthop-api.md) · [All operations](https://skmtc.net/charthop/apis/charthop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/charthop/charthop-api/revisions/50a1edd6b27e/schema)
