---
title: "Get all budgets"
method: GET
path: "/1.0/budgets"
tags: ["Budgets"]
---

# Get all budgets

`GET /1.0/budgets`

## Request

- Base URL: `https://api.rocketlane.com/api`
- URL: `https://api.rocketlane.com/api/1.0/budgets`
- Auth: API key in header `api-key`
- TypeScript: <https://skmtc.dev/rocketlane/apis/rocketlane-api/docs/1.0/budgets/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `budgetId.eq` string
- `budgetId.oneOf` string
- `budgetId.noneOf` string
- `projectId.eq` string
- `projectId.oneOf` string
- `projectId.noneOf` string
- `status.eq` string
- `status.oneOf` string
- `status.noneOf` string
- `billingType.eq` string
- `billingType.oneOf` string
- `billingType.noneOf` string
- `revenueRecognitionType.eq` string
- `revenueRecognitionType.oneOf` string
- `revenueRecognitionType.noneOf` string
- `budgetAmount.eq` string
- `budgetAmount.gt` string
- `budgetAmount.ge` string
- `budgetAmount.lt` string
- `budgetAmount.le` string
- `budgetHours.eq` string
- `budgetHours.gt` string
- `budgetHours.ge` string
- `budgetHours.lt` string
- `budgetHours.le` string
- `budgetName.eq` string
- `budgetName.cn` string
- `budgetName.nc` string
- `startDate.eq` string, date
- `startDate.gt` string, date
- `startDate.ge` string, date
- `startDate.lt` string, date
- `startDate.le` string, date
- `endDate.eq` string, date
- `endDate.gt` string, date
- `endDate.ge` string, date
- `endDate.lt` string, date
- `endDate.le` string, date
- `createdAt.gt` integer
- `createdAt.eq` integer
- `createdAt.lt` integer
- `createdAt.ge` integer
- `createdAt.le` integer
- `companyId.eq` string
- `companyId.oneOf` string
- `companyId.noneOf` string
- `isDefault.eq` string
- `pageSize` number
- `pageToken` string
- `includeFields` string[]
- `includeAllFields` boolean
- `sortBy` 'createdAt' | 'budgetId' | 'projectId' | 'budgetName' | 'budgetHours' | 'budgetAmount' | 'startDate' | 'endDate'
- `sortOrder` 'ASC' | 'DESC'
- `match` 'all' | 'any'

## Response `200`

The requested action was successfully executed.

- ExampleAPIResponseBudgets
  - `data` BudgetPublicAPIResponseEntity[]: Reflects all the default and custom fields and their values for the object searched, in an array format. If the includeFields param is utilised in the request body, it will return a customised response.
    - `budgetId` integer: Unique identifier of the budget
    - `projectId` integer: Project this budget belongs to
    - `projectName` string: Name of the project containing this budget
    - `budgetName` string: Display name of the budget
    - `startDate` string, date: Budget period start date (_YYYY-MM-DD_)
    - `endDate` string, date: Budget period end date (_YYYY-MM-DD_)
    - `status` BudgetStatusPublicResponse: The budget status value along with the label will be present here.
      - `value` integer: The value of the status field is the unique identifier for status fields.
      - `label` string: The label is the name of the status.
    - `currency` 'AFN' | 'ALL' | 'DZD' | 'ARS' | 'AMD' | 'AUD' | 'AZN' | 'BHD' | 'BDT' | 'BYN' | 'BZD' | 'BOB' | 'BAM' | 'BWP' | 'BRL' | 'GBP' | 'BND' | 'BGN' | 'BIF' | 'KHR' | 'CAD' | 'CVE' | 'XAF' | 'CLP' | 'CNY' | 'COP' | 'KMF' | 'CDF' | 'CRC' | 'HRK' | 'CZK' | 'DKK' | 'DJF' | 'DOP' | 'EGP' | 'ERN' | 'EEK' | 'ETB' | 'EUR' | 'GEL' | 'GHS' | 'GTQ' | 'GNF' | 'HNL' | 'HKD' | 'HUF' | 'ISK' | 'INR' | 'IDR' | 'IRR' | 'IQD' | 'ILS' | 'JMD' | 'JPY' | 'JOD' | 'KZT' | 'KES' | 'KWD' | 'LVL' | 'LBP' | 'LYD' | 'LTL' | 'MOP' | 'MKD' | 'MGA' | 'MYR' | 'MUR' | 'MXN' | 'MDL' | 'MAD' | 'MZN' | 'MMK' | 'NAD' | 'NPR' | 'TWD' | 'NZD' | 'NIO' | 'NGN' | 'NOK' | 'OMR' | 'PKR' | 'PAB' | 'PYG' | 'PEN' | 'PHP' | 'PLN' | 'QAR' | 'RON' | 'RUB' | 'RWF' | 'SAR' | 'RSD' | 'SGD' | 'SOS' | 'ZAR' | 'KRW' | 'LKR' | 'SDG' | 'SEK' | 'CHF' | 'SYP' | 'TZS' | 'THB' | 'TOP' | 'TTD' | 'TND' | 'TRY' | 'USD' | 'UGX' | 'UAH' | 'AED' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'XOF' | 'YER' | 'ZMK' | 'ZWL': Currency code for budget amounts
    - `billingType` 'FIXED_FEE' | 'TIME_AND_MATERIAL' | 'SUBSCRIPTION' | 'NON_BILLABLE': Financial contract type for the budget (e.g. TIME_AND_MATERIAL, FIXED_FEE)
    - `revenueRecognitionType` string: Revenue recognition type configured for the budget. For custom revenue recognition, this is `CUSTOM_REVENUE_RECOGNITION` and `customRevenueRecognitionConfigId` identifies the config.
    - `customRevenueRecognitionConfigId` integer: Unique identifier of the custom revenue recognition configuration associated with this budget. Present when `revenueRecognitionType` is `CUSTOM_REVENUE_RECOGNITION`.
    - `budgetAmount` number: Total budgeted amount for the budget
    - `budgetHours` number, double: Budgeted hours for this budget, returned as a decimal with up to two decimal places. The fractional part represents minutes (e.g. `1.65` = 1 hour 39 minutes). Internally, budget time is stored as whole minutes; this value is derived as `minutes ÷ 60`, rounded to two decimal places. For tracked, allocated, and remaining time, see the whole-minute fields under `budgetFinancialsMetrics`.
    - `timeAndMaterialContract` BudgetTimeAndMaterialFinancialsPublicResponse: Financial aspects of the Time & Material contract type for this budget and its associated fields.
      - `rateCard` ProjectRateCardPublicResponse: Rate cards allow you to standardise bill rates to be charged depending on the roles of the project's resources. If the rate card chosen does not include the bill rates for the project's currency, then the project will not have a rate card set.
        - `rateCardId` integer: The `rateCardId` is the unique identifier of the rate card
        - `rateCardName` string: The `rateCardName` is the name of the rate card
    - `subscriptionContract` SubscriptionFinancialsPublicResponse: Financial aspects of the Subscription contract type for this budget and its associated fields.
      - `subscriptionFrequency` 'MONTHLY' | 'QUARTERLY' | 'YEARLY' | 'HALF_YEARLY': Refers to the interval at which a subscription renews or takes place, such as on a monthly, quarterly, or yearly basis.
      - `subscriptionStartDate` string: The subscription start date is the date when the subscription interval begins. The format for the subscription start date is YYYY-MM-DD.
      - `periodMinutes` integer: Period minutes refer to the budgeted minutes for each subscription period.
      - `periodBudget` number, double: Period budget represents the fixed budget of every subscription period.
      - `noOfPeriods` integer: Represents the number of periods in a subscription.
    - `budgetFinancialsMetrics` BudgetFinancialsMetrics: The metrics used to evaluate and assess the financial aspects of this budget.
      - `actualRevenue` number: The revenue recognized for this budget. For a time and material budget, `Actual Revenue = Sum of all (Tracked time * Bill rates for the roles)`. For a fixed fee budget, this is the recognised revenue for the budget.
      - `estimatedRevenue` number: The potential revenue for this budget based on your resource allocation plan.
      - `actualRevenueInAccountCurrency` number: Actual revenue for this budget in the account currency.
      - `estimatedRevenueInAccountCurrency` number: Estimated revenue for this budget in the account currency.
      - `actualTimeCost` number: Actual time cost incurred for this budget.
      - `estimatedTimeCost` number: Estimated time cost for this budget based on allocation.
      - `actualTimeCostInAccountCurrency` number: Actual time cost for this budget in account currency.
      - `estimatedTimeCostInAccountCurrency` number: Estimated time cost for this budget in account currency.
      - `actualExpenseCost` number: Actual expense cost incurred for this budget.
      - `estimatedExpenseCost` number: Estimated expense cost for this budget.
      - `actualExpenseCostInAccountCurrency` number: Actual expense cost for this budget in account currency.
      - `estimatedExpenseCostInAccountCurrency` number: Estimated expense cost for this budget in account currency.
      - `actualCost` number: The actual cost incurred on this budget. `Actual Cost = Sum of all (Tracked time * Cost rates for the team members)`.
      - `estimatedCost` number: The potential cost for this budget based on your resource allocation plan. `Estimated Cost = Sum of all (Allocated time * Cost rates for the team members)`.
      - `actualCostInAccountCurrency` number: Actual total cost for this budget in account currency.
      - `estimatedCostInAccountCurrency` number: Estimated total cost for this budget in account currency.
      - `trackedMinutes` number: Tracked minutes logged against this budget.
      - `remainingMinutes` number: Remaining minutes in this budget based on allocations and tracking.
      - `allocatedMinutes` number: Allocated minutes planned for this budget.
      - `billableAllocatedMinutes` number: Allocated billable minutes planned for this budget.
      - `nonBillableAllocatedMinutes` number: Allocated non-billable minutes planned for this budget.
      - `billableTrackedMinutes` number: Tracked billable minutes against this budget.
      - `nonBillableTrackedMinutes` number: Tracked non-billable minutes against this budget.
      - `actualProfit` number: The actual profit for this budget. `Profit = Revenue - Cost`.
      - `estimatedProfit` number: The potential profit for this budget. `Estimated Profit = Estimated Revenue - Estimated Cost`.
      - `actualProfitInAccountCurrency` number: Actual profit for this budget in account currency.
      - `estimatedProfitInAccountCurrency` number: Estimated profit for this budget in account currency.
      - `actualProfitMargin` number: The actual profit margin for this budget. Tracking the margin helps you monitor profitability for the budget. `Margin (%) = Profit / Revenue * 100`.
      - `estimatedProfitMargin` number: The potential margin for this budget. `Estimated Profit Margin (%) = Estimated Profit / Estimated Revenue * 100`.
      - `actualProfitMarginInAccountCurrency` number: Actual profit margin for this budget in account currency.
      - `estimatedProfitMarginInAccountCurrency` number: Estimated profit margin for this budget in account currency.
      - `percentageBudgetedHoursConsumed` number: Percentage of budgeted hours consumed for this budget.
      - `percentageBudgetConsumed` number: Percentage of budget amount consumed for this budget.
      - `estimateAtCompletion` number: EAC (Estimate at Completion) predicts the total number of hours that would be consumed when this budget is complete.
      - `estimationToCompletionInHours` number: ETC (Estimate to Complete) is the number of hours required to complete work under this budget based on the resource allocation plan.
    - `manualRevenueRecognitionConfigs` BudgetManualRevenueRecognitionConfigPublicAPIResponseEntity[]: Manual revenue recognition configurations for this budget.
      - `manualRevenueRecognitionConfigId` integer: Unique identifier of this manual revenue recognition configuration.
      - `recognitionDate` string, date: Recognition date for this manual revenue recognition configuration.
      - `recognisedRevenue` number, double: Revenue amount recognized by this manual revenue recognition configuration.
      - `recognisedPercentage` number, double: Revenue percentage recognized by this manual revenue recognition configuration.
    - `milestoneRevenueRecognitionConfigs` BudgetMilestoneRevenueRecognitionConfigPublicAPIResponseEntity[]: Milestone-based revenue recognition configurations for this budget.
      - `milestoneRevenueRecognitionConfigId` integer: Unique identifier of this milestone revenue recognition configuration.
      - `sourceType` 'TASK' | 'TASK': Milestone source type for this revenue recognition configuration.
      - `sourceId` integer: Milestone source id for this revenue recognition configuration.
      - `recognisedRevenue` number, double: Revenue amount recognized by this milestone revenue recognition configuration.
      - `recognisedPercentage` number, double: Revenue percentage recognized by this milestone revenue recognition configuration.
    - `createdAt` integer: Timestamp when the budget was created
    - `updatedAt` integer: Timestamp when the budget was last updated
    - `createdBy` ProjectVendorUserPublicAPI: The team member who last updated the budget
      - `emailId` string: The team members email identifier.
      - `userId` integer: The unique identifier for the user.
      - `firstName` string: The first name of the user.
      - `lastName` string: The last name of the user.
    - `updatedBy` ProjectVendorUserPublicAPI: The team member who last updated the budget
      - `emailId` string: The team members email identifier.
      - `userId` integer: The unique identifier for the user.
      - `firstName` string: The first name of the user.
      - `lastName` string: The last name of the user.
    - `fields` BudgetFieldPublicResponseEntity[]: Custom fields on the budget
      - `fieldId` integer: The unique identifier for the field.
      - `fieldLabel` string: The label of the field.
      - `fieldValue` object: The `fieldValue` is the value provided while creation or updating. The fieldValue can be a string, an integer, or an array and it must match the type of the field. Refer [examples](https://developer.rocketlane.com/v1.0/docs/custom-fields#examples-of-requests-and-responses-for-assigning-custom-field-values) to know how each `field_type` is associated with task.
      - `fieldValueLabel` string: The `fieldValueLabel` is the value provided while creation or updating in a String format.
    - `isDefault` boolean: Whether this is the default budget for the project
  - `pagination` ExamplePaginationBudgets: Responses that return multiple objects will be paginated. The pagination params define how pages are structured and how to traverse through pages.
    - `pageSize` integer: Denotes the page size mentioned in the current request (limit). It defaults to 100 if left blank.
    - `hasMore` boolean: Tells us if there is more content.
    - `totalRecordCount` integer: Denotes the total resources matching the filters.
    - `nextPage` string: Denotes an API URL, which can be conveniently called to perform the subsequent search call to get to the next page.
    - `nextPageToken` string: Denotes a unique token that points to the next page of resources. To get results from subsequent pages, you can use the nextPageToken available in the response under pagination. This token is valid for 15 minutes.

## Other responses

- `400`: This error typically happens when the request payload contains an error. If you want to make sure that the request's parameters are named correctly and are the right data types, you can examine the request's syntax.
- `401`: You see this error when trying to access this resource without being authenticated. Check the API request header to make sure it is not empty and has a valid api-key that you acquired from the Rocketlane API Settings tab.

## Changes

- **2026-11-03** `a002a499e6fc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rocketlane/apis/rocketlane-api/changes/1.0/budgets/get.md)

---

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