---
title: "Get a specific budget pool"
method: GET
path: "/v1/org/{orgId}/budget-pool/{id}"
tags: ["budget-pool"]
---

# Get a specific budget pool

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

## Path parameters

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

## Response `200`

successful operation

- BudgetPool
  - `id` string, required — globally unique id
  - `orgId` string, required — parent organization id (empty if built-in)
  - `compReviewId` string, required — the ID of the comp review this budget is for
  - `label` string, required — unique label
  - `participantsExpr` string — expression that determines if a particular job is included in this budget pool
  - `appliedField` string, required — the field this budget pool applies to
  - `sourceField` string, required — the field this budget pool is calculated from
  - `basisType` 'CUSTOM' | 'FIXED' | 'CUSTOM_FIXED' | 'PERCENTAGE' | 'CUSTOM_PERCENTAGE', required — 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
  - `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
  - `updateId` string — last updated by user id
  - `updateBehalfId` string — last updated on behalf of user id
  - `updateAttribution` Attribution
    - `principalUserId` string
    - `agentUserIds` string[]
    - `eventId` string
    - `aiChatId` string
    - `aiToolUseId` string
    - `channel` 'WEB' | 'MOBILE' | 'SLACK' | 'TEAMS' | 'MCP'
  - `updateAt` string — last updated 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

## 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)
