# Get budget phase Retrieve a specific budget phase Endpoint: GET /projects/{projectId}/budget/phases/{phaseId} Version: 1.0.0 Security: ApiKeyAuth ## Path parameters: - `projectId` (string, required) Project identifier (alias or ID) Example: "nike-spring-2024" - `phaseId` (string, required) Phase identifier (alias or ID) Example: "estimate" ## Query parameters: - `idMode` (string) ID interpretation mode. Controls how path and query parameter IDs (like lineId, accountId, phaseId) are interpreted - 'user' for human-readable IDs (account codes, phase names), 'system' for database IDs (UUIDs/nanoids). Also affects the format of IDs in responses. Enum: "user", "system" ## Response 200 fields (application/json): - `type` (string, required) Phase type Enum: "estimate", "actual", "rollup", "committed" - `id` (string, required) Phase system identifier Example: "phase-001" - `alias` (string, required) User-friendly phase alias Example: "estimate" - `name` (string,null) Phase display name Example: "Initial Estimate" - `isHidden` (boolean, required) Whether phase is hidden from view - `isLocked` (boolean, required) Whether phase is locked from editing - `currency` (object,null) Currency configuration (for estimate phases) - `currency.code` (string,null) ISO 4217 currency code Example: "USD" - `currency.symbol` (string,null) Currency symbol Example: "$" - `currency.exchangeRate` (number,null) Exchange rate multiplier Example: 1 - `operation` (string) Rollup operation (for rollup phases) Enum: "sum", "difference" - `phaseIds` (array) Phase IDs to aggregate (for rollup phases) Example: ["estimate","actual"] ## Response 401 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR" ## Response 404 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR" ## Response 500 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR"