---
title: "Update a budget pool"
method: PATCH
path: "/v1/org/{orgId}/budget-pool/{id}"
tags: ["budget-pool"]
---

# Update a budget pool

`PATCH /v1/org/{orgId}/budget-pool/{id}`

## Path parameters

- `orgId` string, required
- `id` string, required

## Request body

- UpdateBudgetPool
  - `label` string — unique label
  - `participantsExpr` string — expression that determines if a particular job is included in this budget pool
  - `appliedField` string — the field this budget pool applies to
  - `sourceField` string — the field this budget pool is calculated from
  - `basisType` 'CUSTOM' | 'FIXED' | 'CUSTOM_FIXED' | 'PERCENTAGE' | 'CUSTOM_PERCENTAGE' — the method for calculating the amount in the budget
  - `fixedAmount` Money
    - `amount` number, required
    - `currency` string, required
    - `places` integer
  - `fixedValue` number — a fixed amount for the budget (used with basisType=FIXED || basisType=PERCENTAGE)
  - `basisFieldMatrix` BasisFieldMatrix
    - `includedFields` string[], required
    - `conditions` BasisCondition[], required
      - `conditionExpr` string, required
      - `amountRange` MoneyRange
        - `max` Money
          - `amount` number, required
          - `currency` string, required
          - `places` integer
        - `min` Money
          - `amount` number, required
          - `currency` string, required
          - `places` integer
        - `target` Money
          - `amount` number, required
          - `currency` string, required
          - `places` integer
      - `valueRange` ValueRange
        - `max` number — the maximum value in the range (type = BigDecimal)
        - `min` number — the minimum value in the range (type = BigDecimal)
        - `target` number — the target value for the range (type = BigDecimal)
  - `fixedBudgetMap` object — a map of reviewer job IDs to fixed budget money amounts
  - `basisExpr` string — expression that calculates how much each job contributes to the budget (used with basisType=CUSTOM)
  - `defaultCurrency` string — Default currency used when calculating budget pool, falls back to org primary currency if not set
  - `visibilityType` 'DEFAULT' | 'ROLE_SELECTION' | 'SPECIFIC_PEOPLE' | 'CUSTOM_CQL' — Controls who can view this budget
  - `visibilityExpr` string — CQL expression evaluated on the user to determine visibility (used with visibilityType=CUSTOM_CQL)
  - `visibilityPersonIds` string[] — Set of person IDs who can view this budget (used with visibilityType=SPECIFIC_PEOPLE)
  - `visibilityRoles` InCycleViewFeatures
    - `isFinalApprover` boolean, required
    - `isProposer` boolean, required
    - `isApprover` boolean, required
    - `isOwner` boolean, required
    - `isCollaborator` boolean, required
    - `isRoot` boolean
  - `sort` integer — sort order for sequential budget allocation priority
  - `used` BudgetUsedConfig
    - `expr` string, required — CQL expression evaluated against each change row to compute the amount consumed against the budget
    - `unit` 'MONEY' | 'DECIMAL', required — Type the expression result is coerced to

## Other responses

- `400` — bad request
- `401` — not authorized
- `404` — not found

---

[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/2de21f45f447/schema)
