---
title: "Add organization time off balance adjustments"
method: POST
path: "/v2/organizations/{organization_id}/time_off_balances"
tags: ["time_off_balances"]
---

# Add organization time off balance adjustments

`POST /v2/organizations/{organization_id}/time_off_balances`

## Request

- Base URL: `https://api.hubstaff.com`
- URL: `https://api.hubstaff.com/v2/organizations/{organization_id}/time_off_balances`
- Auth: OAuth 2
  - Authorization code: `https://account.hubstaff.com/authorizations/new`
  - Token URL: `https://account.hubstaff.com/access_tokens` scopes: `hubstaff:read`, `hubstaff:write`
- TypeScript: <https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/docs/v2/organizations/:organization_id/time_off_balances/post.ts> (a function with typed inputs; its response is checked against the schema)

Applies manual balance adjustments for the given organization.

Each entry in balance_adjustments specifies a policy, a list of users, an amount (in seconds),
and whether to add to or replace the current balance.

If a user is not yet assigned to the specified policy, they are auto-assigned before the adjustment.

## Path parameters

- `organization_id` integer, required

## Request body

- PostV2OrganizationsOrganizationIdTimeOffBalances: Add organization time off balance adjustments
  - `reason` string, required: Reason for adjustment
  - `apply_accruals` boolean: Apply annual accrual to newly assigned users
  - `balance_adjustments` object[], required
    - `time_off_policy_id` integer, required: Time off policy ID
    - `user_ids` integer[], required: User IDs to adjust
    - `amount` integer, required: Amount in seconds
    - `modify_balance` 'add' | 'replace', required: Whether to add to or replace the current balance

## Response `201`

Success

- object
  - `time_off_balance` TimeOffBalance: TimeOffBalance model
    - `user_id` integer, required: User ID
    - `time_off_policy_id` integer, required: Time off policy ID
    - `policy_name` string, required: Time off policy name
    - `amount` integer, required: Balance amount in seconds

## Other responses

- `400`: Invalid parameters
- `401`: Unauthorized
- `403`: API access is only for organizations on an active plan
- `404`: Could not find record
- `429`: Rate limit exceeded

## Changes

- **2026-11-06** `c6b90e4e4bdc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/changes/v2/organizations/:organization_id/time_off_balances/post.md)

---

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